Unity 2D 终结手册 (2) - 精灵


导入并设置精灵

在 Unity 中,精灵也是一种资源,我们能够在项目视图(Project View)中看到它们。有两种引入精灵的方式:

1、在Finder(Mac OS)或者文件资源管理器(Windows)中直接将图片资源拖拽到 Unity 的项目视图(Project View)里面;

2、从Asset -> Import New Asset来选择要导入的图像资源。

接着我们需要将导入的图像资源设置为精灵。如果我们的项目模式是 2D,那么导入图像资源之后会自动识别为精灵。如果我们的项目模式是 3D,导入之后默认为纹理(Texture),我们需要改变它的纹理类型(Texture Type):

1、选中导入的图像资源,在检视视图(Inspector View)中会显示它的导入设置(Import Setting);

2、将纹理类型(Texture Type)属性改为Sprite(2D and UI)。


Unity做精灵动画 unity 精灵_宋晓波

(图 1)在导入设置中将纹理类型改为精灵

 

Unity做精灵动画 unity 精灵_Unity做精灵动画_02

Texture)只包含一个精灵元素(Element),但是更常见的是,在一张图像中包含多个相关的精灵元素,这样使用起来会更方便。例如,在一张图像中可以包含一个角色身上的所有部位,或者包含一辆车的车轮、车身等。对于这样的图像资源,Unity 提供了一个方便的工具,能够快速地提取出里面的元素并让我们进行编辑,这就是精灵编辑器(Sprite Editor)。


Unity做精灵动画 unity 精灵_蓝鸥_03

Sprite Editor):

1、从项目视图(Project)中选中我们想要进行编辑的精灵,在场景中是不能对精灵进行编辑的;

2、在检视视图(Inspector)里导入设置中,点击Sprite Editor按钮打开精灵编辑器(Sprite Editor)。


Unity做精灵动画 unity 精灵_unity3d_04

(图 1)项目视图

Texture Type)设置为Sprite(2D and UI)时才能够看到Sprite Editor按钮;


Unity做精灵动画 unity 精灵_unity3d_05

(图 2)精灵图像的导入设置

Sprite Mode)修改为多精灵模式(Multiple)。


Unity做精灵动画 unity 精灵_Unity做精灵动画_06

(图 3)精灵编辑器

Sprite Editor)视图的顶部,有一行工具条,里面有很多控制工具。其中右上角的滑杆控制纹理像素化(Pixelation),向左移动滑块会减少纹理的分辨率。再往左那个滑杆,控制视图的缩放。再往左有一个类似彩条的图标,这个是查看图像的Alpha 等级(透明度)。

Slice)菜单能够根据我们的设置,将纹理中的精灵自动分割出来。最后修改完毕,我们别忘了点击应用(Apply)按钮来保存我们的修改,或者点击放弃(Revert)按钮放弃本次修改。


Unity做精灵动画 unity 精灵_蓝鸥_07

Sprite Editor)最直接的方法,就是手动标记精灵元素。我们点击图片后,就会出现一个矩形选择区域,并且四个角都有控制点。我们可以拖动控制点或矩形边缘,来框选出一个精灵元素。我们在矩形选择区外拖拽时,会生成一块新的矩形选择区域,这样最终能够框选出多个精灵。当我们选中某个矩形选择区时,会出现一个新的视图:


Unity做精灵动画 unity 精灵_工具条_08

(图 4)精灵属性面板

Position)属性用来设置矩形选择区的位置(X、Y)和宽(W,Width)、高(H,Height)。边框(Biorder)属性用来设置精灵边框的上(T,Top)、下(B,Bottom)、左(L,Left)、右(R,Right)的大小,边框只在 UI 系统中有效,对于精灵渲染器(Sprite Renderer)无效。

Pivot),枢轴是 Unity 中图形坐标系中的原点,也是主要的锚点(Anchor Point)。我们可以选择一些默认的相对位置作为枢轴(Pivot),比如中心点(Center)、右上角(Top Right)等,也可以自己定义枢轴(Pivot)的位置。

Slice)菜单后面是整理(Trim)按钮。点击之后精灵元素会重新计算自己的矩形选择区大小,并进行调整,使之刚好包围元素边界,这些自动调整是根据图像的透明度计算出来的。


Unity做精灵动画 unity 精灵_宋晓波_09

Unity 也能够根据图形元素自动分割精灵,这样可以节省我们的时间。当我们点击了工具条上的切片(Slice)菜单后能够看到:


Unity做精灵动画 unity 精灵_unity3d_10

(图 5)切片菜单

Type)属性表示切割类型,我们可以把它设置为自动切割(Automatic),这时编辑器会根据不透明度(Alpha)来计算出精灵的边界。我们也可以设置每个精灵默认的枢轴(Pivot)位置。而方法(Method)属性能够让我们选择如何处理当前窗口中已分割好的精灵。

删除存在的(Delete Existing)选项会清除当前已经分割好的精灵,重新进行自动分割;

智能(Smart)选项也能自动分割出新的精灵,但是对于已经分割出来的精灵会尝试着保留或进行调整;

安全(safe)选项会自动分割出新的精灵,而且不会对已经分割好的精灵做出任何改变。

Automatic)以外,还有两种类型,根据元素大小进行网格分割(Grid By Cell Size)和根据元素数量进行网格分割(Grid By Cell Count)。如果我们的精灵在创建时就以规律的方式进行布局,我们就可以用这两种分割类型。


Unity做精灵动画 unity 精灵_Unity做精灵动画_11

(图 6)网格分割

Grid By Cell Size)中,像素大小(Pixel Size)用来设置每个精灵元素的宽度和高度。如果我们使用的是根据元素数量进行网格分割(Grid By Cell Count),那么我们可以指定切割完毕后精灵元素的列数和行数。设置偏移量(Offset)属性可以设置精灵元素相对于左上角的位移,设置填充(Padding)属性则可以让矩形区域之间留出一定的距离。最后一个枢轴(Pivot)属性可以给每个切割出来的精灵元素设置默认的枢轴位置。

我们通过自动切割产生的精灵元素,还可以自己手动进行调整,这样,我们可以先使用自动切割,切出大概的精灵,然后需要的话再通过手动进行微调。


Unity做精灵动画 unity 精灵_宋晓波_12

Texture Type)设置为Sprite(2D and UI),然后下面的精灵模式(Sprite Mode)除了多精灵模式(Multiple)外,还有一个多边形模式(Polygon)。在此模式下每个图像都只被分割成一个精灵元素,而且我们可以指定分割多边形的形状、大小、枢轴等。


Unity做精灵动画 unity 精灵_宋晓波_13

(图 7)多边形精灵

Change Shape)菜单,输入多边形的边数,在点击Change按钮,就能够编辑不同形状的多边形。


Unity做精灵动画 unity 精灵_蓝鸥_14

(图 8)修改多边形的边框和枢轴点

要想改变多边形的大小,先选中多边形精灵,会出现绿色的边框线和信息面板。点击并拖拽绿线就能够修改边框的大小,同时信息面板中的Border的值也会随之变化。但不能够直接在信息面板中修改边框的值。

如果要想改变枢轴点的位置,先选中多边形精灵,然后在信息面板中点击Pivot按钮,会弹出下拉框选项,可以自己选择枢轴点的位置。如果我们需要一个特殊的枢轴点位置,可以把Pivot属性设置为Custom,然后再在精灵多边形中点击拖动蓝色的枢轴点,就可以放置在任意位置。但是Custom枢轴点的位置,不能够直接在信息面板中输入。