关闭

Unity 2D Animation 介绍 & FAQ(持续更新)

5738人阅读 评论(0) 收藏 举报
分类:

今天带来的主题是 Animation,在 Unity2D 中加入了 Sprite,并支持了 Mecanim 的 Sprite 动画,不过目前不支持 Legacy Animation,另外 Sprite Animation 也不支持蒙皮骨骼动画。

由于 Sprite Animation 中新加了 Dope Sheet 形式的 编辑,Sprite Animation 可以分为两类:简单的帧动画,每帧用一个 Sprite;带多个节点的“关节”动画(与骨骼动画相比,缺少了蒙皮)。

接下来介绍一下制作 Sprite Animation 的一般流程:

1. 首先需要制作 Sprite,这部分就不具体介绍了,过程很简单。一般我们都把一个动画所需要的 Sprite 拼在一个 Texture 中,这对渲染效率意义重大。

2.a 如果是制作简单的帧动画,直接将所有帧的 Sprite 选中,拖入 Scene View 就会自动生成对应的 GameObject,并绑定 Animator 组件,以及创建对应的 AnimationClip。
2.b 如果是节点动画,那么首先为每一个 Sprite 创建一个 GameObject,然后需要手动搭建起 Sprite 间的父子节点关系。之后会得到一个树状的节点分布。打开 AnimationView 后点击根节点,便可以为它添加 AnimationClip,并自动绑定 Animator 组件。




3.  在 Animation View 可以编辑动画,并在 Scene View 中预览动画。





FAQ 部分


对于 Sprite 来说,physics 2D 没有 z 的概念,z 值仅仅影响深度;

Physics 中不同 layer 间的交互关系在 Editor-> Project Settings 中;

目前不支持 Physics 2D 与 ParticleSystem 的碰撞;

粒子系统渲染的深度可以用的 sortingLayer 和 Order in Layer  来控制,从而保持与 Sprite 的正确遮挡;

Polygon Collider 编辑: 按住 shift 后,鼠标可以拖动现有的顶点,或者在边缘上添加新的顶点;按住 control 后,鼠标可以通过点击来删除现有顶点;

CharacterController 只支持 3D, 2D 角色的移动用 Physics-based 方式(rigidBody.Addforce, rigidBody.velocity),不过新版本应该会出现 CharacterController2D;

Sprite 默认使用 Sprite-Default Shader 可以手动修改 Sprite-Diffuse,从而可以接受光照的影响;

Physics 2D 与Physics 3D 不能交互,因为从底层来说,用的引擎就不同 (Box2D / PhysX) 


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50552次
    • 积分:727
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:4篇
    • 译文:1篇
    • 评论:13条
    最新评论