【发布时间】:2012-06-22 14:46:05
【问题描述】:
我正在将 Cinema4D 生成的 Collada 文件加载到 Three.js 中。我从其他帖子中了解到,您可以使用dae.children[i]; 选择和修改单个孩子,但是有没有办法按他们的名字选择他们?
此外,您可以在 Cinema4D 中对儿童进行分组。有没有办法按名称选择这些组?
【问题讨论】:
标签: three.js
我正在将 Cinema4D 生成的 Collada 文件加载到 Three.js 中。我从其他帖子中了解到,您可以使用dae.children[i]; 选择和修改单个孩子,但是有没有办法按他们的名字选择他们?
此外,您可以在 Cinema4D 中对儿童进行分组。有没有办法按名称选择这些组?
【问题讨论】:
标签: three.js
Object3D 的getChildByName 方法可能就是您所追求的。
http://mrdoob.github.com/three.js/docs/49/#Object3D
【讨论】:
dae.getChildByName( 'Cube', true ) 时,我有可能使用错了,我知道它是未定义的。当我查看 collada 文件时,有一个名为“Cube”的孩子。我上传了示例给你看,但现在看来它只能通过 Firefox 在我的本地工作。 216.36.114.20/3d/index.html我应该将此作为单独的问题发布吗?
dae.getChildByName( 'Cube', true ).material.visible=false;。有错吗?
alert(dae.getChildByName('Cube', true)) 它返回未定义。我检查了我的 collada 文件,它看起来有 <node id="ID50" name="Cube"> 我猜是指定名称的位置。我可以做些什么来检查场景中有哪些孩子可用?或者我可以通过其他方式解决此问题?
.getChildByName id 从节点中提取 ID 而不是 Cincema4D 中给出的名称。很高兴知道! :)
dae.getChildByName( 'ID50', true )
正在工作。
【讨论】: