我已经从https://www.youtube.com/watch?v=8n_v1aJmLmc的教程中复制了用于加载动画(来自mixamo的跳舞的twerk )到现有的fbx模型(来自mixamo的道格拉斯)的代码,但它不起作用,因为SimonDev使用的是three.js的118版本,而我使用的是128版本。
const loader = new FBXLoader();
//load model
loader.setPath('../models/characters/');
loader.load('Douglas.fbx', (fbx) => {
//scale the model down
fbx.scale.setScalar(0.0115);
/*
fbx.traverse(c => {
c.castShadow = true;
});
*/
//animate character
const anim = new FBXLoader();
anim.setPath('../models/characters/animations/');
anim.load('Twerk.fbx', (anim) => {
this.walkMixer = new THREE.AnimationMixer(anim);
//creates animation action
const walk = this.walkMixer.clipAction(anim.animations[0]);
walk.play();
});
this.object.add(fbx);
});这在我的update函数中
//animation
if (this.walkMixer) {
this.walkMixer.update(this.clock.getDelta());
}动画以前在与动画和gltf相同的模型中工作,但我试图将模型和动画分开,这样我就可以应用mixamo中的不同动画。我的代码根本没有加载动画,他只是站在一个T形姿势。我不知道什么是当前的代码加载一个单独的动画从mixamo到当前的fbx模型。我想知道如何,因为我想加载和播放同一模型上的多个动画。
发布于 2021-05-28 09:26:03
我设法解决了这个问题->这是因为我导入了多个three.js
https://stackoverflow.com/questions/67731628
复制相似问题