MeshPhongMaterial 上的三个 js RectAreaLight 没有光反射(OES_texture_half_float 不支持)
Three js RectAreaLight on MeshPhongMaterial no light reflection (OES_texture_half_float not supported)
我想将 RectAreaLight 添加到 three.js 场景中,我在其中放置了带有 MeshPhongMaterial 的对象,但是对象上没有光反射。
我在这里找到了一个工作示例:
Link
打开开发者工具即可看到源码
所以我尝试将其移植到React,场景渲染了所有对象但是有光反射。
在第 46 行,抛出了 OES_texture_half_float 错误。我评论了这一行。可能和这个有关。
这是不起作用的代码和框:
Link
您的代码中存在几个问题:
- 您必须导入
RectAreaLightUniformsLib
并调用其 init()
方法。
- 如documentation所述,
RectAreaLight
只支持PBR材质(意思是MeshStandardMaterial
和MeshPhysicalMaterial
)。
- 还没有影子支持,所以设置像
castShadow
和 receiveShadow
这样的标志不会有任何效果。
我想将 RectAreaLight 添加到 three.js 场景中,我在其中放置了带有 MeshPhongMaterial 的对象,但是对象上没有光反射。 我在这里找到了一个工作示例: Link
打开开发者工具即可看到源码
所以我尝试将其移植到React,场景渲染了所有对象但是有光反射。 在第 46 行,抛出了 OES_texture_half_float 错误。我评论了这一行。可能和这个有关。
这是不起作用的代码和框: Link
您的代码中存在几个问题:
- 您必须导入
RectAreaLightUniformsLib
并调用其init()
方法。 - 如documentation所述,
RectAreaLight
只支持PBR材质(意思是MeshStandardMaterial
和MeshPhysicalMaterial
)。 - 还没有影子支持,所以设置像
castShadow
和receiveShadow
这样的标志不会有任何效果。