如何旋转/镜像 3d 动画?

Posted

技术标签:

【中文标题】如何旋转/镜像 3d 动画?【英文标题】:How to rotate/mirror a 3d animation? 【发布时间】:2011-12-27 05:43:21 【问题描述】:

我目前有一个两足动物的 FBX 动画模型,它略微向前移动(正 Z 轴),转身 180 度,然后开始向相反方向(负 Z 轴)运行。 但是,我想完全反映这样的动画,换句话说,开始朝负 Z 轴前进,并向前转向正 Z 轴。这个,最好通过3dsMax。

我知道您一定在想什么,“他为什么不直接旋转动画角色的变换组件/对象??”。好吧,不幸的是,我正在处理的当前代码取决于角色移动应该独立于实际动画,以及其他限制。

显然,根据我们这里的 3d 设计师的说法,3dsMax 中没有简单的“旋转动画”选项(是否检查过?),所以我正在寻找可以帮助我的可能脚本。有人听说过这样的解决方案吗?提前致谢。

【问题讨论】:

有一段时间没有使用 3dsmax,但据我所知,您可以将带有动画关键帧的对象作为父对象/链接到在 Y 轴上旋转 180 度的虚拟对象。就代码而言,如果您有一个在 Y 上旋转 180 度的变换矩阵,并将其与所有关键帧位置相乘,您应该获得由该矩阵定向的动画(反转 180 度)。还没有尝试过(目前没有可用的 PC),但从概念上讲,它应该可以工作 【参考方案1】:

创建一个与模型根对齐的虚拟对象。 将模型的根链接到该虚拟对象。 仅选择虚拟对象后,单击主工具栏上的镜像按钮。

这将创建骨骼的镜像以及这些骨骼上的动画。唯一需要注意的是骨骼的名称也将被镜像。例如。名为“right_arm”的手臂现在位于左侧。

如果您需要将动画保留到原始骨骼,请考虑使用动画混合器。这允许将动画加载和保存到角色上。但它也有对象映射功能,允许不同名称的对象加载到保存的动画上。

所以创建一个映射。保存镜像动画。并使用该映射将其加载回原始骨骼。

【讨论】:

以上是关于如何旋转/镜像 3d 动画?的主要内容,如果未能解决你的问题,请参考以下文章

Css3动画 如何画3D旋转效果或者卫星围绕旋转效果

html5如何让图片3d旋转

学CSS3的3D动画 ——3D旋转—— 妙味课堂

围绕特定轴动画qt3d旋转

在 matplotlib 中为旋转的 3D 图形制作动画

ESP8266 RaCube3D旋转动画(单体)