Three.js: Statut de plusieurs matériaux

Créé le 21 août 2017  ·  3Commentaires  ·  Source: mrdoob/three.js

Je ne sais pas si plusieurs matériaux sont désormais pris en charge de quelque manière que ce soit ?

MultiMaterial a été déprécié - mais je ne trouve aucune documentation ou aide sur la façon de créer un maillage personnalisé (PAS un CUBE) avec plusieurs matériaux - ou à quoi doit ressembler ma structure faceVertexUvs ou comment faire fonctionner cela.

Une aide ou des liens s'il vous plait ?

Question

Commentaire le plus utile

Je ne comprends peut-être pas correctement ce que vous essayez de réaliser, mais fournir un tableau devrait fonctionner ? Lors de l'utilisation de THREE.MultiMaterial un avertissement doit être enregistré sur la console, qui se lit comme suit :

THREE.MultiMaterial a été supprimé. Utilisez plutôt un tableau.

Exemple:

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 ); 

Je l'utilise pour mon propre maillage personnalisé.

Tous les 3 commentaires

Je ne comprends peut-être pas correctement ce que vous essayez de réaliser, mais fournir un tableau devrait fonctionner ? Lors de l'utilisation de THREE.MultiMaterial un avertissement doit être enregistré sur la console, qui se lit comme suit :

THREE.MultiMaterial a été supprimé. Utilisez plutôt un tableau.

Exemple:

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 ); 

Je l'utilise pour mon propre maillage personnalisé.

Comme l'a dit @imjasonmiller , la seule différence devrait être l'utilisation d'un objet tableau simple au lieu d'une instance de THREE.MultiMaterial . La configuration des indices de matériaux dans les géométries n'a pas changé.

ok merci - tout va bien

Cette page vous a été utile?
0 / 5 - 0 notes