首页 > 解决方案 > Blender 导出到 three.js。所有材料都有相同的灰色

问题描述

我正在玩一些开源 3d 模型,当我尝试将它们导出为 three.js json 格式时,所有材料都以相同的灰色导出。 模型在搅拌机中的样子(您可以看到所有材料都有不同的颜色)

结果如何

所以在导出的 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"
},...]

在我的导出设置中 ,我尝试了不同的模型,并且"colorSpecular":[0.5,0.5,0.5], "colorDiffuse":[0.64,0.64,0.64],为所有模型设置了相同的材料设置。

有谁知道什么会导致这个问题?谢谢!

标签: three.jsexportblender

解决方案


three.js JSON 导出器不支持 Cycles 节点素材,一般不再推荐使用该导出器

我建议改用KhronosGroup/glTF-Blender- Exporter THREE.GLTFLoader。它支持 Cycles Render,但前提是您使用提供的 PBR 节点。为了简化设置过程,请使用默认的 Blender 渲染材质。快速转换(我不小心获得正确的颜色)表明这适用于您的模型:

小太空战斗机GLB模型截图

^请注意,您需要在导出之前或在导出设置中应用修改器。

三.js r92


推荐阅读