引言

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动画)学习相关推荐

  1. Unity制作Animation帧动画

    1,把9个头像的图片放入Asset 2,点击图片,右侧,Texture Type里改成Sprite(2D and UI) Sprite Mode里改成Multiple 3,点击Sprite Edito ...

  2. 2022-05-14 Unity核心7——2D动画

    文章目录 一.序列帧动画 二.骨骼动画 -- 2D Animation 三.反向动力学 IK 四.换装 五.骨骼动画 -- Spine 一.序列帧动画 (一)什么是序列帧动画 ​ 我们最常见的序列帧动 ...

  3. Unity - 官方2D动画(2D Animation Package)文档

    本文由 祝你万事顺利 出品,转载请注明出处. 官方文档(英文),2D Animation 在2019.3已经是正式发布的包了.此资源包是将Assets Store 中的Anima2D进行了整合,在老版 ...

  4. Vyond制作2D动画学习教程

    Vyond为2D动画提供了极其简单的分解视频创建过程. 你会学到什么 课程获取:Vyond制作2D动画学习教程-云桥网 您将学习如何为2d动画制作画外音 您将学习如何使用Vyond轻松创建精彩的动画视 ...

  5. Unity 2D教程 | 骨骼动画:创建动画

    转载自:2016-02-13 Unity官方平台 本教程主要讲解Unity引擎自带的2D骨骼动画工具,以及2D动画的基本概念.本篇会添加一些动画,如默认状态.跳动.坠落等. 基础动画理论 制作动画要牢 ...

  6. 骨骼动画——2D Animation

    1.2D骨骼动画 传统的序列帧动画为了达到好的动画效果,理论上来说,图片越多,动作越流畅,往往需要较多的美术资源,虽然效果好但是资源占用较多 而2D骨骼动画是利用3D骨骼动画的制作原理进行制作的,将一 ...

  7. Unity 创建2D平台游戏开发学习教程

    了解如何使用C#在Unity中创建您的第一款2D平台游戏 你会学到什么 使用Unity创建2D奥运会 使用可脚本化的对象和单一模式 使用良好的编程实践 创造武器和射弹 使用可脚本化的对象和委托模式创建 ...

  8. CSS3 -- API学习 (2D、3D动画效果)

    一.2D效果 1.translate(xpx,ypx).translateX(xpx),translateY(ypx)        右平移xpx,左平移ypx <!DOCTYPE html&g ...

  9. unity2018新功能之——2D Animation System

    今天收到unity的邮件,然后便浏览了下2018的新特性. https://blogs.unity3d.com/cn/2018/05/02/2018-1-is-now-available/?utm_c ...

  10. Unity 2021创建2D休闲点击器游戏视频教程

    Unity 2021创建2D休闲点击器游戏视频教程 Learn how to create a 2D Idle Clicker Game in Unity 2021 了解如何在Unity 2021中创 ...

最新文章

  1. linux kbhit扫描键盘,(转)检测按键(Linux中kbhit()函数的实现)
  2. 八大编程知名编程语言或系统的发展简史
  3. 通讯中断 pc_S7程序RFID 与PC连接区别FB 65/UDT65
  4. Android线程机制——AsyncTask
  5. 【支付宝服务窗】JEECG支付宝服务窗平台指南
  6. 数据库(2)数据库介绍
  7. [转载] python中join的使用
  8. 自然语言处理实战-Python编程进阶
  9. [洛谷P3621] [APIO2007] 风铃
  10. [POJ2406]字符串的幂
  11. 108次练习之模拟实现STL中的Vector(一)
  12. Extjs介绍及视频教程
  13. 超标量处理器设计 姚永斌 第1章 超标量处理器概览 摘录
  14. c语言文字闪烁表白,C语言表白程序1颜色变化的心
  15. [POI2013]LUK-Triumphal arch【树形DP+二分答案】
  16. 加强【圣域2】各个技能的打击感-华丽的击飞效果
  17. 72个免费学习网站,涵盖所有,你值得拥有!【非推广】
  18. 如何通过omnipeek抓取sniffer log
  19. shell脚本控制jar包启停
  20. 开源在今天意味着什么?

热门文章

  1. 家中的两台计算机如何实现联网,怎么设置用两台电脑实现局域网共享上网
  2. 大学加权平均分计算器_澳大利亚移民宝藏专业----西澳大学幼教硕士解析
  3. xposed框架安装使用步骤
  4. 20155313 杨瀚 《网络对抗技术》实验六 信息搜集与漏洞扫描
  5. Android Notification使用
  6. 电影在计算机中用什么形式保存,教你如何将 DVD 电影永久保存到电脑里
  7. 论文笔记——CPN(Corner-Proposal-Network)Det
  8. base64-图片传输
  9. entity framework 新手入门篇(1.5)-lambda表达式与linq
  10. oled屏幕(IIC接口+1306驱动)+raspberrypi pico 显示基于RT-Thread