目录
Animation(旧版组件)
在 Unity 中,Animation
组件是一种用于播放和控制简单动画的组件。虽然 Animator
组件(基于 Mecanim 动画系统)现在更为常用且功能强大,但 Animation
组件仍然适用于一些简单的动画需求。
Animation 组件的基本概念
Animation
组件用于处理传统的关键帧动画,它可以播放一个或多个 Animation Clip
(动画片段)。每个 Animation Clip
包含关于对象属性如何随时间变化的数据。
如何使用 Animation 组件
-
创建动画片段(Animation Clip):
- 在项目窗口中,右键点击并选择
Create > Animation
来创建一个新的Animation Clip
。 - 编辑这个
Animation Clip
,定义对象的属性如何随时间变化。
- 在项目窗口中,右键点击并选择
-
添加 Animation 组件到游戏对象:
- 选择需要动画的游戏对象。
- 在 Inspector 窗口中,点击
Add Component
按钮,搜索并添加Animation
组件。
-
分配 Animation Clip:
- 将创建的
Animation Clip
拖到Animation
组件的Animation
字段中。 - 你可以在
Animation
组件中添加多个Animation Clip
,并为每个片段设置名称。
- 将创建的
-
控制动画播放:
- 你可以通过脚本来控制动画的播放。例如:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimationTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
GetComponent<Animation>().Play("right"); // 如果参数为空,则播放默认的动画片段
}
}
}
Animator(新版组件)
在Unity中,Animator是用来处理复杂动画系统的组件,比旧版的Animation组件功能更强大。Animator使用Animator Controller来管理和切换动画状态,支持动画混合、参数控制、状态机等功能。
基本使用步骤:
1. 添加Animator组件:
- 在Unity编辑器中,选择一个GameObject。
- 在Inspector窗口中,点击`Add Component`按钮。
- 搜索并选择`Animator`组件。
2. 创建Animator Controller:
- 在项目窗口中,右键点击空白区域,选择`Create > Animator Controller`。
- 给Animator Controller命名,比如`MyAnimatorController`。
- 将创建好的Animator Controller拖拽到GameObject的Animator组件的`Controller`字段中。
3. 创建动画片段:
- 在项目窗口中,右键点击空白区域,选择`Create > Animation`。
- 创建不同的动画片段(如`Idle.anim`, `Walk.anim`, `Run.anim`)。
- 在Animator窗口中,打开Animator Controller,将这些动画片段拖拽到Animator状态机中。
4. 设置动画转换(Transitions):
- 在Animator窗口中,选择一个动画状态(如`Idle`),右键点击选择`Make Transition`,然后点击另一个动画状态(如`Walk`)。
- 配置转换条件,比如根据参数来触发转换。
5. 控制动画播放:
- 使用代码控制动画参数,从而触发动画状态转换。
示例代码:
using UnityEngine;
public class AnimatorExample : MonoBehaviour
{
private Animator animator;
void Start()
{
animator = GetComponent<Animator>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.W))
{
animator.SetBool("isWalking", true);
}
else if (Input.GetKeyUp(KeyCode.W))
{
animator.SetBool("isWalking", false);
}
}
}
详细步骤说明
1. 创建参数:
- 在Animator窗口中,点击`Parameters`标签。
- 点击`+`按钮,添加一个布尔参数,命名为`isWalking`。
2. 设置转换条件:
- 选择Idle状态到Walk状态的转换箭头。
- 在Inspector窗口中,点击`+`按钮添加条件。
- 设置条件为`isWalking == true`。
3. 返回Idle状态的转换条件:
- 选择Walk状态到Idle状态的转换箭头。
- 设置条件为`isWalking == false`。
通过以上步骤,当按下`W`键时,动画会从Idle转换到Walk;松开`W`键时,动画会从Walk转换回Idle。
这样,Animator组件可以帮助你创建更复杂和灵活的动画系统,适应不同的游戏开发需求。