2016-06-18 3 views
0

Ich bin neu bei three.js. Ich weiß, dass Sie mehrere Mesh-Materialien zu einem Mesh kombinieren können. Was ist, wenn das Mesh das gleiche Material ist? Würde es mehr Details hinzufügen? Oder macht das Extra mesh = new THREE.Mesh(geometry, material); scene.add(mesh); etwas Gutes? Mit bloßem Auge ist es schwer für mich zu erzählen.Three.js - Ist zusätzliches Netzmaterial mit dem gleichen Material vorteilhaft?

mesh = new THREE.Mesh(geometry, material); 
    scene.add(mesh); 

    mesh = new THREE.Mesh(geometry, material); 
    mesh.position.z = - 1500; 
    scene.add(mesh); 

Antwort

2

Es scheint, Sie haben ein bisschen eine Verwechslung in der Terminologie. Ein Mesh ist ein tatsächliches Objekt in einer Szene, in dem ein Material die Mesh-Eigenschaften beschreibt, die seine Schattierung beeinflussen. Das Erzeugen eines zweiten Netzes und das Hinzufügen zu einer Szene würde zu einem zweiten Objekt mit der bereitgestellten Geometrie und dem Material (d. H. Der Darstellung) führen. Der wahrscheinliche Grund, warum Sie es nicht sehen, könnte sein, dass es zu weit entlang der Z-Achse ist und von der weit entfernten Clipping-Ebene der Kamera (a.k.a Z weit) gekeult wurde.

Und zu dem "ist es vorteilhaft" Teil. Es ist von der Implementierung abhängig, aber es kann für die Rendering-Performance von Vorteil sein, da Aufrufe für Meshes, die ein Material teilen (und damit Shader-Programm und seine Parameter) ohne redundante Statusänderungen zusammengeführt werden können, was immer gut in WebGL (und OpenGl, für diese Angelegenheit).

+0

Sie sind im Zusammenhang mit Three.js falsch. Zusätzlich zu einem Netz, das ein Objekt ist, kann ein Netzterm in Materialien wie "MeshBasicMaterial" verwendet werden. Zusätzlich können Sie mehrere Materialien für ein einzelnes Mesh-Objekt ... mit Blending haben. – dman

+0

@dman Erlauben Sie mir, zu widersprechen. Das Wort "Mesh" in "MeshBasicMaterial" bezieht sich darauf, dass es ** auf ein Mesh angewendet wird, d. H. Spezifisch mit einer Art und Weise verbunden ist, in der Meshes gezeichnet werden. –

+0

Ja, und ich sagte 'mehrere Mesh-Materialien in ein Mesh' – dman

Verwandte Themen