Version: 6000.3
语言: 中文
性能和优化
旧版动画系统

Mecanim 常见问题

一般问题

动画窗口和动画器窗口 可视化和编辑动画器控制器的窗口。更多信息
请参阅术语表
?

使用动画窗口创建和编辑动画剪辑可用于动画角色或简单动画的动画数据。它是一个简单的“单位”运动片段,例如(一个特定实例)“空闲”、“步行”或“运行”。更多信息
请参阅术语表
在 Unity 中。您可以使用它来为几乎所有可以在inspector一个 Unity 窗口,显示有关当前所选游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
,来自游戏对象的位置、材质颜色、灯光的亮度、声音的音量,甚至是你自己的任意值脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
.

使用 动画器窗口(Animator Window) 将现有动画剪辑资源组织到一个类似流程图的系统中,称为状态机Animator 控制器中角色或动画游戏对象可以处于的状态集,以及这些状态之间的一组转换和用于记住当前状态的变量。可用的状态取决于游戏的类型,但典型的状态包括空闲、行走、奔跑和跳跃等。更多信息
请参阅术语表
.

这两个窗口都是 Mecanim 动画系统的一部分,而不是 旧版动画(Legacy Animation) 系统的一部分。

我们使用旧版动画系统来制作角色动画。我们应该改用 Mecanim 动画系统吗?

一般来说,是的,你应该这样做,因为大多数角色动画都更复杂。

进口

为什么我的导入meshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表
有一个动画器组件模型上的一个组件,使用动画系统为该模型制作动画。该组件具有对控制动画的 Animator 控制器资源的引用。更多信息
请参阅术语表
附着它?

当 Unity 检测到导入的文件有动画时,它将在导入时添加动画组件。你可以在资产的导入设置中修改这一点,方法是将 动画类型(Animation Type) 设置为None在 Rig(Rig) 选项卡下的导入设置中。您可以一次对多个文件执行此作。

图层的顺序重要吗?

是的。图层按顺序从上到下进行评估。设置为覆盖的图层将始终覆盖前几层(如果它们有蒙版,则基于它们的蒙版)。

使用另一层时,基础层的权重值应该始终设置为 1 还是权重应该为零?

基础层权重始终为 1,覆盖层将完全覆盖基础层。

有什么方法可以在不使用名称字符串的情况下从控制器获取变量值吗?

您可以使用整数来标识状态和参数。使用 Animator.StringToHash 函数获取整数标识符值。例如:

runState = Animator.StringToHash("Base Layer.Run");
animator.SetBool(runState, false);

如果同步层上的状态与基础层中的相应状态的长度不同,会发生什么情况?

如果层的长度不同,它们将变得不同步。启用 Timing 选项以强制当前图层和源图层上的状态计时。

头像面具

除了左脚、右脚、左手、右手之外,还有没有其他方法可以创建 AvatarIKGoals?

是的,支持膝盖和肘部 IK。

有没有一种方法可以定义哪些转换是头像用于将动画从一个绑定重定向到另一个绑定的界面。更多信息
请参阅术语表
面具?

是的,对于通用剪辑,您可以定义导入或不导入哪个变换动画。对于人形剪辑,始终导入所有人体变换,并且可以定义额外的变换。

动画曲线

具有曲线的动画如何与没有曲线的动画混合?

当您有一个带有曲线的动画和另一个没有曲线的动画时,Unity 将使用连接到曲线的参数的默认值来进行混合。 你可以为参数设置默认值,因此当在具有曲线参数的状态和没有曲线参数的状态之间进行混合时,它将在曲线值和默认参数值之间进行混合。 要设置参数的默认值,只需在 动画器工具(Animator Tool) 窗口中设置其值,而不在LiveLink中设置其值。

性能和优化
旧版动画系统