Animation 和 Animator 之间的统一脚本有什么区别?

What is the difference in scripts in unity between the Animation and Animator?

到目前为止,在我使用的所有脚本中,当在脚本中更改步行速度或添加动画剪辑时,它根本没有影响。

要更改角色速度,我需要在第三人称角色(脚本)> 移动速度倍增器中进行更改。

要更改动画或添加动画,我需要转到 Animator window 并添加新状态并在该状态下使用 HumandoidWalk 然后将状态设置为默认状态或在脚本中使用这与 Play like Play("Walk")

那么脚本中的所有属性为什么速度和动画等从不影响呢? (如果需要,不讨论 Nav Mesh Agent 或 Character Transform)。

例如,我有一个可以接受行走动画的脚本,然后我 select HumandoidWalk 但这会使角色根本无法行走。只有当我在动画器中设置状态 window 然后它才会走路。

这不仅是一个特定的脚本,而且在其他脚本中也是如此。 我在很多地方看到用户使用 Animation 或 _animation with Play("Walk") 我要让玩家移动并使用动画我需要使用 Animator 或 _animator.

那么Animation和Animator在unity脚本上有什么区别windows?在这种情况下,我应该使用什么来使 ThirdPersonController 中的角色随着动画行走而不仅仅是移动?

例如,当使用 waypoints 时,我希望 运行 游戏中的敌人开始 walking/patrolling atuaomtic,所以我使用 HumanoidWalk 在 animator waindow 中创建新状态,然后在特定脚本中对于敌人,我使用 Play("Walk").

复杂性和向后兼容性。

基本上,当Unity刚被创建为产品时,它是一个非常基础的游戏引擎,游戏开发所必需的很多系统都不是很先进。然后,出现了对具有更多功能的东西的需求,在很多情况下,Unity 决定从头开始创建一个全新的系统,同时保留旧系统。

现在我们有用于 GUI、动画、输入处理、粒子以及我现在忘记的其他东西的旧系统和新系统。然而,这并不意味着旧系统完全无用:很多时候,您希望使用一个没有所有花里胡哨的简单直接的系统。

新的动画系统可以让你创造出很棒的角色,但也需要花费大量时间来学习和设置。如果你有一个简单的动画网格,只需要循环执行相同的动画,我会使用旧系统;如果我有一个复杂的角色,其中包含多层不同的行为和动画,它们相互融合,我会使用新的动画师。

顺便说一下,UI 也是如此:虽然旧系统不适合制作玩家外观 UI,但它仍然广泛用于快速原型和各种调试菜单。