设置游戏对象旋转的动画方式,Window文件夹

设置游戏对象旋转的动画方式,Window文件夹

1 简介:

我们可以使用 Unity 为游戏对象的旋转设置动画,并且根据项目的不同,有不同的方法来应用这些旋转。

2.找到动画旋转选项:

在Project面板中创建Animation文件夹和AnimationController文件夹

旋转数组二分查找_unity四元数旋转_unity控制物体旋转

创建一个游戏对象(任何对象)并在 Inspector 面板中添加 Animator 组件

旋转数组二分查找_unity四元数旋转_unity控制物体旋转

在 Animator Controller 文件夹中创建一个新的 Animator Controller

unity控制物体旋转_旋转数组二分查找_unity四元数旋转

在Animation文件夹中新建一个Animation

unity四元数旋转_旋转数组二分查找_unity控制物体旋转

将动画控制器分配给多维数据集的动画组件

unity四元数旋转_旋转数组二分查找_unity控制物体旋转

双击CubeAnimatorController弹出Animator窗口,右键Create State-->Enpty

unity四元数旋转_旋转数组二分查找_unity控制物体旋转

点击新建的空状态并重命名UI界面,将Animation文件夹的CubeAnimation拖入Motion选项如图

unity控制物体旋转_旋转数组二分查找_unity四元数旋转

双击CubeAnimation,弹出Animation窗口。 此时,“添加属性”按钮呈灰色且不可用。

旋转数组二分查找_unity控制物体旋转_unity四元数旋转

返回Scene场景点击Cube或者直接点击Hierarchy面板中的Cube,就会激活Add Property按钮

unity四元数旋转_旋转数组二分查找_unity控制物体旋转

单击“添加属性”按钮,选择“变换”,然后单击“旋转”右侧的加号

旋转数组二分查找_unity控制物体旋转_unity四元数旋转

单击 Cube: Rotation 左侧的下标,展开 Cube X、Y、Z 轴的 Rotation 属性。

unity控制物体旋转_旋转数组二分查找_unity四元数旋转

点击Cube右侧按钮:Rotation弹出菜单项,选择Interpolation,会弹出三个旋转插值选项。

3. 旋转插补选项:

我们可以使用动画窗口来选择 Unity 如何将旋转应用于游戏对象。 Unity 使用插值来计算游戏对象在动画过程中如何从一个方向明显移动到另一个方向。

不同的插值方法在运动中看起来不同,但结果是相同的。 Unity 为动画提供了三种类型的插值:

欧拉角插值 欧拉角插值:

游戏对象旋转的默认值。

欧拉角插值通过我们输入的欧拉角角度将整个运动范围应用到指定的游戏对象上。

如果旋转角度大于360°,则游戏对象会完全旋转完后才停止在正确的方向上(如果大于360°,游戏会先经过360°旋转,然后再旋转剩下的角度,例如旋转 370°,它会先旋转 360°,然后再旋转 10°,而不是只旋转 10°)。

欧拉角(四元数)插值 欧拉角(四元)插值:

使用与欧拉角插值相同的插值方法,但将信息烘焙成四元素曲线。 此方法使用更多内存,但运行速度稍快。

四元数插值四元素插值:

四元素插值会将游戏对象沿着最短距离旋转到特定方向,也就是说,如果你设置游戏对象旋转370°,它只会旋转10°(动画会从0°开始旋转,当旋转一半,即5°,角度信息跳转到365°,然后继续旋转到370°)。

上述流程示例图:

unity控制物体旋转_unity四元数旋转_旋转数组二分查找

在时间线上的 1s 处单击鼠标,将时间线定位在 1s 处。

unity四元数旋转_unity控制物体旋转_旋转数组二分查找

点击如图所示的Add Keyframe按钮,添加1s处的关键帧

unity控制物体旋转_旋转数组二分查找_unity四元数旋转

在Rotation.y上输入370开始播放动画,Rotation.y会从0到370进行插值

unity控制物体旋转_旋转数组二分查找_unity四元数旋转

单击0:30,即动画进行到一半时,可以看到Rotation.y的值正好是370的一半

旋转数组二分查找_unity四元数旋转_unity控制物体旋转

Unity会自动在两个关键帧之间进行插值

旋转数组二分查找_unity四元数旋转_unity控制物体旋转

点击运行按钮开始播放旋转动画(默认为欧拉角插值旋转)

旋转数组二分查找_unity四元数旋转_unity控制物体旋转

换个欧拉角(四元)旋转方式,不过这个例子太简单了,看不出区别。

旋转数组二分查找_unity控制物体旋转_unity四元数旋转

改变四元素旋转方式(最短距离旋转unity四元数旋转,旋转370°,最终只旋转10°)

unity四元数旋转_旋转数组二分查找_unity控制物体旋转

动画将从 0° 开始旋转。 当旋转到5°的一半时,角度信息跳转到365°游戏角色,然后继续旋转到370°。

4.外部动画源的旋转问题:

来自外部源的动画通常包含欧拉格式的旋转关键帧动画(因为欧拉角是默认的旋转类型),Unity 对这些动画重新采样并为动画中的每一帧生成新的关键帧,以避免旋转超出旋转四个元素的有效范围。

例如,假设我们有两个相距六帧的关键帧,并且 x 值从 0 度旋转到 270 度unity四元数旋转,游戏对象将向相反方向旋转 90 度,因为这是获得相同结果的最短路径。 Unity会重新采样并在每一帧上添加一个关键帧,因此关键帧之间的旋转只有45度。

文章来源:https://www.bilibili.com/read/cv17686297/