Javascript 换一张脸';s朝向灯光的方向不会更新其颜色
在具有平行光的场景中,我在3个顶点之间构建了一个简单的几何体(三角形)。(下图中的左三角形) 然后,当我更改其中一个顶点,使三角形与灯光具有不同的角度时,我希望三角形的颜色反射该顶点(中心三角形),但正如您所看到的,颜色保持完全相同 当我在更新的顶点(右侧的三角形)之间创建新三角形时,颜色已正确设置(如预期的那样) 问题:当我更改三角形的一个顶点时,如何使三角形动态更新其颜色 我试过:Javascript 换一张脸';s朝向灯光的方向不会更新其颜色,javascript,three.js,Javascript,Three.js,在具有平行光的场景中,我在3个顶点之间构建了一个简单的几何体(三角形)。(下图中的左三角形) 然后,当我更改其中一个顶点,使三角形与灯光具有不同的角度时,我希望三角形的颜色反射该顶点(中心三角形),但正如您所看到的,颜色保持完全相同 当我在更新的顶点(右侧的三角形)之间创建新三角形时,颜色已正确设置(如预期的那样) 问题:当我更改三角形的一个顶点时,如何使三角形动态更新其颜色 我试过: triangle.geometry.verticesNeedUpdate = true; triangle.
triangle.geometry.verticesNeedUpdate = true;
triangle.geometry.colorsNeedUpdate = true;
triangle.geometry.elementsNeedUpdate = true;
triangle.material.needsUpdate = true;
您正在使用或
MeshBasicMAterial
或MeshLambertMaterial
的印象。尝试使用MeshPhongMaterial
尝试
geometry.computeFaceNormals()代码>和几何体。计算顶点法线()代码>这与下面接受的答案相结合就成功了!