【发布时间】:2020-01-31 08:12:42
【问题描述】:
我使用 Blender 创建了一个带有简单动画的 3D 对象,然后将其导出为 .gLTF 文件,我尝试导入到 THREE.js,但我只能导入 3D 对象但无法加载动画,如何将动画加载到 Three.js?
【问题讨论】:
我使用 Blender 创建了一个带有简单动画的 3D 对象,然后将其导出为 .gLTF 文件,我尝试导入到 THREE.js,但我只能导入 3D 对象但无法加载动画,如何将动画加载到 Three.js?
【问题讨论】:
播放动画最基本的代码如下:
loader.load( 'models.glb', function ( gltf ) {
var model = gltf.scene;
var animations = gltf.animations;
scene.add( model );
//
mixer = new THREE.AnimationMixer( model );
var action = mixer.clipAction( animations[ 0 ] ); // access first animation clip
action.play();
} );
然后,您必须确保在动画循环中更新 AnimationMixer 的实例,如下所示:
var delta = clock.getDelta(); // clock is an instance of THREE.Clock
if ( mixer ) mixer.update( delta );
查看webgl_animation_skinning_blending 以查看此代码的运行情况。
three.js R109
【讨论】: