Unity学习--2D动画--[序列帧动画]2D序列帧动画

·来源于唐老狮的视频教学,仅作记录和感悟记录,方便日后复习或者查找


一、什么是序列帧动画


二、代码制作序列帧动画

思路:只要我们动态地改变Sprite Render中Spirte这个参数即可

那我们就需要先需要在动画中出现的图片

设置好参数与图片切换的逻辑

之后回到场景中运行,就可以看到图片动态切换了起来

但是这样显然还是太麻烦了,不过好在Unity可以让我们更方便地在Animation中制作这样的序列帧动画


三、Animation窗口制作序列帧动画

方法一

1.创建一个空物体

2.创建一个动画

3.直接把动画需要的序列帧拖入窗口中

然后可以直接在这里改变帧率来控制每个序列帧之间的间隔

不过一般来说建议先改变帧率,然后再把序列帧拖进去

方法二

直接把图片拖入Hierarchy层级窗口中

一般是第一次创建这个动画的时候才会用这种方法

直接选中一组序列帧,然后拖入层级窗口中,它就会认为你是要创建序列帧动画了

注意:控制动画帧率,来控制动画的播放速度


四、利用Animator进行动画控制

和之前的3D的动画一样的

比如控制一个有移动,跳跃,待机三个状态的状态机

给它设置相应的条件参数,并加入到连接切换里。

当然还可以这样子,因为我们移动的时候获取输入本来就是一个数值,直接给到这里来判断也是OK的

最后采用的是布尔类型的isOnGround 和 整型的xSpeed去判断

idle和run的切换取决于xSpeed是否等于0

idle和jump的切换取决于isOnGround是否为假,以及xSpeed是否为0

run和jump的切换取决于isOnGround是否为假,以及xSpeed是否为0

所以,通过简单直观的条件判断,我们状态之间的切换大多还是符合正常人类思考的逻辑的


五、其他

1.无法生成精灵

如果你发现你的序列帧图片使用的时候报了这个警告⚠,而且没办法显示出来

而且没有这种正常的精灵图片显示

那你就先切回Default状态,然后把它Non-Power of 2这个枚举设置为None并应用

之后再切回精灵模式,并应用

它的精灵图片就正常出现,而且也可以在序列帧动画中正常显示啦

2.序列帧的轴心点设置

一般来说把轴心点设置在正下方比较合理。

可以在这里直接重新切片来集体重设轴心点位置

注意:最好先设置好轴心点之后,再来制作动画,不然先做完了,再调整轴心点,可能播放的时候会发现图片不见了,那就又要重新把序列帧拖进去,麻烦的

相关推荐
一定要AK13 小时前
HTML5 入门到精通全章节学习笔记
笔记·学习·html5
程序员zgh13 小时前
C/C++ 单元测试系统 构建
c语言·开发语言·c++·学习·单元测试
Chef_Chen13 小时前
Agent学习-RAG--上下文压缩与知识库的更新
人工智能·学习·自然语言处理
计算机学姐13 小时前
基于SpringBoot的在线学习网站平台【个性化推荐+数据可视化+课程章节学习】
java·vue.js·spring boot·后端·学习·mysql·信息可视化
Engineer邓祥浩13 小时前
JVM学习笔记(7) 第三部分 虚拟机执行子系统 第6章 类文件结构
jvm·笔记·学习
kgduu14 小时前
react源码学习之reconcile
前端·学习·react.js
V搜xhliang024614 小时前
AI大模型辅助临床医学科研应用、论文写作、数据分析与AI绘图学习
人工智能·学习·数据分析
ZhiqianXia14 小时前
PyTorch 学习笔记(13):third_party 第三方依赖全景图
pytorch·笔记·学习
ps酷教程14 小时前
sa-token学习(2)
学习
想你依然心痛14 小时前
HarmonyOS 5.0游戏开发实战:构建高性能2D休闲游戏引擎与 monetization 系统
华为·游戏引擎·harmonyos