【问题标题】:three.js distortion, color replacement on glb (gltf) models. Blue changes to green, and yellow changes to orangethree.js 失真,glb (gltf) 模型上的颜色替换。蓝色变为绿色,黄色变为橙色
【发布时间】:2020-09-11 18:03:40
【问题描述】:

glb (gltf) 模型上的失真、颜色替换。蓝色变为绿色,黄色变为橙色。
v106 three.js
v97 GLTFLoader.js

【问题讨论】:

  • 嗨,欢迎来到 SO。请查看How to Ask a Good Question
  • 不清楚你在问什么。如何改变颜色?如何防止颜色变化?请提供更多详细信息,以及重现问题所需的任何代码或模型。

标签: three.js shader textures gltf


【解决方案1】:

您在搅拌机的预览中使用环境贴图。该环境贴图有一个主色,会影响模型的着色。要比较这些参考,您需要确保在 blender 和 webgl 中使用相同的 envmap。如果您只在您的threejs 场景中使用灯光,您需要确保它们的颜色匹配。

另一个可能影响着色的因素是您的 THREE.Renderer 和纹理中的伽马输出设置。

您可以通过许多英雄事迹来使两个渲染器的输出匹配。阅读:https://discourse.threejs.org/t/whats-this-about-gammafactor/4264

如果您只想更快地修复.. 调整您的照明/环境贴图,或调整您在threejs 场景中设置的灯光的颜色/强度。

如果此行为在三个版本之间发生了变化.. 可能需要提交错误报告。

threejs 渲染器和纹理现在都有 gamma 相关设置。

如果这还不够信息,请告诉我,我可能认识其他人可以帮助您解决问题 :) 嗨,唐!

【讨论】:

    【解决方案2】:

    老问题,但记录在案的原因是对象数据属性下的顶点颜色:

    删除Col 修复了纹理颜色。

    【讨论】:

      猜你喜欢
      • 2014-02-23
      • 2021-07-07
      • 2012-04-25
      • 1970-01-01
      • 2015-07-09
      • 2020-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多