three.js R71 - 移除了环境光,如何配置以获得相同的渲染结果?
three.js R71 - ambient removed, how configure to get same rendering results?
在three.js r71 the ambient
property has been removed from THREE.Material
。
之前我使用 ambient
来设置我在网格上使用的材质的正确渲染(光照)效果。现在我所有网格的外观都发生了巨大变化。
我怎样才能让我的材质渲染得和 r71 之前完全一样?
这里讨论这个问题:
https://github.com/mrdoob/three.js/issues/6501
或者您可以用较早的着色器覆盖 r71 着色器(或只使用三个较早版本的着色器)。
原因来了...
根据@WestLangley;我引用 his post in the discussion(link 来自@pprchsvr):
material.ambient
was the ambient reflectance of the material. For real-world objects, it should normally match material.color
, the diffuse reflectance of the material. (Objects, after all, do not know where the photons came from.)
We chose to simplify the API, and hardwire material.ambient
to match material.color
. Consequently, material.ambient
has been removed.
这意味着您将无法再设置不同于 material 颜色的环境颜色,而且据我所知没有“快速修复”来为那些 materials 和以前一样。
一个可能的解决方案是尝试通过 tuning/changing material 颜色和场景中的环境光使 material 像以前一样出现。
另请参阅 THREE.AmbientLight and THREE.MeshBasicMaterial(和其他 material)的 three.js 文档以供参考。
或者您可以使用 THREE.ShaderMaterial 创建您自己的着色器 material,您可以在其中(重新)创建一个允许您显式设置环境颜色的着色器。
在three.js r71 the ambient
property has been removed from THREE.Material
。
之前我使用 ambient
来设置我在网格上使用的材质的正确渲染(光照)效果。现在我所有网格的外观都发生了巨大变化。
我怎样才能让我的材质渲染得和 r71 之前完全一样?
这里讨论这个问题:
https://github.com/mrdoob/three.js/issues/6501
或者您可以用较早的着色器覆盖 r71 着色器(或只使用三个较早版本的着色器)。
原因来了...
根据@WestLangley;我引用 his post in the discussion(link 来自@pprchsvr):
material.ambient
was the ambient reflectance of the material. For real-world objects, it should normally matchmaterial.color
, the diffuse reflectance of the material. (Objects, after all, do not know where the photons came from.)We chose to simplify the API, and hardwire
material.ambient
to matchmaterial.color
. Consequently,material.ambient
has been removed.
这意味着您将无法再设置不同于 material 颜色的环境颜色,而且据我所知没有“快速修复”来为那些 materials 和以前一样。
一个可能的解决方案是尝试通过 tuning/changing material 颜色和场景中的环境光使 material 像以前一样出现。
另请参阅 THREE.AmbientLight and THREE.MeshBasicMaterial(和其他 material)的 three.js 文档以供参考。或者您可以使用 THREE.ShaderMaterial 创建您自己的着色器 material,您可以在其中(重新)创建一个允许您显式设置环境颜色的着色器。