我正在做与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。
此致 阿米特
答案 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