To create Shared Assets for your library
The "Shared_Assets" folder of a content library contains all the individual model items that are referenced as styles, such as 3D model styles and material styles.
Set up Level of Detail (LOD)
Setting up levels of detail for your content library allows InfraWorks to display meshes and textures in varying levels of resolution depending upon the distance from your view position to the object. This adaptive behavior can only be achieved by providing multiple representations for textures and shape.
Therefore, each material and texture in your content library must have multiple versions of itself at different levels of detail. To make this work properly, please follow the following naming convention:
- The highest LOD for a material or texture file can have whatever name you'd like.
For example, let's say you have a 3D model of a building in FBX format, named "Teahouse.FBX".
- For the other levels of detail, start with the next highest level of detail, and in descending order, add numerical paths to your file names.
For example, let's say the next level of detail, most likely the medium resolution version of your 3D model, must be named "Teahouse.1.fbx". After that, the lowest level of detail version of this 3D model would need to be named "Teahouse.2.fbx".
Note: Store all LOD versions of a material or texture in the same subfolder as the highest resolution version of the file.
Checklist for Textures:
- Texture Size: Textures must have power of 2 texture sizes.
- Texture File Size: Textures must not be bigger than 4MB per file. Think of both pixel resolution and image size.
- Texture Technique/Pattern: Textures must not have obvious repetitive patterns. We recommend to use Multi-scale Texture technique for material styles.
- Texture Count: Check if you have a lot of tiny textures for one mesh. Instead try to use a texture atlas. Your graphics card will thank you later if you do so (smile)
- Dependencies: Check if any of your used textures comes from another library, e.g., Autodesk Material Library. If so, you will create a dependency between your content library and the other libraries, potentially causing missing textures if the depending libraries are not installed by default. Try to create a self-contained library instead by adding all required textures to it, and avoid those dependencies.
Checklist for Shapes:
- LOD: Shapes must provide at least 2 more variants in lower resolution. See tutorial on how to create it for trees: To create adaptive trees
- LOD size: Each LOD variant must not have more than 500.000 vertices.
- Vertex Count: Try to avoid too many round corners, as they need a lot of polygons. Only use it in the highest LOD variant.
- Texture Paths: Make sure you do use relative texture paths, otherwise textures might be missing. Note to also double-check texture names - you might adjust texture names, but forgot to update mesh geometry links to these textures. Then the mesh will miss these textures later.
- Shared Textures: Check if you have used the same texture more than once for different shapes. If so, you can share the texture among these: Make sure this texture always has the exact same name.
- Duplicated Vertices: Check if your shape contains vertices twice, i.e., some face overlap. This could cause visual "flickering" artifacts and is not good for performance either. Try to remove them.
- Text and Font graphics: Make sure you use textures to add text, please do not model text using vertices and triangles - this can cause massive performance issues later.
- Back-faces: Make sure each shape has setup proper front faces and normals. If you need faces to be visible from front and back, make sure to add both front and back face. However, if you only need it to be visible from 1 side, e.g., terrain materials, having only front faces will save performance.
- Shaders: Try to use standard lighting parameters (Phong Shading). To achieve nice lighting in InfraWorks, we recommend to check specular light configuration, to avoid any "overshiny-ness" or too bright materials, and using normal maps for fine tuning.
Additional Checklists:
- Road Lane Markings: Avoid using 3D shapes to display custom lane markings - this will decrease performance. Try using 2D shapes, i.e., quads, and add them slightly above the road surface.