three.js - 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.js JSON 导出器不支持 Cycles 节点素材,一般不再推荐使用该导出器。
我建议改用KhronosGroup/glTF-Blender- Exporter THREE.GLTFLoader
。它支持 Cycles Render,但前提是您使用提供的 PBR 节点。为了简化设置过程,请使用默认的 Blender 渲染材质。快速转换(我不小心获得正确的颜色)表明这适用于您的模型:
^请注意,您需要在导出之前或在导出设置中应用修改器。
三.js r92
推荐阅读
- discord - 多个服务器上的多个欢迎消息 discord.py
- python - 在字典中组合相同的键忽略大小写
- html - 如何在 div 中将 img 垂直居中为 svg 格式?
- json - 如何使用 Vue 中的竞争函数按字母顺序排序 json?
- google-apps-script - Google Sheets App Script - 将函数转换为特定单元格的 onEdit
- sql - 如何在bigquery中获取两个时间戳之间的时间差
- react-native - (React Native) 如何分类到函数
- json - 在 Kotlin 中以 Kb 或 Mb 为单位计算 Json 对象大小?
- python - 从 2 个 DataFrame 合并到 1 个
- flutter - 在 Flutter 中仅更改状态栏的颜色