【发布时间】:2013-02-02 01:36:04
【问题描述】:
我基本上问的是与此处找到的问题相同的问题 - https://github.com/mrdoob/three.js/issues/1883 - 使用三个 js,我可以导入带有基本关键帧动画的 collada 场景并轻松播放这些动画,但想复制动画数据从一个场景对象到另一个。
这可能吗?
在运行时我注意到 collada.animations 对象包含一个 - collada.animations[n].node - 这似乎是一个 THREEJS.Mesh 对象,我一直试图在运行时替换它(没有有用)。我还注意到 collada.animations[n].hierarchy[n] 对象还包含如下所示的节点属性:
cameras: Array[0]
channels: Array[9]
controllers: Array[0]
endTime: 2.5
geometries: Array[1]
id: "name_of_exported_object"
keys: Array[2]
matrix: THREE.Matrix4
name: "name_of_exported_object"
nodes: Array[0]
sid: null
sids: Array[9]
startTime: 0
transforms: Array[5]
type: "NODE"
这个对象通过 .name 和 .id 出现,与我用我的 3D 包(Blender)创建的“name_of_exported_object”相关联......我不太清楚这个节点对象的用途。如何更改 collada.animation[n] 对象以在动态创建的场景对象上使用相同的动画?
【问题讨论】:
-
你找到解决办法了吗?我也面临同样的问题
-
不,反正不是我想要的。我有一个非常简单的用例,我可以使用 Tween JS (github.com/sole/tween.js) 来解决这个问题。不太清楚你的想法,但如果我想尝试克隆一个复杂的动画,我会先看看这个例子 - threejs.org/examples/#webgl_shadowmap
-
好的,感谢您的链接,我将尝试将其调整为 collada 模型,看看它是否有效。
标签: javascript animation three.js collada