Three.js: Status mehrerer Materialien

Erstellt am 21. Aug. 2017  ·  3Kommentare  ·  Quelle: mrdoob/three.js

Ich weiß nicht, ob mehrere Materialien jetzt in irgendeiner Weise unterstützt werden?

MultiMaterial ist veraltet - aber ich finde keine Dokumentation oder Hilfe zum Erstellen eines benutzerdefinierten Netzes (KEIN WÜRFEL) mit mehreren Materialien - oder wie meine faceVertexUvs-Struktur aussehen muss oder wie dies funktioniert.

Irgendwelche Hilfe oder Links bitte?

Question

Hilfreichster Kommentar

Ich verstehe vielleicht nicht richtig, was Sie erreichen möchten, aber die Bereitstellung eines Arrays sollte funktionieren? Bei Verwendung von THREE.MultiMaterial eine Warnung in der Konsole protokolliert werden, die lautet:

DREI.MultiMaterial wurde entfernt. Verwenden Sie stattdessen ein Array.

Beispiel:

const geo = new THREE.BoxGeometry( 1, 1, 1 );
const mat = [
    new THREE.MeshBasicMaterial({ color: 0xFF00FF }),
    new THREE.MeshBasicMaterial({ color: 0x00FF00 }),
    new THREE.MeshBasicMaterial({ color: 0xFF00FF }),
    new THREE.MeshBasicMaterial({ color: 0x00FF00 }),
    new THREE.MeshBasicMaterial({ color: 0xFF00FF }),
    new THREE.MeshBasicMaterial({ color: 0x00FF00 }),
];
const mesh = new THREE.Mesh( geo, mat ); 

Ich verwende dies für mein eigenes benutzerdefiniertes Mesh.

Alle 3 Kommentare

Ich verstehe vielleicht nicht richtig, was Sie erreichen möchten, aber die Bereitstellung eines Arrays sollte funktionieren? Bei Verwendung von THREE.MultiMaterial eine Warnung in der Konsole protokolliert werden, die lautet:

DREI.MultiMaterial wurde entfernt. Verwenden Sie stattdessen ein Array.

Beispiel:

const geo = new THREE.BoxGeometry( 1, 1, 1 );
const mat = [
    new THREE.MeshBasicMaterial({ color: 0xFF00FF }),
    new THREE.MeshBasicMaterial({ color: 0x00FF00 }),
    new THREE.MeshBasicMaterial({ color: 0xFF00FF }),
    new THREE.MeshBasicMaterial({ color: 0x00FF00 }),
    new THREE.MeshBasicMaterial({ color: 0xFF00FF }),
    new THREE.MeshBasicMaterial({ color: 0x00FF00 }),
];
const mesh = new THREE.Mesh( geo, mat ); 

Ich verwende dies für mein eigenes benutzerdefiniertes Mesh.

Wie @imjasonmiller sagte, sollte der einzige Unterschied die Verwendung eines einfachen Array-Objekts anstelle einer Instanz von THREE.MultiMaterial . Die Einrichtung der Materialindizes in den Geometrien hat sich nicht geändert.

ok danke - alles gut

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen