我在搅拌机中制作了一个小场景(6个物体,每个物体使用1到4种材料)。 当使用dev导出器导出它(使用材质和场景选项)并通过以下方式加载它时:
var loader = new THREE.ObjectLoader();
loader.load( 'assets/scene.json', function ( scene ) { ...
然后检查现场,我可以看到它有6个孩子(好)并且五个孩子中的每一个只有一个MeshLambertMaterial(而不是来自搅拌器的材料混合)坏。
我做错了什么提示?
这些是btw基本材料(基本上只是一种颜色)没有纹理或任何东西。
场景渲染正确(减去材质混合)。
以下是113kb场景文件(压缩)的链接:http://jppresents.net/static/blender/exportBug/scene.zip
查看文件我认为所有材料都在那里 - 所以问题必须是我加载它的方式?
答案 0 :(得分:0)
不是解决方案,而是解决方法: 由于我所有材料之间的唯一区别就是颜色,我现在只应用了一种材质,每个物体都有多色纹理。 然后我将对象的面部uv映射到与先前设置的材质颜色对应的颜色。
使用热键“shift + G”可以很容易地选择所有具有相同材质的面。 (然后将它们分配给纹理材质,将uv视图中的那些移动/缩放到与旧颜色匹配的纹理部分。)