Three.js ColladaLoader "Cannot read property 'length' of undefined"
Three.js ColladaLoader "Cannot read property 'length' of undefined"
我正在尝试重复此处找到的运动学示例:
https://threejs.org/examples/#webgl_loader_collada_kinematics
如果我使用示例中提供的 collada,一切都很好。但是,如果我使用自己的 collada,我会在第 138 行收到 "length" 错误(我现在使用的是完全相同的代码):
https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_collada_kinematics.html
有人知道为什么吗?
根据我在 Three.js github 上得到的答案,我的 dae 文件不包含任何运动学信息(所以像 library_kinematics_models 或 library_kinematics_scenes 这样的标签)但只是一个简单的骨架(骨骼动画)。我知道这一点,但我认为运动学是为了接触关节和所有东西。因此,由于它不包含任何动画数据,我只能使用 Collada Loader 静态显示它。
编辑:如果加载程序检测到皮肤和骨骼层次结构,它returns 相应的网格作为 SkinnedMesh under children (for me it was children[1]). This object has a skeleton 属性 提供对所有骨骼的访问。
之后,您必须使用 Animation System 创建动画。
更多信息可以参考我post关于Three.js的论述
我正在尝试重复此处找到的运动学示例:
https://threejs.org/examples/#webgl_loader_collada_kinematics
如果我使用示例中提供的 collada,一切都很好。但是,如果我使用自己的 collada,我会在第 138 行收到 "length" 错误(我现在使用的是完全相同的代码):
https://github.com/mrdoob/three.js/blob/master/examples/webgl_loader_collada_kinematics.html
有人知道为什么吗?
根据我在 Three.js github 上得到的答案,我的 dae 文件不包含任何运动学信息(所以像 library_kinematics_models 或 library_kinematics_scenes 这样的标签)但只是一个简单的骨架(骨骼动画)。我知道这一点,但我认为运动学是为了接触关节和所有东西。因此,由于它不包含任何动画数据,我只能使用 Collada Loader 静态显示它。
编辑:如果加载程序检测到皮肤和骨骼层次结构,它returns 相应的网格作为 SkinnedMesh under children (for me it was children[1]). This object has a skeleton 属性 提供对所有骨骼的访问。
之后,您必须使用 Animation System 创建动画。
更多信息可以参考我post关于Three.js的论述