The ByMe platform stores Geometry and Material assets at different Levels of Detail:
- LOD 0 = High quality,
- LOD 1 = Medium quality,
- LOD 2 = High efficiency.
Which LOD is used in which context depends on each ByMe Application, the general guidelines being:
- LOD 1 is used is the web planner, which enables "real-time" navigation in the scene,
- High Quality renders are built with a mix of LOD 0 and LOD 1 depending on object size in the scene,
- LOD 2 is planned for future use on severely limited devices.
Why LODs ?
LODs are required to achieve the delicate balance between image quality and experience smoothness in different contexts, the most stringent being "real time" navigation of the user in complex, multi-object scenes on low-end devices.
These constraints might be perceived as detrimental to the visual quality of the 3D objects, especially for those professionals who are experts in virtual shooting or single-object scenes. Indeed everyone would like to enjoy high-poly 3D.
These constraints are designed to provide a compelling experience within the bounds of common consumer devices' performance on large scenes, and will be revised. As technology evolves, we will evolve the LOD processing in the future and potentially reprocess your assets with renewed algorithms and criteria.
For a given Product, the assets corresponding to each of the 3 LODs can be provided to the ByMe platform in 3DCloud or through the ByMe API.
If, for a given Product, less than 3 assets are provided (ie. some LODs left empty), the following rules apply:
- If no asset is provided at all at either LOD, the Product becomes a non-3D object.
- for LOD 0, the ByMe platform selects:
- the asset provided as LOD 0,
- if empty, the asset provided as LOD1,
- if empty, the asset provided as LOD2.
- for LOD 1, the ByMe platform selects:
- the asset provided as LOD 1,
- if empty, the asset provided as LOD 0,
- if empty, the asset provided as LOD 2.
- for LOD 2, the ByMe platform selects:
- the asset provided as LOD 2,
- if empty, the asset provided as LOD 1,
- if empty, the asset provided as LOD 0.
Before storing an asset for a given LOD, the ByMe platform checks the selected asset against the thresholds for this LOD.
|Triangles in BM3||Textures embedded in BM3||BM3Mat Textures|
|LOD 0||T0 = 1.4M triangles||unlimited||unlimited|
|LOD 1||T1 (see below)||12 maps, 1MB total||1024x1024 maps|
|LOD 2||T2 (see below)||12 maps, 128kB total||256 x 256 maps|
LOD 1 maximum triangles formula
D being the largest dimension of the object bounding box in centimeters,
T1 is the maximum triangles count:
- If 0 < D <= 90 : T1 = 8000 triangles
- If 90 < D <= 230 : T1 = [0.1691 x (D²) - 24.405 x D + 8855.5] triangles
- If 230 < D <= 600 : T1 = [45.435 x D + 1738.9] triangles
- If 600 > D : T1 = 29000 triangles
Example : the LOD 1 model of a 200cm large sofa should be provided with less than 10739 triangles, or it will be automatically simplified.
LOD 2 maximum triangles formula
T2 = T1 / 2
Texture and Geometry Simplification
If the asset exceeds one of the thresholds, the asset is automatically simplified.
|BM3||Triangle count||Ordinary node||Geometry decimation, Texture aggregation||All ordinary nodes are regrouped into a single optimized node with a single material (built as a texture atlas). The resulting texture and triangle size is a function of object size and detail density, and can reach 50k (LOD 1) / 25k (LOD 2) triangles at most.|
|BM3||Triangle count||Transparency node, Light Source node, Publication Material node||Geometry decimation, Texture compression||All these nodes are simplified to bring their number of triangles down to the threshold. Maps larger than 1024px (LOD 1) / 256px (LOD 2) are reduced to 1024px (resp. 256px)|
|BM3||Map Count||Exceeds 12||Texture aggregation||Under thresholds|
|BM3Mat||Total size||Exceeds 1MB (LOD 1) / 128kB (LOD 2)||Texture compression||All maps dimensions divided by 2, repeated until < 1MB / 128kB|
Our recommendation for best results is to provide input textures below the thresholds in order to avoid automatic simplification.
Automatic geometry simplification is done through mesh decimation and textures adjustment. It is obviously convenient but has several drawbacks:
- Some simplifications may appear sub-optimal visually,
- This processing induces a delay before the Range Manager can experiment with the model,
- The resulting model is not suitable for Smart Scaling (see corresponding section for details), because of potential edge positions shifting, as well as UVs being transformed into texture atlases prevents them from proper looping.
Hence our recommendation for best results is to provide input models below the threshold in order to avoid automatic simplification.
Working with Large Models, Large Textures
Geometry Editor performance depends on your particular hardware. A generally advised maximum is to avoid opening models and textures above LOD 0 maximums.