如何在 three.js 中将不同的材料应用到平面的两侧?
How apply different materials to either sides of a plane in three.js?
我使用
创建了简单的三角形平面
materials = [];
material1 = new THREE.MeshPhongMaterial( { color: 0xff00ff, specular: 0xff00ff, shininess: -3, shading: THREE.FlatShading, side: THREE.FrontSide } );
material2 = new THREE.MeshPhongMaterial( { color: 0xf0f0ff, specular: 0xf0f0ff, shininess: -3, shading: THREE.FlatShading, side: THREE.BackSide } );
materials.push(material1);
materials.push(material2);
mat = new THREE.MeshFaceMaterial(materials);
tri = new THREE.Geometry();
tri.vertices.push(1, 1 ,1);
tri.faces.push(new THREE.Face3(0,1,2));
tri = new THREE.Mesh(tri, mat);
scene.add(tri);
我无法在两面应用不同的材料。我该怎么做?
我正在努力实现这种效果
你需要这样的东西:
var face = tri.faces[0].clone();
face.materialIndex = 1;
tri.faces.push(face);
我使用
创建了简单的三角形平面materials = [];
material1 = new THREE.MeshPhongMaterial( { color: 0xff00ff, specular: 0xff00ff, shininess: -3, shading: THREE.FlatShading, side: THREE.FrontSide } );
material2 = new THREE.MeshPhongMaterial( { color: 0xf0f0ff, specular: 0xf0f0ff, shininess: -3, shading: THREE.FlatShading, side: THREE.BackSide } );
materials.push(material1);
materials.push(material2);
mat = new THREE.MeshFaceMaterial(materials);
tri = new THREE.Geometry();
tri.vertices.push(1, 1 ,1);
tri.faces.push(new THREE.Face3(0,1,2));
tri = new THREE.Mesh(tri, mat);
scene.add(tri);
我无法在两面应用不同的材料。我该怎么做?
我正在努力实现这种效果
你需要这样的东西:
var face = tri.faces[0].clone();
face.materialIndex = 1;
tri.faces.push(face);