当前位置: 首页 > news >正文

20250523-在Unity中创建角色动画(2D)(Set up Animator with State Machine)

20250523-在Unity中创建角色动画(2D)(Set up Animator with State Machine)

摘要:本文以类银河恶魔城2D学习案例为依托,简单介绍了如何在Unity中导入精灵图、,创建Animation Controller、Animation Clip、设置角色动画状态机等。
视频教程链接:https://www.udemy.com/course/2d-rpg-alexdev/ 、B站(BV1cM4y1p7RF)


一、主要步骤

  1. 导入资源:直接将Graphs文件夹拖到Assets窗口
    在这里插入图片描述

  1. 创建Animator组件

在这里插入图片描述


  1. 创建动画片段 AnimationClip(图示为后面几节做完后的效果),可能在这之前需要编辑精灵图。
    在这里插入图片描述

  1. 在Player脚本中获取Animator对象
    在这里插入图片描述

  1. 修改状态脚本

当玩家进入或者离开某个状态时,动画状态机要随之切换角色状态所对应的动画片段;这里是直接修改PlayerState类,因为后面玩家其他的状态类都会继承该类,所以相当于为玩家所有状态都添加了动画播放功能。

在这里插入图片描述


主要步骤如上,下面是对这些步骤的小总结及注意事项:

二、总结及注意事项

(1)当前所处动画片段总有一种向其他动画片段转移的趋势,只要从当前动画片段指向其他动画片段的箭头上的条件满足时,就会执行切换。

(2)Animator主要有Sprite Render和Animator组件,先拖动一个小人图形到Hierarchy窗口,就会产生一个游戏物体,这个物体上就自带Sprite Render组件,这个小人图形,应该就是Sprite。
在这里插入图片描述

(3)通过鼠标右键可以在Assets窗口创建Animator Controller组件。如下图
在这里插入图片描述

(4)点击Hierarchy窗口中挂着Animator组件的对象或者点击Assets中的不同Animator Controller,Animator窗口中就会显示不同的Animator Controller的结构;给对象添加一个Animator组件,在Controller属性处可以指定对应的Animator Controller。
在这里插入图片描述

(5)Animator窗口如下图所示,左边主要有【parameter】和【layer】两个属性,顾名思义就是参数和层级的意思,窗口内带颜色的表示各种状态,以及特殊的几个如【Entry】、【Any State】和【Exit】。
在这里插入图片描述

(6)双击某个片段可以看到下一层的状态图(如果有下一层的话)。

在这里插入图片描述

(7)箭头代表【Transitions】,就是控制状态切换用的;单击某个箭头,可以看到【Inspector】面板上有相应属性,一般【Has Exit Time】取消勾选,【Transition Duration】设置为0;还有注意下面的【Conditions】,代表执行状态切换需要满足的所有条件,条件中可能会用到AC(Animator Controller对象的)参数。
(这里要注意的是,如果不设置任何Condition,则需要勾上【Has Exit Time】,否则动画播放会有问题)
在这里插入图片描述

(8)点击Hierarchy中包含Animator组件的对象,可以在Animation窗口中看到该对象包含的所有的状态。可以点击左边下三角图标来创建或者切换Clip,Samples控制动画速度;在创建Clip时一般可以直接拖动几张Sprite到中间这个窗口。
在这里插入图片描述


在这里插入图片描述

感谢您的阅读,希望本文能对您有所帮助~

相关文章:

  • Makefile快速入门
  • PCB设计实践(二十五)贴片电阻与插件电阻的全面解析:差异、演进与应用场景
  • Python打卡第34天
  • 纸牌游戏(基于集合,和自定义排序实现)
  • MIAOYUN受邀参加“创投天府·周周见”活动,以AI原生技术赋能科创产业新生态
  • 2000-2023年各地级市进出口总额/地级市对外经济贸易数据
  • Python图像处理基础(四)
  • 【三维重建】【3DGS系列】【深度学习】3DGS的理论基础知识之如何控制高斯椭球
  • 详解osgb的顶点,纹理,索引,UV读取与存储
  • PyQt学习系列04-多线程与异步编程
  • 3362. 零数组变换 III
  • Honeywell CV-DINA-DI1624-2A 数字输入模块
  • 【Web前端】JavaScript入门与基础(一)
  • 【软件测试】第三章·软件测试基本方法(逻辑覆盖、路径覆盖)
  • Redis 缓存使用的BigKey问题
  • Cesium基础对象介绍
  • MySQL别名规则与应用场景
  • 矩阵详解:线性代数在AI大模型中的核心支柱
  • 【ICL】上下文学习
  • 英语写作中“假设”suppose, assume, presume 的用法
  • 廊坊做网站企业教程/电商培训机构靠谱吗
  • 渭南做网站费用/怎么做百度网页
  • 什么网站有做册子版/网络营销管理名词解释
  • 做网站用win还是li/网络营销的工作内容包括哪些
  • a家兽装定制网站/手机百度下载免费安装
  • 给企业做网站的公司西安/谷歌安装器