我有一個角色的 FBX 模型。我還從 Mixamo 下載了一個簡單的步行影片,沒有皮膚。這是我加載角色和影片的方式:
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 );
} );
在我的渲染回圈中,我只是更新了混音器。
function render(){
...
if (mixer) mixer.update();
}
當我加載我的場景時,雖然這是我看到的:

角色卡在這一幀上,不再繼續影片的其余部分。我在這里做錯了什么?
uj5u.com熱心網友回復:
呼叫時mixer.update(),您需要給它以秒為單位的時間:
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/521020.html
上一篇:CSS按鈕影片未啟動
下一篇:如何以互動方式更改影片引數
