如何在threeJS中为对象模型添加阴影?

时间:2016-03-13 17:52:19

标签: three.js

我在立方体旁边有一个定制的对象,一个方尖碑。方尖碑是用message.accepted_denied_by_user.email(手动添加每个顶点和面)制作的,而立方体是用THREE.Geometry制作的。他们都使用THREE.BoxGeometry

那么为什么立方体会获得随旋转而变化的颜色,而方尖碑只是灰色?我设法让其他网格为方尖碑添加颜色,但无法弄清楚如何在旋转过程中让边改变颜色。

THREE.MeshNormalMaterial

1 个答案:

答案 0 :(得分:1)

如果要在自定义几何体中使用MeshNormalMaterial,则必须在创建网格之前计算几何体的法线:

obeliskGeometry.computeFaceNormals();

在你的例子中:

[...]
obeliskGeometry.faces.push(new THREE.Face3(7, 4, 8));
obeliskGeometry.computeFaceNormals();
var obeliskMesh = new THREE.Mesh(obeliskGeometry, obeliskMaterial);
[...]