2016-11-05 62 views
1

in threeJS:我有一個object3D,並且想用它做簡單的關鍵幀動畫:Move,Rotate,Scale。threejs AnimationClip示例需要

這裏有一個簡單的例子:https://threejs.org/examples/#misc_animation_keys但由於動畫已經改變了它不工作了完全動畫旋轉切換在threeJS四元數前一段時間。

我正在尋找一個非常簡單的例子,但使用新的動畫系統,我已經GOOGLE了它,並沒有發現任何東西。這三個頁面上沒有任何文檔。

使用Blender或Collada創建動畫不是一個選項,因爲我已經從步驟文件中導入了模型,兩者都不支持。

編輯我已經解決了與示例中的問題,但我仍然有問題,因爲我想動畫嵌套Object3d,但只有根Object3d,所以我指定的鍵只有根對象不整層次結構。但是它會引發錯誤,導致動畫鍵層次結構與根Object3d層次結構的結構不同。但這是另一個問題,需要另一個問題

回答

2

該示例的問題在於,動畫鍵中的旋轉現在指定爲四元數,而不是像示例中的歐拉旋轉。因此,向旋轉參數添加第四個值(1)使其工作。

0

我只有這一個發現:

https://github.com/mrdoob/three.js/blob/master/examples/webgl_animation_scene.html

而且,能夠寫一個自己:

//Let's create a mesh 
this.mesh = new THREE.Mesh(geometry, material); 

this.clock = new THREE.Clock(); 

//Save this mixer somewhere 
this.mixer = new THREE.AnimationMixer(this.mesh); 
       let animation = THREE.AnimationClipCreator.CreateRotationAnimation(100, "y"); 
       this.mixer.clipAction(animation).play(); 

//In the animation block of your scene: 

var delta = 0.75 * clock.getDelta(); 
this.mixer.update(delta); 

這將繞Y軸的給定網格。