【发布时间】:2015-10-12 15:05:55
【问题描述】:
我是 Three.js 的新手,但问题不是微不足道的。
我有一个 DAE 格式的 Collada 场景,它实际上包含指向另一个 DAE 文件的链接。在这个“父”文件中看起来像这样:
<library_visual_scenes>
<visual_scene id="TheScene" name="TheScene">
<node id="DesignTransform1" name="DesignTransform1" type="NODE">
<matrix>0.87811053 0.46947187 0.0922935 19.499561 -0.46690002
0.88294739 -0.04907337 98.835884 -0.10452887 0 0.99452192 0.28129196
0 0 0 1</matrix>
<instance_node url="./first_dae/first_dae.dae"/>
</node>
<node id="DesignTransform2" name="DesignTransform2" type="NODE">
<instance_node url="./second_dae/second_dae.dae"/>
</node>
</visual_scene>
</library_visual_scenes>
<scene>
<instance_visual_scene url="#TheScene"/>
</scene>
这个场景可以用桌面软件打开,没有任何问题。 但是当我尝试使用 Three.js Collada Loader 加载这个 Collada 时,它什么也没有显示。 相同的代码适用于普通的 Collada 文件,这些文件没有指向其他 DAE 文件的链接。
加载器如下所示:
var mesh;
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
loader.options.centerGeometry = true;
loader.load("parent_dae.dae", function (result) {
mesh = result.scene;
scene.add(mesh);
render();
});
问题是:“Three.js Collada Loader 是否支持此类 DAE 文件,包含指向另一个 DAE 文件的链接? 如果是这样,我的代码可能有什么问题?”
【问题讨论】:
-
您的文件是否加载到了three.js 编辑器中? threejs.org/editor
-
我尝试了以下操作:
-
1.在 three.js 编辑器中分别打开子 DAE 文件 - 它们正常打开 2. 打开父对象并将父 DAE 中的真实链接留给子 DAE - 不起作用 3. 将子 DAE 保存到 Web 服务器并更改链接到父 DAE 中的绝对值 - 不起作用编辑器打开场景并显示两个带有父场景的“DesignTransform”子节点。我可以看到每个孩子的带有变换箭头的占位符,但其中没有任何内容
-
那么你可能想用three.js打开一个问题
标签: javascript three.js loader collada