发布
社区首页 >问答首页 >Three.js FBX模型动画卡在第一帧上

Three.js FBX模型动画卡在第一帧上
EN

Stack Overflow用户
提问于 2022-10-21 17:35:56
回答 1查看 56关注 0票数 1

我有一个角色的FBX模型。我也下载了一个简单的步行动画从Mixamo,没有皮肤。下面是我如何加载角色和动画:

代码语言:javascript
复制
const loader = new THREE.FBXLoader();
let mixer;
loader.load( 'Assets/T-Pose.fbx', function ( object ) {

    let anim = new THREE.FBXLoader();
    anim.load('Assets/Walking.fbx', function(anim){
        mixer = new THREE.AnimationMixer(object);
        let walking = mixer.clipAction(anim.animations[0]);
        walking.play();
    })

    scene.add( object );

} );

在我的渲染循环中,我只是更新混频器。

代码语言:javascript
复制
function render(){
    ...
    if (mixer) mixer.update();
}

当我加载我的场景,虽然这是我看到的:

角色被困在这个框架上,不再继续动画的其余部分。我在这里做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-25 19:07:14

当调用mixer.update()时,您需要给它以秒为单位的时间:

代码语言:javascript
复制
const clock = new THREE.Clock();

function render(){
  ...
  let mixerUpdateDelta = clock.getDelta();
  if (mixer) mixer.update(mixerUpdateDelta);
}

您可以看到关于动画的three.js文档:https://threejs.org/docs/?q=animation#manual/en/introduction/Animation-system

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74157340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档