Javascript 计算Three.js中自定义几何体的灯光
我创建了一个自定义几何体,并使用Javascript 计算Three.js中自定义几何体的灯光,javascript,three.js,Javascript,Three.js,我创建了一个自定义几何体,并使用geometry.computeFaceNormals()获得正确的照明。到目前为止还不错 当我为几何体设置动画时,问题就出现了。在动画循环中,我再次调用了geometry.computeFaceNormals(),但面照明没有改变 下面是一个示例:您正在更新几何体的顶点,因此通常也必须更新法线才能正确着色 但是,由于需要平面着色,因此还有另一种解决方案 MeshPhongMaterial使用OES_标准_衍生工具扩展生成平面着色。这意味着当顶点更改时,不必指定或
geometry.computeFaceNormals()
获得正确的照明。到目前为止还不错
当我为几何体设置动画时,问题就出现了。在动画循环中,我再次调用了geometry.computeFaceNormals()
,但面照明没有改变
下面是一个示例:您正在更新几何体的顶点,因此通常也必须更新法线才能正确着色 但是,由于需要平面着色,因此还有另一种解决方案
MeshPhongMaterial
使用OES_标准_衍生工具扩展生成平面着色。这意味着当顶点更改时,不必指定或更新几何体法线
您所要做的就是使用以下模式,如果支持扩展,平面着色将“正常工作”
var material = new THREE.MeshPhongMaterial( {
color: 0xFFFFFF,
shading: THREE.FlatShading
} );
three.js r.80您想要平面明暗处理吗?还是平滑着色?非常感谢@WestLangley!我在找平面阴影。请随意详细阐述您的评论,并将其作为答案,以便我可以将其标记为已回答。