如何在three.js中播放对象动画,同时将对象保持在适当的位置(如mixamo中的动画)?

时间:2018-12-21 10:15:26

标签: animation three.js

我想通过three.js播放对象动画(来自mixamo,),就像奔向相机一样。通常情况下,对象会随着动画的播放而变得更近,但是我希望对象保持原样,这意味着我希望对象在适当的位置运行,而不是更靠近相机。

Mixamo可以就地播放动画,因此我认为three.js也应支持此功能。我只是不知道如何实现这一点。 我尝试在每次混音器更新后删除对象的位置。但是事情是物体的位置并不能全部改变。

// This is how I load model and get position
var loader = new THREE.ColladaLoader();
var obj = loader.load(model_path, function (obj) {

  camera.add(obj)
  obj.position.set(0, -1.2, -4);

  var mixer = new THREE.AnimationMixer( obj );
  var clips = obj.animations;
  clips.forEach( function ( clip ) {
   mixer.clipAction( clip ).play();
  });
  mixer.update(0.5)

  var skeleton = new THREE.SkeletonHelper( model );
  scene.add( skeleton );

  var obj_position = obj.position // didn't change while animation play

})

那么如何使obj动画在原地播放?

0 个答案:

没有答案