欢迎光临散文网 会员登陆 & 注册

游戏原型系列 vol.6 使用Animation Rigging(动画绑定)

2020-06-29 21:00 作者:NXL2  | 我要投稿

摘要

动画绑定是开发过程中的一种专门技术。创建动画绑定是一个非常耗时的过程,有时需要几个人来创建满足项目所有需求的装备。使用Unity的动画绑定工具,由于这些工具的灵活性和稳定性,减少了时间和人力。


1.简介

动画绑定是3D建模过程中的一种专门技术。创建动画绑定可能很耗时,有时还需要几个人的工作才能生产出满足项目所有需求的装备。借助Unity的“程序化动画绑定”工具,可以显着减少时间和人力。


2.动画绑定概述

首先,从“Package Manager(程序包管理器)”安装“Animation Rigging(动画绑定)”程序包。动画绑定包适用于Unity 2019.1及更高版本。(这些工具仍处于预览状态,可能会随着添加更新而改变。)

图01:动画绑定过程

动画绑定包提供了绑定约束库,可用于在运行时创建过程运动。这通常称为“runtime rigging(运行时绑定)”。约束是在称为装备的组中进行设置的,这些组在分配给资源的动画师Root的装备生成器组件中组装。这使用户可以在游戏过程中使用动画骨骼来完成强大的功能,例如世界互动。动画绑定工具可以使用程序控制的骨骼来帮助创建更高品质的绑定,该骨骼可以帮助修正蒙皮网格物体角色的肩膀和手腕的扭曲。基于物理的约束可用于角色装备上的动态辅助运动。

图02:动作动画


3.设置Rig Builder(绑定制造器)

  • 首先,将带有Animator组件的Rig Builder组件添加到GameObject中。通常,这是绑定层次结构中最顶层的变换。

  • 接下来,创建一个新的子GameObject并添加Rig组件。

  • 最后,将rig分配到Animator根上Rig Builder组件中的“ Rig Layers”列表中(图03 )。

图03:Rig Builder(绑定生成器)组件

至此,您将创建最基本的绑定。下一步将是添加约束以获得所需的行为。为了使设置约束更加容易,建议您设置“Bone Renderers(骨骼渲染器)”和“Rig Effectors(绑定效果器)”。


4.Bone Renderer(骨骼渲染器)

为了在Unity编辑器中使用绑定,它有助于在“场景”视图中查看骨架并与之交互。现在,我们有了Bone Renderer组件(图04 ),它使您可以添加一个转换列表并以各种视觉样式显示它们。

图04:Bone Renderer组件

它通常有助于使用多个Bone Renderer组件来组织骨骼的各个部分。例如,角色的身体,手指和扭曲骨头可以具有多个骨骼渲染器组件,每个组件都有自己的显示样式。这有助于简化不同的艺术家工作流程,例如绑定设置,关键帧或游戏调试。


5.Rig Effectors(绑定效果器)

与骨骼类似,绑定效果器允许用户将Gizmos添加到变换中以进行可视化和选择。这些可以添加到与“Rig Builder(绑定生成器)”或“Rig(绑定)”组件相同层次结构中的任何变换中。效应器在“游戏”视图中不可见。添加了特殊的“场景视图”叠加层,以在“绑定”层次结构中管理和自定义效果器(图05 )。

图05:带有特殊场景视图中的Gizmo的绑定效应器

效果器的外观也可以自定义。可以修改效果器的尺寸,形状,颜色,偏移位置和偏移旋转。形状可以是项目中可用的任何Mesh资源。可以一次创建,删除和编辑多个效应器。


6.使用Rig Constraints(绑定约束)

绑定约束是用于在运行时组装绑定并产生程序运动的构造块。它们被设计为模块化和通用的,因此可以通过多种不同方式组合起来,以解决运行时动画游戏设计的需求。

以下是与软件包一起发布的绑定约束列表(图06 )。

图06:包装附带的绑定约束


7.设置两个骨骼的IK约束

大多数角色绑定中都使用“两骨骼IK约束”,以允许角色的四肢通过逆运动学来驱动。这样就可以根据IK目标的位置和运动来解决角色肢体的位置和旋转。在以下示例中,我们将为角色的手臂设置“两个骨骼IK约束”。

  • 首先,将角色重置为“绑定姿势”。这可以使装配过程更加容易。为此,请在菜单栏中单击“动画绑定”,然后选择“恢复绑定姿势”(图07 )。使用“还原绑定姿势”时,请确保已选择角色。

图07:恢复绑定姿势
  • 接下来,添加称为角色游戏对象以下的子游戏物体CharacterRig

  • 在CharacterRig下面添加一个名为Right Arm IK 的子GameObject 。

  • 在Right Arm IK下添加两个子GameObject:

⬛将第一个命名为RH IK Target

⬛命名第二个RH IK Hint图08 )。

图08:角色绑定的GameObjects
  • 将Rig Builder组件添加到Animator根GameObject(在此示例中,它称为Ninja)(图09

请注意,“Rig Layer(绑定层列表)”为空。这是我们将添加绑定的地方。

图09:绑定部件将被添加到绑定层列表中
  • 选择CharacterRig GameObject并添加一个Rig Component(图10 )。

这将用作全局绑定,允许用户打开和关闭整个绑定。


选择“右臂IK”并添加“两个骨骼IK”约束(图11 )。
图11:“两个骨骼” IK约束被添加到充当IK控制器的GameObject中
  • 选择“ RH IK Target”并添加一个Box Effector。

更改Color和Size参数以适合您的样式和需求(图12 )。

图12:修改效应器的形状,颜色,大小,位置和旋转
  • 请注意,Box Effector(盒形效应器)未与手对齐。在层次结构中选择Box Effector,然后按住CRTL(对于Mac为COMMAND),选择右手。

右手的GameObject是角色骨架中的子级。

  • 在选择Box Effector并选择了右手的情况下,单击菜单栏中的“动画绑定”,然后选择“对齐变换”。Box Effector现在应该与右手对齐。如果不是,请确保先选择Box Effector,然后再选择右手。

图13:使用“动画绑定”菜单中的工具使对齐更加容易。
  • 选择“ RH IK Hint”并添加一个Ball Effector。该效应器将控制肘部的旋转角度。

  • 选择“ RH IK Hint”和“ RightElbow”,然后单击“Animation Rigging(动画绑定)”>“Align Transform(对齐变换)”。

  • 如图所示,将球形效应器移离肘部(图14 )。

图14:提示效应器用于控制肢体的旋转。
  • 选择RightArm IK GameObject并将相应的骨骼应用于“两个骨骼IK约束”组件(图15 )。

最简单的方法是将GameObjects从“层次结构”拖放到适当的参数槽。

图15:分配组成IK链和源对象的骨骼
  • 选择角色动画设计者根GameObject(忍者),然后将Character Rig GameObject添加到Rig Layers列表中(图16 )。

图16:将所有绑定添加到“ Rig Builder”组件的“ Rig Layers”列表中
  • 在“场景视图”中,按“播放”并移动或旋转“ RH IK Target”和“ RH IK Hint”游戏对象以测试约束(图17 )。

图17:按“播放”,切换到“场景视图”,然后移动效应器进行测试


8.结论

Unity的动画绑定是一组功能强大的工具,可让您在Unity中创建实时绑定。虽然此工具集通常用于角色,但可以在具有骨架和动画的任何GameObject上使用。尝试为机器等对象创建实时绑定。

游戏原型系列 vol.6 使用Animation Rigging(动画绑定)的评论 (共 条)

分享到微博请遵守国家法律