首页 > 其他分享 >2-6. 创建人物基本动画

2-6. 创建人物基本动画

时间:2024-02-24 09:05:08浏览次数:30  
标签:动画 velocityX 人物 创建 动画片 Player Animator

给帧图片命名

添加动画

首先需要给 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

标签:动画,velocityX,人物,创建,动画片,Player,Animator
From: https://www.cnblogs.com/hellozjf/p/18030687

相关文章

  • 2-2. 创建及配置新输入系统
    创建脚本文件夹路径新建PlayerController脚本升级新的输入系统ApiCompatibilityLevel改为.NETFramework,这样可以利用更多的C#特性ActiveInputHandling改为InputSystemPackage(New),这样可以使用新的输入系统。改完之后需要重新Unity然后还要安装新的输入......
  • 阿里云创建实例与购买服务器和公网IP
     写好的项目,在本地跑,别人访问不到,没有公网ip所以需要购买阿里云创建实例与购买服务器和公网IP#购买阿里云服务器#短期或是测试使用,创建按量收费服务器,可以随时删除,删除后不再计费,但要保证账户余额100元以上      阿里云服务器是ECS   亚马逊服务器是aw......
  • css 动画
    <divclass="quan-box">逐渐放大消失<div>  /*申明一个div的class用于执行动画*/.quan-box{opacity:0;background:#70D97C;position:absolute;//3秒执行完成quan动画,infinite动画会无限次重复播放,steps(40)表示将整个动画过程分割成40个......
  • 设计模式创建型之原型模式
    实验介绍本实验主要为大家介绍了前端中原型模式,为了加深大家对原型的了解,实验中花费大量篇幅讲解了原型及原型的概念,并配上了相关的例子以帮助大家学习。随后我们对class进行了简单的介绍,它可以被简单的认为是语法糖。最后,为了帮助大家理解原型中的克隆,实验也对浅拷贝与深拷贝......
  • 设计模式创建型之工厂模式
    基本概念在给出工厂模式的定义之前,不妨先来了解一下工厂的概念。通过百度百科查到的所谓工厂的定义:是一类用以生产货物的大型工业建筑物,即我们为工厂输送原料,经过工厂对原料进行处理加工之后会输出产物。例如下面这样一个例子:张三是一名大学生,毕业后为了上班方便就考虑买一台......
  • 设计模式创建型之单例模式
    实验介绍本实验主要介绍了设计模式中的单例模式,在前端领域中,有很多地方都运用到了单例模式的思维,例如目前的主流前端框架中所用到的Redux和Vuex。实验首先通过一个小例子为大家展示了单例模式的实现原理,随后通过完成一个自定义的Storage存储器来帮助大家加深对单例模式的理......
  • 【Python&GIS】Python线矢量等距离取点/线等分取点&点创建矢量面
    ​        不多说,这是之前项目需求的代码,已经是去年的了一直没来的及发,今天抽出来一丢丢的空挡发一下。主要就是利用线矢量等距离生成点矢量,或者直接将线矢量等分生成点矢量,这个需求其实极限一下就是线转点了(将距离设置小一点)。顺便将点生成矩形面的代码也给出来,这里的......
  • three-第三方动画库-让物体动起来更简单(gsap)
    gsap介绍:GreenSockAnimationPlatform(GSAP)是一个业界知名的动画库,它被1100多万个网站使用,有超过50%的获奖的网站都是用了它。不管是在原生环境中,还是任意的框架中,你可以使用GSAP去让非常多的东西动起来。不管你是想要去让UI界面产生交互动画,还是SVG图形产生动画,甚至是Three......
  • 2-1. 设置人物及基本组件
    添加刚体在Rigidbody2D上面有GravityScale,这表示人物收到的重力比例是1。重力参数可以通过ProjectSettings->Physics2D,找到Gravity的系数。此外物理更新的FixedUpdate函数会进入,就是因为SimulationMode设置了FixedUpdate另外记得把人物的刚体限制给锁定......
  • CreateHolesInImage说明文档-对于遥感影像的空洞创建多边形矢量数据
    提取遥感影像的空洞地理处理工具箱特点:通用地理处理工具,支持任何遥感影像,包括无人机,卫星遥感,普通图片和gdb,mdb数据库等。速度快,极致效率,效率高,支持对多个文件夹下的任意多数据进行批处理使用简单,全自动话,无人工干预功能:提取空洞提取空洞和非空洞默认临时文件夹,结果文件夹默认临时......