unity学习笔记-精灵集和精灵动画

2D游戏中,对精灵的操作需求,往往是两点:

1、 静态精灵:一般做背景展示等

2、 精灵动画:帧动画、骨骼动画等

声明:以下对Unity的操作,基于Unity3D 4.3.4,本人初学Unity,没用过其他版本。

一、          精灵文件的导入

方法1:

如果工程在创建的时候就设定为2D,那么当你将图片文件复制到Assert目录下的时候,图片的纹理类型默认就是Sprite了。如下图:

unity学习笔记-精灵集和精灵动画_第1张图片

方法2:

如果工程不是2D的,或者不希望改变项目的设置,可以直接将TextureType手动设置成Sprite,点击Apply确认。效果和方法1完全一样。

二、          原生Unity中的精灵动画

1.      大图分解成小图:

有时候找到的资源,是一个精灵图集的形式,如下:

unity学习笔记-精灵集和精灵动画_第2张图片

这是一个loading的图集。将图片拖入assert的相关目录后,修改SpriteMode为Multiple,将精灵设置为多张精灵的集合,而不是Single。然后点击SpriteEditor,打开精灵编辑器。

如下图:

当然,也可以先打开精灵编辑器,主菜单中:Window> SpriteEditor。

Slice就是切片,记得js中对数组的操作中,好像就有这个函数。

Type有两个值可选:Automatic和Grid。Grid就是按照网格来切分,Automatic就比较傻瓜了。一般来说,图集中的小图之间是有空隙的,然后用Automatic,基本不用怎么设置,就能保证不会切坏。如下:

unity学习笔记-精灵集和精灵动画_第3张图片

最后,点击Apply确定。然后就会发现,图集下面已经出现了很多的小图:

然后将这些小图片全部选中,直接拖放到Scene里面,就生成了anim动画文件。不能再简单了。不过这样制作出来的动画,都是帧动画。

unity学习笔记-精灵集和精灵动画_第4张图片

2.      帧动画:

Unity如果需要制作帧动画,原生编辑器就是支持的。Window->Animation,打开动画编辑器。将需要制作动画的第一帧拖放到Scene中,然后选中这个精灵,如下图:

unity学习笔记-精灵集和精灵动画_第5张图片

点击AddCurve,Transform、 SpriteRenderer、Animator这3个其实分别对应Inspector中精灵的3类属性。比如:

unity学习笔记-精灵集和精灵动画_第6张图片

当然,我这个是恶搞的。Scale负责缩放的变化,Sprite负责切换精灵图片。然后就变成了一段帧动画。增加关键帧的话,在时间线处右键菜单中有AddKey。选中某帧,在Inspector中修改属性就可以。动画制作太随心所欲了。

三、          2Dtoolkit中的精灵图集和帧动画

1.      图集的制作

在Project中,Create>tk2d>SpriteCollection。图集是制作成prefab的文件形式。设置好文件保存参数后,

从这里打开编辑器。

然后将需要打包的图片,拖放到编辑器左侧。如下图:

然后就是修改每个精灵的参数了。最需要关注的就是Anchor和ColliderType了。比如这个波浪形的地面,碰撞器类型,我设置为Polygon多边形,然后这个Convex就必须勾选。设置为凸多边形,碰撞检测中会用到。点击编辑器最下方的Collider,就可以自行编辑碰撞区域了。

编辑中的操作,右下角是有提示的:

unity学习笔记-精灵集和精灵动画_第7张图片

最后点击右上角的commit完成。

2.      帧动画

仍然是在Project中,Create>tk2d>SpriteAnimation。创建文件后,打开编辑器:

Clip就是帧动画了。

Play用来播放动画或者暂停。WrapMode是动画的播放方式,是循环播放,还是片段循环等。Reverse是将动画反转,就是倒播。Collection和Sprite分别用来设置当前帧的精灵集和具体精灵。如果要删除当前帧,点击Delete即可。Trigger是帧动画的触发事件,因为是刚开始学习,还没开始制作具体的游戏,这个暂时没用到。

最后,点击右上角的commit完成修改。

3.      创建精灵动画

Create->tk2d->Sprite WithAnimator

unity学习笔记-精灵集和精灵动画_第8张图片

精灵设置为动画的第一帧,让选择刚才制作的动画集test中的sheep动画。在game中就能看到了。

当然了,也可以先创建tk2d->Sprite,然后添加tk2dSpriteAnimator。

unity学习笔记-精灵集和精灵动画_第9张图片
结果和直接创建SpriteWithAnimator是一样的。

 

四、          在tk2d中切换动画播放

如下:

using UnityEngine;
using System.Collections;

public class Sheep : MonoBehaviour {

	private tk2dSpriteAnimator m_Anim;
	private bool m_bChange = false;

	// Use this for initialization
	void Start () {
		m_Anim = GetComponent<tk2dSpriteAnimator>();
		print ("初始化");
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetMouseButtonDown (0)) {
			print("左键点击");
			if (m_bChange) {
				m_Anim.Play("eat");
			} else {
				m_Anim.Play("bian");
			}
			m_bChange = !m_bChange;
		}
	}
}

绑定到sheep精灵上,然后这个同一个个动画集下有两个动画eat和bian,通过鼠标左键点击,就轮流播放了。


你可能感兴趣的:(动画,unity3d)