DAE 模型为 xml
Posted
技术标签:
【中文标题】DAE 模型为 xml【英文标题】:DAE model as xml 【发布时间】:2018-05-28 03:44:33 【问题描述】:我正在做与 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】:如果你想直接解析 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
【讨论】:
我可以通过 XML 代替 URL 吗? 我正在尝试将 XML 写入此函数并渲染模型,因为如果我将文件路径作为 url 传递,则加载程序将不会加载。这就是我试图将 dae 作为 xml 传递的原因。请提出建议。以上是关于DAE 模型为 xml的主要内容,如果未能解决你的问题,请参考以下文章
flex + papervision 中的交互式(添加侦听器)DAE 模型