1

我在搅拌机中制作了一个小场景(6 个对象,每个对象使用 1 到 4 种材料)。使用开发导出器导出此(使用材质和场景选项)并通过以下方式加载它时:

var loader = new THREE.ObjectLoader();
loader.load( 'assets/scene.json', function ( scene ) { ...

然后检查场景,我可以看到它有 6 个孩子(好),而这五个孩子中的每一个只有一个 MeshLambertMaterial(而不是来自搅拌机的材料混合)不好。

关于我做错了什么的任何提示?

这些是btw基本材料(基本上只是一种颜色)没有纹理或任何东西。

场景渲染正确(减去材料混合)。

这是 113kb 场景文件(压缩)的链接:http: //jppresents.net/static/blender/exportBug/scene.zip

看着文件,我认为所有材料都在那里-所以问题一定是我加载它的方式吗?

4

1 回答 1

0

不是解决方案,而是一种解决方法:由于我所有材料之间的唯一区别只是颜色,因此我现在只应用了一种材料,每个对象具有多色纹理。然后我将对象的面 uv 映射到与先前设置的材质颜色对应的颜色。

这很容易使用热键“shift + G”,它可以让您选择所有具有相同材质的面。(然后只需将它们分配给纹理材质,将 uv 视图中的它们移动/缩放到与旧颜色匹配的纹理部分。)

于 2015-05-07T10:16:40.877 回答