3D 骨骼动画的世界坐标和本地坐标问题请教

  • Creator 版本: 3.0.0

  • 目标平台: iOS

背景

情况是这样,我们目前项目使用 3.0.0 开发,其中会有多个 3D模型,他们骨骼部分是一致的。因此前期的方案是将动作部分单独导出一个 fbx,打算复用动作。

但后来动画师提供的新的模型,在复用动作时,模型执行动作会出现穿帮,尤其是在脸部。沟通后了解到,动画师的反馈是,虽然动作是可以复用(因为是同一套骨骼),但因为每个人物模型,比如脸部是有一些细微的差别。

问题来了

根据动画师的反馈,他们在 blender 里调试预览,复用动作是没问题的,猜测是 cocos 内在播放动作时,使用的是全局坐标系,预期是用和执行动作的目标人物的本地坐标?

我不清楚这样解释是否正确,以及相关专业术语不是特别了解。想请教下大家这个问题是否有办法解决?

非常感谢!!!

你好,是否勾选了 “UseBakedAnimation” ?

没有勾选,这个是通过代码设置的吧?看上去我们的模型在 cocos 里没有这个选项。

另外通过代码设置这个参数 true or false 都还不行

是在动画组件的属性上

请问是这里吗?

不是的,是比如你把FBX拖到场景里,那个根节点上的属性检查器上有个动画组件,里面有个 UseBakedAnimation

恩 看到了 是勾选的上的。我们这边是通过代码绑定的,所以代码里应该也可以设置这个参数对吧

是的,但是注意下时序,在动画播放开始钱设置下

恩 你们的建议是勾选还是不勾选呢?我两种都尝试了,还是不符合预期。这个参数的意义是什么呢

这个参数意思是是否使用预烘焙,所谓预烘焙就是指预先把动画烘焙成固定帧率(一般是30帧)的动画,这样采样更快。但是缺点就是不支持动画混合(例如crossFade)、看起来可能不够流畅。

我看一下你反应的问题

你好,有些问题需要询问下,能否看下小秘书

小秘书已回复。感谢