===== Anforderung an Modelle ===== Folgende Punkte sollten bei der Erstellung von Modellen für den 3D-Konfigurator beachtet werden. ==== Low-Poly ==== Das Objekt wird mit wenig Polygonen (Triangles, Quads) erstellt. Eine hohe Anzahl von Polygonen belastet beim Rendering der Modelle die GPU stärker. Insgesamt sollte die Szene nicht mehr als 50.000 Polygone enthalten. ==== Normals zeigen nach Außen ==== Die Normals der Faces müssen nach außen gerichtet sein. Sind sie es nicht, dann kann die Fläche nur mit side:both-Einstellung von außen betrachtet sichtbar werden, was zu einem weiterem Draw-Call führt und negative für die Performance der Szene ist. ==== Texturen ==== === Diffuse-Map === Die Texture hat Struktur (z. B. Holz oder Stoff). Tipp: Helle Texturen lassen sich nachträglich besser Färben. So können Möbel mit heller Holzstruktur verschiedene Farben annehmen. === Normal-Map === Eine Normal-Map sollte erstellt werden, da diese der Texture bei der Ansicht eine optische Tiefe bei Lichtreflektionen gibt, die das Modell realistischer macht. Weiteres zum Thema: siehe [[store:texture]]. ==== UV-Mapping ==== Es muss ein UV-Mapping erstellt werden. Innerhalb des Mapping sind die Elemente des Modells proportional entsprechend ihrer Größe gemappt. Hier ist ein Beispiel für ein Haus: {{:blender:pasted:20240517-093514.png}} Nur wenn die Wandseiten im UV-Mapping aneinander stoßen und im Verhältnis gleich groß im Mapping dargestellt sind, lässt sich z. B. eine Backsteintextur verwenden, so dass alle Fugen über die Hauskante weiterlaufen und die Backsteine an allen Seiten gleich groß sind. ===== Smooth shading ===== Die Eigenschaft 'Smooth shading' ist an, wenn Rundungen dargestellt werden sollen. ===== Materials ===== Jedes färbbare Element muss ein eigenes Material haben. Elemente, die stets das gleiche Aussehen wie ein anderes haben, sollen das gleiche Materials benutzen. Dies reduziert die Draw-Calls, was die Performance positiv beeinflusst. Es werden keine Materials verwendet, für die die Eigenschaft ''Transmissive'' gesetzt ist. Dies ist z. B. bei glasähnlichen Materials der Fall. Transmissive führt beim Rendering über THREE.js zu einer Verdopplung aller Draw-Calls der Szene und hat daher negative Auswirkungen auf die Perfomance. Bei der Verwendung zweier Materials ist darauf zu achten, dass die entsprechenden Meshes einzelne Objekte sind. Ansonsten können im vrdoro-Editor den Meshes keine verschiedenen Materials zugewiesen werden. ===== Namen ===== Die Elemente (Meshes) und die Materials haben verständliche englische Namen. Für ein Stuhlmodell heißt ein Mesh z. B. Armrest, Backrest und die Materials z. B. Wood, Fabric. Die Namen enthalten keine Sonderzeichen (_ oder - ist ok) oder Leerzeichen. ===== Zentrierung===== Das Origin muss im Zentrum (bzw. Zentrum/Boden) des Objekts sein. Wir verwenden ausschließlich das Bounding-Box-Center. Siehe [[blender:centering]]. ===== Ausrichtung ===== Das Modell ist mit geraden Seiten parallel zu den Achsen ausgerichtet. Siehe auch: [[blender:aligning_models]]. Die Vorderseite des Objekts muss nach vorne zeigen. ===== Größe ===== In der Größe veränderbare Modelle haben eine Standard-Länge von einem Meter. Die anderen nicht veränderbaren Achsen sind proportional in der Größe und die Größe entspricht der des realen Objekts. ===== Speicherung ===== Die Namen der gltf/glb-Dateien sollen keine Sonderzeichen oder Leerzeichen beinhalten. Es gibt leider immer noch Probleme mit Umlauten im Namen bei einigen Programmen. Sollen die Elemente nachträglich eine andere Texture bei der Konfiguration erhalten, dann werden die Texturen separat in den Store hochgeladen und die Modelle mit ''Material-Export: no Material'' gespeichert. Bei der Speicherung werden ausschließlich die zu exportierenden Objekte markiert und nur die markierten ('Selected') gespeichert.