ColladaLoader2.js - 随机颜色覆盖.dae文件设置(three.js)

时间:2016-01-11 06:38:29

标签: three.js blender collada

我正在使用Three.js(r73) - 根据ColladaLoader.js中的错误,我转换到ColladaLoader2.js。但是,当我使用ColladaLoader2.js加载.dae文件时,它不会采用.dae文件中定义的颜色,而是应用随机颜色。每次刷新页面时,对象的颜色都会随机变化。此外,我注意到灯光的阴影不再适用。

以下两个例子来说明这个问题。这两个示例之间的唯一区别是,一个使用ColladaLoader.js,另一个使用ColladaLoader2.js。其他一切都是一样的。

Ex 1 - ColladaLoader.js - .dae文件加载并按预期显示(与Blender中的内容相同,这是.dae文件的导出位置) http://ngndev.com/share/three/cl.html

Ex 2 - ColladaLoader.js - 注意颜色和缺少阴影?它是相同的.dae文件。尝试刷新页面。颜色每次都会变化为一些随机颜色。 http://ngndev.com/share/three/cl-2.html

有没有人经历过这个或有解决方案?

以下是示例中的摘录,说明我是如何添加.dae的。我基本上打开.dae,遍历然后将它添加到场景中,如果它按名称匹配。

var loader = new THREE.ColladaLoader();
    loader.options.convertUpAxis = true;

//Load in the part
loader.load('e3d-ppppp7.dae', function (collada){
    voxel = collada.scene;
    voxel.traverse(function (child){
        if (child.name.match("^e3d-")) {
            scene.add( child );
        }
    });
}); 

1 个答案:

答案 0 :(得分:0)

ColladaLoader2正在开发中以取代ColladaLoader。试试three.js开发版本(本例中为r.74dev。)

如果您在新加载程序中发现错误,则报告它会很有帮助。有关如何报告错误,请参阅three.js guidelines

three.js r.73