Optimizing 3D Model Geometry
Last updated
Last updated
To optimize performance on 3D models in the metaverse users need to reduce the file size by optimizing the geometry. The geometry should be optimized without losing the image resolution. This is subjective and depends on the model. The file size and polycount should be relative to the model. A larger model will have more geometries, this means it has more meshes, more materials and higher polycount compared to a smaller model. More geometry will result in a larger file, poor performance and more BIT cost to deploy.
Comparing 3D model polycounts; A 3D model of a dice is a small non-complex model. It would be expected that a dice would have a low polycount as compared to a model of a large tower. The detail in the dice is small relative to detail required in a tower hence a lower polycount is expected.
Note: Increasing the polycount will increase the file size.
Ideal file size: Less than 1-2 MB
File type: GLB/glTF (prefer GLB as it is a combined file type, materials and textures are in a single file)
Use Babylonjs Sandbox to analyze your model data to determine how it should be optimized. Notable metrics that increase file size include:
Active meshes
Active faces
Total materials
Total textures
The model analyzer calculates the BIT cost proportional to the file size. An error limitation message will be triggered if the file is too large to be deployed into the metaverse. Below are the maximum hard caps implemented by Bit.Country.
1) Check Blender Setup Model units:
Meters (m)
Place mesh at the origin
Model orientation: Y+ is up, Z+ is forward, X+ is sideways
2) Modify Face Count Make sure that you are in edit mode.
a) Enable wireframe to view all of the faces of the model.
b) Go to Object Properties -> Viewport Display -> Click to enable Wireframe. Open Modifier properties menu -> click Add Modifier and select Decrimate.
c) Adjust the polygon Face Count by adjusting the polygon Collapse and Planar angle. By reducing the face count it will reduce the model polycount and result in a smaller file.
i) Collapse will reduce the number of polygons that make up the mesh. It will merge polygons together. Collapsing polygons will gradually distort the model. Adjust accordingly to your preferred detail.
ii) Planar will reduce the angle of the polygons.
3) Add Normal Maps to reduce polycount.
4) Bake meshes together to reduce mesh number.
Below is an example of 3 balloon models that are low, medium and high poly count. To reduce the poly count the the decrimate tool was used to collapse the number of faces on the balloon. As you reduce the number of polygons the smooth surface of the balloon becomes more rough.
Shading can be used to smooth out the surfaces to make the shape appear rounded. The images show a comparison of flat and smooth shading.
Diameter ~30 cm
Total length ~1.5 m