分享

Unity4.3新功能:2D工具 的简单使用教程

 3dC 2013-12-31
Unity3D最近推出了4.3版本,其中最大的新功能就是这个2D工具了。我这里简单介绍一下这个2D工具是怎样使用的。
首先,在我们创建项目的时候,面板上面多了一个2d和3d的选择,这两个选择有什么不一样的地方呢?
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

其实这个选项并不重要的,如果选择了2D项目,那么默认创建的摄像机就会变成了正交摄像机,而选择3D项目,默认摄像机会是透视摄像机。这个都是可以在项目里面自己修改的。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

 而在查看scene的选项里面,多了一个2D的选项,如果启用了,会强制变成2D的视图,如果取消了,会变成我们以前熟悉的3D的scene视图

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

简单的介绍完2D项目选项之后,我们尝试着新建一个2D的项目,然后导入一张官方提供的土豆人图片进去项目里面: 

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

 

 注意看texture type,这里默认选择了就是sprite类型,然后在类型的下面,有一个sprite mode选项,其中默认是single单个图片的,我们将它改成Multiple多个图片的。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵
这时候,会多出一个sprite editor的按钮。这个sprite编辑窗口,也可以在window下拉菜单下打开的。
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

进去了这个sprite编辑器,看到是这样的。如果你是从window窗口打开,而又没有设置Multiple,这里就算打开了也不能编辑的。必须设置Multiple。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

然后我们就可以直接的用鼠标画出我们想要的范围了:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

比如我们先画出一只手的范围,然后会出现一个sprite的属性设置框,我们要做的事情,是给它一个方便管理的命名,然后调整好它的具体范围和中心点。我这里只是一个演示,所以就偷懒没有另外起名字了。
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

用同样的方法,把角色其余的部件全部画出来,命名好。最后记得要Apply应用一下,这样我们的sprite就生成好了。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

回去看看project窗口里面,会发现这张土豆人的图下面出现了我们刚才绘制的各个部件的sprite

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

接下来我们尝试着把这些零散的部件组装成一个角色吧,新建一个空的对象。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

然后把刚才绘制的身体部分拖动到空对象身上:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

这时候场景里面就出现了身体的部分了。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

我们再把炮的部分拖进场景里面,但这时候我们会发现,我们本来是想炮在身体后面的,但现在炮把身体挡住了。有没有办法给这些2D的sprite做个排序呢?

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

排序的地方在这些sprite 的属性里面,有一个排序层的设置,还有一个层内排序的顺序。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

我们可以先添加几个排序的层:
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

排序的方式是越下面的层会挡住上面的。比如这里,Layer2会挡住Layer1,而Layer1又会挡住Layer0。所以我们就可以根据这个角色有多少个大的层级关系,先分配几个层,用于大的排序,然后同一个层里面的排序我们用Order in Layer就可以了

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

用同样的方法,我们把所有部件都拖到空对象上面作为子物体,然后用排序把它们排列好叠加关系。这时候一个土豆人就拼完整了。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

或许我们需要给游戏角色做一个碰撞范围,所以我们可以直接在空对象身上添加一个2D的物理碰撞检测器。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

比如我这里给这个土豆人添加了一个box2d的碰撞器和一个circle2d的碰撞器,这样角色的身体刚好就在碰撞的范围内,能被打中的范围就限定在身体了。至于具体的碰撞检测怎样使用,可以去查看一下api的。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

有了角色,有了碰撞范围,我们的游戏角色还需要很重要的一个元素,就是动画了。
下面简单示范一下怎样给2D的角色添加动画,还有使用动画状态机:
选择父级的空对象,然后打开animation编辑面板:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

在面板里面,有添加曲线的按钮,有开始编辑动画的按钮,这些操作和新的2D工具没太大关系,都是旧功能,如果不会用,请单独百度这一部分的用法。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

创建一个新的anim动画,比如Run跑步。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵
然后我们会发现,在project窗口里面会自动的把动画状态机的controller也一起创建了。
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

我们再创建多几个动画,比如站立、死亡、发射之类:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

然后我们点击进入controller,会发现,这些动画片段都已经默认的进入了控制器里面,我们就可以像以前使用MecAnim一样编辑这个2D角色的动画状态转换了。由于这个不是新功能,如果你不会使用MecAnim,可以查阅阿赵我以前写的MecAnim使用基础教程。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

  到这里,新的2D工具使用已经介绍完毕了。我又来说说我的看法。对于2D图片的操作,Unity一直都是弱项来的。就算这次添加了这个新的2D工具,其实也只是提供了一个底层的切割图片编辑器而已,不算什么特别有创新的功能了。论实际应用性来说,这个新功能在以前的版本绝对也能轻易的完全做出来,只是需要自己写编辑器而已了。所以我感觉意义没有想象中的大。而至于用来做UI,我感觉还是差了点,起码实用性比NGUI差了很多。如果你不介意重新写一整套的UI框架,那么你也可以拿这个2D工具来做底层用的。

