我想设置一张脸的颜色但是失败了。如果我使用 wireframe
,结果似乎是正确的。但如果没有,人脸似乎没有被渲染。
var geo = new THREE.Geometry();
geo.vertices.push(new THREE.Vector3(1, 1, 0));
geo.vertices.push(new THREE.Vector3(1, 0, 0));
geo.vertices.push(new THREE.Vector3(0, 0, 0));
geo.faces.push(new THREE.Face3(0, 1, 2));
geo.faces[0].color = new THREE.Color('rgb(0,255,0)');
var mesh = new THREE.Mesh(geo, new THREE.MeshBasicMaterial({
vertexColors: THREE.FaceColors,
color: 0xff0000//,
//wireframe: true
}));
scene.add(mesh);
最佳答案
事实证明,根据添加到面时的顶点顺序,相机正在看网格的背面。因此,可以通过以下方式解决:
var mesh = new THREE.Mesh(geo, new THREE.MeshBasicMaterial({
vertexColors: THREE.VertexColors,
color: 0xff0000,
side: THREE.BackSide
}));
关于javascript - Three.js 设置人脸颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691693/