在three.js r71 中,该ambient
属性已从THREE.Material
.
以前我用来ambient
设置我在网格上使用的材质的正确渲染(照明)效果。现在我所有网格的外观发生了巨大变化。
我怎样才能让我的材料与 r71 之前完全一样?
在three.js r71 中,该ambient
属性已从THREE.Material
.
以前我用来ambient
设置我在网格上使用的材质的正确渲染(照明)效果。现在我所有网格的外观发生了巨大变化。
我怎样才能让我的材料与 r71 之前完全一样?
来了为什么...
根据@WestLangley;我在讨论中引用了他的帖子(来自@pprchsvr 的链接):
material.ambient
是材料的环境反射率。对于现实世界的对象,它通常应该匹配material.color
,材料的漫反射率。(毕竟,物体不知道光子是从哪里来的。)我们选择简化 API,并硬连线
material.ambient
以匹配material.color
. 因此,material.ambient
已被删除。
这意味着您将不再能够设置与材质颜色不同的环境颜色,并且据我所知,没有“快速修复”可以为这些材质获得与以前相同的渲染结果。
一种可能的解决方案是尝试通过调整/更改场景中的材质颜色和环境照明来使材质看起来像以前一样。
另请参阅有关THREE.AmbientLight和THREE.MeshBasicMaterial(以及其他材料)的 three.js 文档以供参考。
或者,您可以使用THREE.ShaderMaterial创建自己的着色器材质,您可以在其中(重新)创建允许您显式设置环境颜色的着色器。