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

ColladaLoader2.js - random colors are overwriting .dae file settings (three.js)

我正在使用 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 );
        }
    });
}); 

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

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

three.js r.73