===== Requirements for models ===== The following points should be taken into account when creating models for the 3D configurator. ==== Low poly ==== The object is created with few polygons (triangles, quads). A high number of polygons places a greater load on the GPU when rendering the models. The scene should not contain more than 50,000 polygons in total. ==== Normals point outwards ==== The normals of the faces must face outwards. If they are not, the face can only be seen from the outside with the side:both setting, which leads to a further draw call and is negative for the performance of the scene. ==== Textures ==== === Diffuse map === The texture has structure (e.g. wood or fabric). Tip: Light textures are easier to colour afterwards. This allows furniture with a light wood texture to take on different colours. === Normal map === A normal map should be created, as this gives the texture an optical depth when viewed with light reflections, which makes the model more realistic. For more information on this topic, see [[en:store:texture]] . ==== UV mapping ==== A UV mapping must be created. Within the mapping, the elements of the model are mapped proportionally according to their size. Here is an example of a house: {{blender:pasted:20240517-093514.png}} A brick texture, for example, can only be used if the wall sides abut each other in the UV mapping and are displayed in the mapping in the same proportion, so that all joints continue over the edge of the house and the bricks are the same size on all sides. ===== Smooth shading ===== The 'Smooth shading' property is on if curves are to be displayed. ===== Materials ===== Each colourable element must have its own material. Elements that always have the same appearance as another should use the same material. This reduces the draw calls, which has a positive effect on performance. No materials are used for which the property ''Transmissive'' property is set. This is the case with glass-like materials, for example. Transmissive leads to a doubling of all draw calls of the scene when rendering via THREE.js and therefore has a negative impact on performance. When using two materials, make sure that the corresponding meshes are individual objects. Otherwise, no different materials can be assigned to the meshes in the vrdoro editor. ===== Names ===== The elements (meshes) and the materials have comprehensible English names. For a chair model, a mesh is called e.g. Armrest, Backrest and the materials e.g. Wood, Fabric. The names do not contain any special characters (_ or - is ok) or spaces. ===== Centring===== The Origin must be in the centre (or centre/floor) of the object. We only use the bounding box centre. See [[en:blender:centering]] . ===== Alignment ===== The model is aligned with straight sides parallel to the axes. See also: [[en:blender:aligning_models]] . The front of the object must face forwards. ===== Size ===== Resizable models have a standard length of one metre. The other non-resizable axes are proportional in size and the size corresponds to that of the real object. ===== Storage ===== The names of the gltf/glb files should not contain any special characters or spaces. Unfortunately, there are still problems with umlauts in the names of some programmes. IIf the elements are to be subsequently given a different texture during configuration, the textures are uploaded separately to the store and the models are saved with ''Material export: no material''. When saving, only the objects to be exported are marked and only the marked ("Selected") objects are saved.