javascript - Three.js 设置人脸颜色

标签 javascript three.js

我想设置一张脸的颜色但是失败了。如果我使用 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);

这是演示:http://jsfiddle.net/yaxpberz/ .

最佳答案

事实证明,根据添加到面时的顶点顺序,相机正在看网格的背面。因此,可以通过以下方式解决:

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/

相关文章:

javascript - 在 Controller 中发出 HTTP 请求 - sails.js

javascript - Notification.requestPermission() 不请求权限

JavaScript 正则表达式问题

math - 使用四元数创建第三人称相机位置计算

javascript - 如何在三个js中为子网格添加轮廓

javascript - Three.js - 如何设置相对于对象位置和方向的位置?

javascript - 搜索 JSON 数据时取消区分大小写 : PHP

javascript - 为日期时间选择器设置 slider 的默认值

webgl - 在 Three.js 中渲染具有大量对象的多个场景的最佳方式

javascript - codepen 上有一个作品是用三个 js 做的,我们想改变它的颜色