将面部朝向光线的方向更改不会更新其颜色

时间:2015-07-08 14:36:32

标签: javascript three.js

在具有方向光的场景中,在3个顶点之间构造一个简单的几何(三角形)。 (下图中的左三角形)

当我更改其中一个顶点以使三角形朝向光线的角度不同时,我希望三角形的颜色能够反映出来(中心三角形),但正如您所看到的,颜色仍然是相同。

当我在更新的顶点(右边的三角形)之间创建一个新的三角形时,颜色已正确设置(如预期的那样)。

three js screenshot

问题:当我更改其中一个顶点时,如何让三角形动态更新其颜色?

我试过了:

triangle.geometry.verticesNeedUpdate = true;
triangle.geometry.colorsNeedUpdate = true;
triangle.geometry.elementsNeedUpdate = true;
triangle.material.needsUpdate = true;

1 个答案:

答案 0 :(得分:1)

您正在使用的展示或MeshBasicMAterialMeshLambertMaterial。尝试使用MeshPhongMaterial

http://jsfiddle.net/stdob/j8k7yhLp/4/show/lite