Animancer学习札记
请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com
Mecanim和Animancer动画机制之比较 播放动画 不使用代码播放动画 Mecanim不使用代码播放动画的步骤如下:
在项目中创建一个AnimatorController asset并打开它。 在AnimatorController编辑器窗口中,创建一个state,并为其分配一段animation clip 将这个AnimatorController asset分配给模型上的Animator组件。Animator进入播放模式,播放指定的动画。 Animancer不使用代码播放动画的步骤如下:
添加一个NamedAnimancerComponent组件到模型game object中。 将所需的添加animation clip到该组件的Animations数组中。 进入播放模式播放动画。 使用代码播放动画 Mecanim使用代码播放动画的步骤如下:
编写如下的代码。 将这个组件绑定到某模型的game object,并将模型已经挂接好的Animator组件,指派给代码中的_Animator成员变量。 在项目的某处创建AnimatorController asset。并将其赋给_Animator成员变量。 创建一个idle state,并且将一个animation clip赋给它。它将是默认状态,因为它是首先创建的。 创建一个action state,并将一个animation clip赋给它。 创建从action到idle的transition,并确保其Exit Time已启用。 using UnityEngine; public class PlayOnClick : MonoBehaviour { [SerializeField] private Animator _Animator; private void Update() { if (Input.GetMouseButtonDown(0)) { _Animator.Play("Action"); } } } Animancer使用代码播放动画的步骤如下:
编写如下的代码。 将这个组件绑定到某模型的game object,并将模型已经挂接好的AnimationComponent组件,指派给代码中的_Animancer成员。 using Animancer; using UnityEngine; public class PlayOnClick : MonoBehaviour { [SerializeField] private AnimancerComponent _Animancer; [SerializeField] private AnimationClip _Idle; [SerializeField] private AnimationClip _Action; private void OnEnable() { _Animancer.