Blender 导出到 three.js。所有材料都有相同的灰色
Posted
技术标签:
【中文标题】Blender 导出到 three.js。所有材料都有相同的灰色【英文标题】:Blender export to three.js. All matirials have the same grey color 【发布时间】:2018-10-30 10:21:12 【问题描述】:我正在使用一些开源 3d 模型,当我尝试将它们导出为 three.js json 格式时,所有材料都以相同的灰色导出。 How model looks like in blender(可以看到所有材质都有不同的颜色)
How the result looks like
所以在导出的 json 文件中,所有材质都具有相同的颜色:
[
...
"colorSpecular":[0.5,0.5,0.5],
"colorDiffuse":[0.64,0.64,0.64],
"colorEmissive":[0,0,0],
...
"DbgName":"HullPlain.002"
,
...
"colorSpecular":[0.5,0.5,0.5],
"colorDiffuse":[0.64,0.64,0.64],
"colorEmissive":[0,0,0],
...
"DbgName":"HullColor.002"
,...]
here my export settings
我尝试了不同的模型,我得到了相同的材料设置"colorSpecular":[0.5,0.5,0.5], "colorDiffuse":[0.64,0.64,0.64],
。
有谁知道什么会导致这个问题?谢谢!
【问题讨论】:
您能分享一个.blend
文件,或者至少是您在Blender 中的材质设置的屏幕截图吗?仅从屏幕截图很难猜出您使用了哪种材料。
@DonMcCurdy 是的,当然。这是混合文件:first、second。对于他们两个,我得到了相同的结果
【参考方案1】:
three.js JSON 导出器does not support Cycles node materials,一般为that exporter is no longer recommended。
我建议改用KhronosGroup/glTF-Blender-Exporter 和THREE.GLTFLoader
。它支持循环渲染,但前提是您使用provided PBR nodes。为了简化设置过程,请使用默认的 Blender 渲染材质。快速转换(我不小心获得正确的颜色)表明这适用于您的模型:
^请注意,您需要在导出之前或在导出设置中应用修饰符。
三个.js r92
【讨论】:
以上是关于Blender 导出到 three.js。所有材料都有相同的灰色的主要内容,如果未能解决你的问题,请参考以下文章
Three.js 的导出 Blender 模型中的材料不起作用
使用具有 0 粗糙度的 GLTF 导出的立方体 原则 BSDF 材料在 Three.js 中无法正确显示