Modelling Guide for City Furniture

What you will need

  • A copy of a 3D Modelling Software. For the purpose of this tutorial, I've used 3D Studio Max
  • A Raster Graphics package. For the purpose of this tutorial, I've used Photoshop. Free tools such as GIMP are available here.
  • The ColladaMax plugin
  • The NVIDIA DDS Plugin
  • Photographic References


This tutorial details the technical specifications for creating City Furniture for Twinity. As Twinity is "powered by real life", you should use photographic references to place furniture that you would also find in the corresponding real city.

Refer to the Downloads section for sample furniture files.

Modelling Specifications

The figure below shows the 3 pieces of geometry that you will need to create for each piece of city furniture, together with naming conventions.

  • Level of Detail 1The bench on the left is the fully detailed model, and has the most geometry- 536 triangles in this example. In world, the LOD1 model is visible from a distance of 50m from the avatar.
    Name this object LOD1
  • Level of Detail 2:The bench in the middle is the polygon reduced version. The poly-count is less than 50% of original mesh (262 triangles in this example). In world, the LOD2 model is visible from a distance of 51m - 150m from the avatar. LOD2 textures do not contain Alpha Channels.
    Name this object LOD2
  • Collision mesh:The collision mesh covers the boundaries of the object. In world, the avatar 'collides' with the collision mesh when walking upto the object. The triangle count should be less than 50 triangles, for simple objects it can be as simple as a box. This mesh does not require texturing.
    Name this object collision_phm

Limit detail of city furniture items to a maximum of 800 triangles. Consider that city furniture items will be repeated throughout the city.

Texturing Specifications

Please follow the following texturing rules for optimal performance and download speed:
  • Limit total texture space to 512x512 pixels. Save textures in the DDS format.
  • You should try to use only one diffuse texture. Combine multiple textures into one texture-atlas if possible.
  • Use tileable textures wherever possible to save valuable texture space.
  • Please avoid displaying any trademarks in your textures. Remember that we try to use city furniture generically.
  • For optimal performance, try to avoid textures with alpha channels. If possible use one-bit alpha (DDS files saved in DXT1 format).

Save your textures in the same directory as your 3DSMax scene files for simplicity.

Preparing Models for Export

Before exporting your model you need to make sure the pivot point is correct and all objects are named correctly. You can also add seat points and light points.
  • Objects: Ensure the only object in the scene are LOD1, LOD2, collision_phm and the dummy objects.
  • Pivot Point: Remember to place the pivot of your model correctly. For single objects (such as the bench) the pivot should be centred and at z=0. Replicable city furniture elements (like fence parts) should have the pivot at one corner of the model and at z=0.
  • NOTE: The pivot point for LOD1, LOD2 and collision_phm should be the same.

  • When creating a bench, place seat points at both ends to allow avatars to take a seat. Place Dummy Helpers , and follow the naming convention _seat_(number). You can also have a look at the attached example for more details on seat points.
  • Light-points can also be attached: just add a dummy with the name “_light_01” to your scene. Have a look at the sample street lamp for reference.

    NOTE: Dummy helpers can be created from the Create>Helpers tab.

Export and Submission

  • Export your model in Collada format and email us the exported file (as well as the textures), at citybuilding (at)
  • Add some description about your model, including information where it should be placed inside our Twinity cities

Some useful Hints

  • Save polygons in hard to reach regions, like the top of a lantern, or under a bench, and instead invest more work and triangles in areas that are closer to-, or likely to receive more attention from users, such as the base of the lantern, or areas of immediate interaction, such as the opening in a trash can or the upper side of a park bench.
  • Model your street furniture in a direction as if the street would be located in negative Y direction. See below.

  • Think modular: Take the example fence: one fence element, one fence_door and one fence_end element are enough to receive a complete fence construction, which can be applied to different public areas. Take a walk through Virtual London or the Virtual Berlin for comparison and ideas.