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));
    }
}

项目相关代码

代码仓库:https://gitee.com/nbda1121440/2DAdventure.git

标签:20240224_0411

posted @ 2024-02-24 04:32  hellozjf  阅读(29)  评论(0编辑  收藏  举报