Unity 2D Animation(2D动画)学习
引言
2D Animation是Unity2018版本之后出来的新功能,我们可以用其在2D图片上制作骨骼动画。
例如我们可以将下面这张2D图片添加一个动画。
由于是简单的一张图片,所以效果不是特别好,我们也可以在PhotoShop中一张完整的图片切割成好几个部分(图层),然后导出一个PSB文件(PSD文件暂时不支持)来单独处理每个图层的动画效果。
接着跟着一起,让图片动起来吧。
准备工作:
官方文档:https://docs.unity3d.com/Packages/com.unity.2d.animation@3.1/manual/index.html
打开Window->Package Manager,安装2D Animation,如果需要支持PSB文件,需要安装2D PSD Importer。
个人使用的Unity版本为2019.3,2D Animation版本为3.1.1。
挑一张你喜欢的图片,放进Unity工程当中。
Skinning Editor介绍
首先我们将图片的Texture Type设置为Sprite(2D and UI),点击Sprite Editor按钮,打开编辑界面
然后我们选择Skinning Editor
在Skinning Editor中,我们可以进行骨骼网格以及权重的编辑。
在这里简单的介绍下界面中这些按钮的功能
按钮 | 快捷键 | 功能 |
---|---|---|
Reset Pose | Shift + 1 | 将角色的骨骼关节恢复到原始的位置 |
Visibility | Shift + P | 打开一个新的面板,在里面可以设置骨骼和图片的可见性 |
Preview Pose | Shift + Q | 设置好后可以在这通过旋转骨骼预览效果 |
Edit Bone | Shift + W | 编辑骨骼,可以调整骨骼的位置方向和大小等 |
Create Bone | Shift + E | 创建新的骨骼 |
Split Bone | Shift + R | 拆分骨骼,即将原有骨骼拆分为两个新的骨骼 |
Auto Geometry | Shift + A | 自动生成网格 |
Edit Geometry | Shift + S | 编辑网格,可以调整顶点和边缘线的位置 |
Create Vertex | Shift + J | 添加新的顶点 |
Create Edge | Shift + G | 添加新的边缘线,先选中一个顶点然后拖动即可 |
Split Edge | Shift + H | 拆分边缘线 |
Auto Weights | Shift + Z | 自动生成几何权重 |
Weight Slider | Shift + X | 通过滑动条调整权重 |
Weight Brush | Shift + N | 通过笔刷调整权重 |
我们可以通过双击图片来显示网格和骨骼,或者双击空白处来隐藏这些。也可以通过按住鼠标左键拖动来进行多选,若要取消当前选中,单击鼠标右键即可。
编辑图片
首先我们先简单的添加一些骨骼,如图
骨骼添加好后,我们选择Auto Geometry,为其添加网格与权重。
Outline Detail | 值越大,生成的边缘线越多,细节越好 |
Alpha Tolerance | 当像素的透明度低于设置的值,在边缘线生成检测时,该像素当透明处理 |
Subdivide | 值越大生成的顶点越多,划分的更细 |
Weights | 选中时,同时生成权重 |
调整数值后,生成的效果如下:
权重生成出一堆五颜六色的区块,一开始有点懵,后面通过旋转骨骼后发现,这些颜色区块都是对应一个骨骼,当一个骨骼旋转时,与其颜色相近的部分都会受到影响,进行旋转。
选中Edit Geometry,可以看见生成的顶点以及边缘线
此时我们点击Preview Pose,把骨骼进行简单的旋转,发现变形的厉害,这也印证了前面权重的意义。
点击Reset Pose恢复到原始样子,重新编辑下我们的骨骼顶点和权重,可以自己添加一些顶点,也可以将自动生成的几个参数调大一点重新生成。调整后大致如下
然后再去转动骨骼会发现基本效果就好了很多。
点击Visibility按钮会打开一个新的面板,如图
上面两个滑动条分别控制骨骼和权重的可见性,也就是透明度,然后两个按钮Bone和Sprite分别显示当前的骨骼和图片。然后我们可以在下面的列表中去隐藏骨骼或者贴图。(由于我只用了一张图片,所以没有Sprite选项)
全部搞好之后,记得点击Apply提交一下。
导入场景中
接着我们可以直接将图片拖到场景中,然后为其添加Sprite Skin组件,点击该组件的Create Bones按钮即可在子节点下自动生成骨骼。旋转这些骨骼,图片也会跟着相应的转动。
添加动画
最后我们只需要添加上动画文件就可以让其动起来了。
在组件上继续添加一个Animator组件,然后在Project面板中Create一个Animator Controller文件,关联到该组件上。然后再Create一个Animation文件,双击Animator文件,关联上我们的Animation。
双击Animation文件打开编辑面板,然后Hierarchy中选中我们的图片,为我们的骨骼添加动画。
全部搞好后,点击运行,我们的图片就会动起来啦。
Unity 2D Animation(2D动画)学习相关推荐
- Unity制作Animation帧动画
1,把9个头像的图片放入Asset 2,点击图片,右侧,Texture Type里改成Sprite(2D and UI) Sprite Mode里改成Multiple 3,点击Sprite Edito ...
- 2022-05-14 Unity核心7——2D动画
文章目录 一.序列帧动画 二.骨骼动画 -- 2D Animation 三.反向动力学 IK 四.换装 五.骨骼动画 -- Spine 一.序列帧动画 (一)什么是序列帧动画 我们最常见的序列帧动 ...
- Unity - 官方2D动画(2D Animation Package)文档
本文由 祝你万事顺利 出品,转载请注明出处. 官方文档(英文),2D Animation 在2019.3已经是正式发布的包了.此资源包是将Assets Store 中的Anima2D进行了整合,在老版 ...
- Vyond制作2D动画学习教程
Vyond为2D动画提供了极其简单的分解视频创建过程. 你会学到什么 课程获取:Vyond制作2D动画学习教程-云桥网 您将学习如何为2d动画制作画外音 您将学习如何使用Vyond轻松创建精彩的动画视 ...
- Unity 2D教程 | 骨骼动画:创建动画
转载自:2016-02-13 Unity官方平台 本教程主要讲解Unity引擎自带的2D骨骼动画工具,以及2D动画的基本概念.本篇会添加一些动画,如默认状态.跳动.坠落等. 基础动画理论 制作动画要牢 ...
- 骨骼动画——2D Animation
1.2D骨骼动画 传统的序列帧动画为了达到好的动画效果,理论上来说,图片越多,动作越流畅,往往需要较多的美术资源,虽然效果好但是资源占用较多 而2D骨骼动画是利用3D骨骼动画的制作原理进行制作的,将一 ...
- Unity 创建2D平台游戏开发学习教程
了解如何使用C#在Unity中创建您的第一款2D平台游戏 你会学到什么 使用Unity创建2D奥运会 使用可脚本化的对象和单一模式 使用良好的编程实践 创造武器和射弹 使用可脚本化的对象和委托模式创建 ...
- CSS3 -- API学习 (2D、3D动画效果)
一.2D效果 1.translate(xpx,ypx).translateX(xpx),translateY(ypx) 右平移xpx,左平移ypx <!DOCTYPE html&g ...
- unity2018新功能之——2D Animation System
今天收到unity的邮件,然后便浏览了下2018的新特性. https://blogs.unity3d.com/cn/2018/05/02/2018-1-is-now-available/?utm_c ...
- Unity 2021创建2D休闲点击器游戏视频教程
Unity 2021创建2D休闲点击器游戏视频教程 Learn how to create a 2D Idle Clicker Game in Unity 2021 了解如何在Unity 2021中创 ...
最新文章
- linux kbhit扫描键盘,(转)检测按键(Linux中kbhit()函数的实现)
- 八大编程知名编程语言或系统的发展简史
- 通讯中断 pc_S7程序RFID 与PC连接区别FB 65/UDT65
- Android线程机制——AsyncTask
- 【支付宝服务窗】JEECG支付宝服务窗平台指南
- 数据库(2)数据库介绍
- [转载] python中join的使用
- 自然语言处理实战-Python编程进阶
- [洛谷P3621] [APIO2007] 风铃
- [POJ2406]字符串的幂
- 108次练习之模拟实现STL中的Vector(一)
- Extjs介绍及视频教程
- 超标量处理器设计 姚永斌 第1章 超标量处理器概览 摘录
- c语言文字闪烁表白,C语言表白程序1颜色变化的心
- [POI2013]LUK-Triumphal arch【树形DP+二分答案】
- 加强【圣域2】各个技能的打击感-华丽的击飞效果
- 72个免费学习网站,涵盖所有,你值得拥有!【非推广】
- 如何通过omnipeek抓取sniffer log
- shell脚本控制jar包启停
- 开源在今天意味着什么?
热门文章
- 家中的两台计算机如何实现联网,怎么设置用两台电脑实现局域网共享上网
- 大学加权平均分计算器_澳大利亚移民宝藏专业----西澳大学幼教硕士解析
- xposed框架安装使用步骤
- 20155313 杨瀚 《网络对抗技术》实验六 信息搜集与漏洞扫描
- Android Notification使用
- 电影在计算机中用什么形式保存,教你如何将 DVD 电影永久保存到电脑里
- 论文笔记——CPN(Corner-Proposal-Network)Det
- base64-图片传输
- entity framework 新手入门篇(1.5)-lambda表达式与linq
- oled屏幕(IIC接口+1306驱动)+raspberrypi pico 显示基于RT-Thread