【问题标题】:How to use GLTF Loader in three.js? Texture and material displaying as black如何在three.js中使用GLTF Loader?纹理和材质显示为黑色
【发布时间】:2019-04-20 00:36:23
【问题描述】:

我在加载 gltf 时遇到问题。该模型能够成功加载,但所有纹理和材料(已嵌入 .gltf 中)都是全黑的。当我在 gltfviewer 中查看它时,所有纹理和材质都正确显示。我是 three.js 的新手,所以如果有人能指导我使用 GLTF 加载程序,我将不胜感激!!

【问题讨论】:

  • 场景中有光源吗?
  • 我相信是的。如果我添加一个 phong 材质并将颜色设置为白色,则黑色变为白色。
  • 什么灯?能分享一下模型或者demo吗?请注意,金属材料可能需要环境贴图。在 gltf 查看器 (gltf-viewer.donmccurdy.com) 中,您可以调整直射光和环境光以查看效果。
  • 感谢您的回复。如何共享模型?我在 github 上上传了 gltf ......另外,它是一个半球灯(我刚刚从另一篇文章中复制了代码);灯应该可以工作吗?因为当我添加白色的 phong 材质时我可以看到材质。
  • GitHub 项目的链接可能就足够了。否则,Google Drive、Dropbox、Gist 或其他文件链接。

标签: three.js


【解决方案1】:

这个问题与How to use AmbientLight in combination with MeshStandardMaterial? 基本相同——您的模型具有 100% 金属材质,纯金属不会反射漫射(环境光和半球)光。

理想情况下,始终向 PBR 模型添加环境贴图。另一种解决方案是添加非漫射/直射光,例如 PointLight 或 DirectionalLight 实例。如果您能够编辑模型,降低其金属度也可以。

更多详情请见https://github.com/mrdoob/three.js/issues/9228

【讨论】:

  • 你实际上是一个救生员!我刚刚改变了搅拌机中的金属因子,现在一切正常。非常感谢!!
猜你喜欢
  • 2020-04-17
  • 2019-11-01
  • 2019-11-19
  • 2019-08-21
  • 1970-01-01
  • 2019-05-30
  • 2012-02-14
  • 2015-09-15
  • 2023-02-03
相关资源
最近更新 更多