2-6. 创建人物基本动画
给帧图片命名
添加动画
首先需要给 Player 添加 Animator 组件
然后创建 Animations/Player 文件夹,并在该文件夹下面添加 Animator Controller,起名叫 Player
然后把 Player 拖到 Animator 的 Controller 上面
打开动画状态机
Window -> Animation -> Animator
创建 Idle 动画
Window -> Animation -> Animation,打开动画片段编辑器
点击 Create,把文件放到 Animations/Player 文件夹下面,起名叫 blueIdle.anim,接着把动画帧拖动到 Animation 窗口上,然后点击播放就能看到人物播放动画了。如果播放按钮是灰的,那么需要先选中人物。可以修改帧率,如果看不到帧率,需要点击右边三个点显示帧率,然后就能调整动画速度了
当前已经处于预览状态了,想要回到初始状态,需要点击左上角的 Preview 按钮
创建 Run 动画
点击左侧的 Create New Clip 添加动画片段,后面的操作和创建 Idle 动画类似
创建 Walk 动画
与创建 Run 动画类似
更快创建动画片段的方法
直接选中多个图片,拖动到人物上面,然后就会提示你动画片段要创建到哪里去,并且如果人物没有 Animator Controller 还会自动创建 Animator Controller
个人觉得这种方式创建动画片段更快
动画状态机切换状态
这里定义一个 velocityX 变量,当 velocityX > 0.1 的时候,就进入走路状态,当 velocityX > 2 的时候就进入跑步状态
然后创建 PlayerAnimation 脚本,挂到 Player 上面,每帧设置一下 velocityX
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerAnimation : MonoBehaviour
{
private Animator anim;
private Rigidbody2D rb;
private void Awake()
{
anim = GetComponent<Animator>();
rb = GetComponent<Rigidbody2D>();
}
private void Update()
{
SetAnimation();
}
public void SetAnimation()
{
anim.SetFloat("velocityX", Mathf.Abs(rb.velocity.x));
}
}