我比较期待的,还是官方说了N久的新UI系统。还有,我比较期待Unity的官方能更大的开发一些图形绘制的底层功能,这样做自己扩展的功能时会更方便。Unity3D最近推出了4.3版本,其中最大的新功能就是这个2D工具了。我这里简单介绍一下这个2D工具是怎样使用的。
首先,在我们创建项目的时候,面板上面多了一个2d和3d的选择,这两个选择有什么不一样的地方呢?
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

其实这个选项并不重要的,如果选择了2D项目,那么默认创建的摄像机就会变成了正交摄像机,而选择3D项目,默认摄像机会是透视摄像机。这个都是可以在项目里面自己修改的。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

 而在查看scene的选项里面,多了一个2D的选项,如果启用了,会强制变成2D的视图,如果取消了,会变成我们以前熟悉的3D的scene视图

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

简单的介绍完2D项目选项之后,我们尝试着新建一个2D的项目,然后导入一张官方提供的土豆人图片进去项目里面: 

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

 

 注意看texture type,这里默认选择了就是sprite类型,然后在类型的下面,有一个sprite mode选项,其中默认是single单个图片的,我们将它改成Multiple多个图片的。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵
这时候,会多出一个sprite editor的按钮。这个sprite编辑窗口,也可以在window下拉菜单下打开的。
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

进去了这个sprite编辑器,看到是这样的。如果你是从window窗口打开,而又没有设置Multiple,这里就算打开了也不能编辑的。必须设置Multiple。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

然后我们就可以直接的用鼠标画出我们想要的范围了:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

比如我们先画出一只手的范围,然后会出现一个sprite的属性设置框,我们要做的事情,是给它一个方便管理的命名,然后调整好它的具体范围和中心点。我这里只是一个演示,所以就偷懒没有另外起名字了。
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

用同样的方法,把角色其余的部件全部画出来,命名好。最后记得要Apply应用一下,这样我们的sprite就生成好了。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

回去看看project窗口里面,会发现这张土豆人的图下面出现了我们刚才绘制的各个部件的sprite

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

接下来我们尝试着把这些零散的部件组装成一个角色吧,新建一个空的对象。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

然后把刚才绘制的身体部分拖动到空对象身上:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

这时候场景里面就出现了身体的部分了。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

我们再把炮的部分拖进场景里面,但这时候我们会发现,我们本来是想炮在身体后面的,但现在炮把身体挡住了。有没有办法给这些2D的sprite做个排序呢?

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

排序的地方在这些sprite 的属性里面,有一个排序层的设置,还有一个层内排序的顺序。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

我们可以先添加几个排序的层:
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

排序的方式是越下面的层会挡住上面的。比如这里,Layer2会挡住Layer1,而Layer1又会挡住Layer0。所以我们就可以根据这个角色有多少个大的层级关系,先分配几个层,用于大的排序,然后同一个层里面的排序我们用Order in Layer就可以了

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

用同样的方法,我们把所有部件都拖到空对象上面作为子物体,然后用排序把它们排列好叠加关系。这时候一个土豆人就拼完整了。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

或许我们需要给游戏角色做一个碰撞范围,所以我们可以直接在空对象身上添加一个2D的物理碰撞检测器。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

比如我这里给这个土豆人添加了一个box2d的碰撞器和一个circle2d的碰撞器,这样角色的身体刚好就在碰撞的范围内,能被打中的范围就限定在身体了。至于具体的碰撞检测怎样使用,可以去查看一下api的。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

有了角色,有了碰撞范围,我们的游戏角色还需要很重要的一个元素,就是动画了。
下面简单示范一下怎样给2D的角色添加动画,还有使用动画状态机:
选择父级的空对象,然后打开animation编辑面板:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

在面板里面,有添加曲线的按钮,有开始编辑动画的按钮,这些操作和新的2D工具没太大关系,都是旧功能,如果不会用,请单独百度这一部分的用法。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

创建一个新的anim动画,比如Run跑步。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵
然后我们会发现,在project窗口里面会自动的把动画状态机的controller也一起创建了。
Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

我们再创建多几个动画,比如站立、死亡、发射之类:

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

然后我们点击进入controller,会发现,这些动画片段都已经默认的进入了控制器里面,我们就可以像以前使用MecAnim一样编辑这个2D角色的动画状态转换了。由于这个不是新功能,如果你不会使用MecAnim,可以查阅阿赵我以前写的MecAnim使用基础教程。

Unity4.3新功能:2D工具 的简单使用教程 - 阿赵 - 有爪的小羔羊阿赵

  到这里,新的2D工具使用已经介绍完毕了。我又来说说我的看法。对于2D图片的操作,Unity一直都是弱项来的。就算这次添加了这个新的2D工具,其实也只是提供了一个底层的切割图片编辑器而已,不算什么特别有创新的功能了。论实际应用性来说,这个新功能在以前的版本绝对也能轻易的完全做出来,只是需要自己写编辑器而已了。所以我感觉意义没有想象中的大。而至于用来做UI,我感觉还是差了点,起码实用性比NGUI差了很多。如果你不介意重新写一整套的UI框架,那么你也可以拿这个2D工具来做底层用的。

我比较期待的,还是官方说了N久的新UI系统。还有,我比较期待Unity的官方能更大的开发一些图形绘制的底层功能,这样做自己扩展的功能时会更方便。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多