DAE模型为xml

时间:2017-12-14 06:01:07

标签: javascript three.js collada

我正在做与ThreeJS相关的一小部分工作。

var loader = new THREE.ColladaLoader();
loader.load(path, function (collada) {
var dae = collada.scene;
dae.position.set(0, 0, 0);  
scene.add(dae); 
}, function () { }, function (result) { console.log(result); });

如果我加载实际的dae文件,这段代码就是工作文件。

但是现在我正在尝试从DAE加载XML。请建议我如何处理这个问题。

我尝试了下面的代码来解析xml并加载3d模型。它不起作用。

var parser = new DOMParser();
var xml = parser.parseFromString(path, "text/xml");
var loader = new THREE.ColladaLoader();
loader.parse(xml, function (collada) {
    collada.scene.traverse(function (node) {
        if (node.material) node.material.map = dummyTexture;
    });
    signals.objectAdded.dispatch(collada.scene);
    signals.objectSelected.dispatch(collada.scene);
});  

请建议如何将3d xml加载到collada loader。

此致 阿米特

1 个答案:

答案 0 :(得分:0)

如果要直接解析Collada XML,可以使用以下模式:

var loader = new THREE.FileLoader();

loader.load( url, function ( text ) {

    var loader = new THREE.ColladaLoader();

    var path = THREE.LoaderUtils.extractUrlBase( url );

    var collada = loader.parse( text, path );

    var dae = collada.scene;

    scene.add( dae );

} );

three.js r.88