Blender导出到three.js,所有材质都是相同的灰色。

3
我正在研究一些开源的3D模型,当我试图将它们导出到three.js json格式时,所有材质都以相同的灰色导出。您可以在此处看到在blender中的模型(您可以看到所有材质都有不同的颜色)。

导出结果如何

所以,在导出的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],。请问这可能是什么原因呢?谢谢!


你能分享一个 .blend 文件,或者至少在 Blender 中截图你的材质设置吗?仅从截图中很难猜测你使用了哪种类型的材质。 - Don McCurdy
@DonMcCurdy 没问题。这是混合文件: 第一个第二个。 我在两个文件中都得到了相同的结果。 - MihaChicken
1个回答

2
三维库three.js的JSON导出器不支持Cycles节点材料,并且通常该导出器已不再推荐使用
我建议改用KhronosGroup/glTF-Blender-ExporterTHREE.GLTFLoader。它支持Cycles渲染,但只有在您使用提供的PBR节点时才支持。为了更简单的设置过程,请使用默认的Blender渲染材料。快速转换(我没有注意到正确的颜色)显示这适用于您的模型:

screenshot of small space fighter GLB model

请注意,您需要在导出之前或在导出设置中应用修饰符。
three.js r92

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接