三个js-你可以克隆从collada文件加载的动画吗
Three js - Can you clone animations loaded from a collada file?
我问的问题与这里的问题基本相同-https://github.com/mrdoob/three.js/issues/1883-使用三个js,我可以导入一个带有基本关键帧动画的拼贴画场景,并很容易地播放这些动画,但我想将动画数据从一个场景对象复制到另一个场景。
这可能吗?
在运行时,我注意到collada.animations对象包含一个collada.animations[n].node,它看起来是一个THREEJS.Mesh对象,我一直试图在运行时替换它(但没有成功)。我还注意到collada.animations[n].hhierarch[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]对象以在动态创建的场景对象上使用相同的动画?
由于这个问题是几年前写的,three.js动画系统已经被重写。您不再需要"克隆"动画,只需使用不同的混合器将它们应用于其他对象即可。示例:
var clip; // some THREE.AnimationClip instance.
var mixer1 = new THREE.AnimationMixer( object1 );
var mixer2 = new THREE.AnimationMixer( object2 );
var action1 = mixer1.clipAction( clip );
var action2 = mixer2.clipAction( clip );
action1.play();
action2.play();
这并不是COLLADA独有的,它适用于FBX、glTF和three.js支持动画的任何其他格式。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何在ThreeJs中加载引用的COLLADA文件
- 更新Collada(.从A-Frame或JS中获取文件代码
- 3 .js -拖动Collada文件
- js交叉原点错误加载相关Collada文件纹理
- 加载Collada/image数据存储在一个多部分文件到three.js
- 动态改变外部加载Collada文件中的Three.js纹理
- 三个js-你可以克隆从collada文件加载的动画吗