我想使用关键帧为3d对象(风扇在无限模式下在一个轴上绕360度旋转)设置动画。 我使用Blender 2.78创建了3D模型和动画,并使用gltf expoter将其导出。
您可以从此处检查或下载.glb或.blend文件 all resources in github repository
怎么了?
动画模型各端之间的暂停片刻。我真的不知道怎么回事我是在Blender方面做错了还是在代码中缺少设置的属性?
1-我还试图将.glb模型上传到glTF Viewer,并且在动画结束时也可见此“跳转”(如果您减少播放动画,则更好地了解发生了什么。)
2-我也在尝试设置不同的旋转组合kayframe:
1帧:风扇组旋转0-|-10帧:风扇组旋转324(我在这里跳得很奇怪)
1帧:风扇设置旋转0-|-10帧:风扇设置旋转360(此处风扇暂停了一段时间)
3-我还试图将外推模式设置为线性,但它不会影响extrapolation blender image
4-导出glft设置(始终选中示例动画)image glft settings
这是我用来制作动画的代码的一部分
loader.load("animation.glb", gltf => {
this.mixer = new THREE.AnimationMixer(gltf.scene);
//this.mixer.timeScale = 0.6;
let action = this.mixer.clipAction(gltf.animations[0]);
action.play();
scene.add(gltf.scene);
)};
startAnimationLoop = () => {
this.delta = this.clock.getDelta();
if (this.mixer) this.mixer.update(this.delta);
//[...] rest o code
};
我开始认为缺少某种插值属性...
注意
我想用模型中的动画来做到这一点,而不是通过添加mesh.rotation.x + = 1来旋转网格。在动画循环中
编辑解决方案
好的,抱歉,我是自己找到的...在搅拌机动画方面这是错误的。我实际上是在“第一个”关键帧上将旋转0设置为非零,而不是在“零”上生成暂停(不知道搅拌器中关键帧中的动画从0开始计数...)