码迷,mamicode.com
首页 > 其他好文 > 详细

想要UGUI和Spine同时使用时,可以考虑换一种选择

时间:2015-05-22 09:42:27      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:3d   canvas   unity   spine   ugui   

孙广东   2015.5.21

【转载请注明出处http://blog.csdn.net/u010019717,否则不予转载!】


最近在做2D游戏, UGUI、U5是未来,所以直接使用了这两个。

没有UGUI的时候,开发2D游戏的一个选择就是使用:NGUI插件,当然还有其他的选择了

UGUI 产生和NGUI有很大的关系。作者也是同一个。


所以NGUI能做的,UGUI应该都可以做到。


现在的问题是,支持NGUI的插件,不一定很好的支持UGUI。

游戏中肯定有很多的动画的,有些是Tween补间动画可以实现,有些则要使用特效。

2D角色运动动画的一个简单实现是使用序列帧,肯定很费内存的。 还有就是类似的Mesh动画【用CPU计算来换内存】。

这样的插件就有 spine 和 Puppet2D

ugui的ui是按照Hierarchy面板的顺序,按照前后层级关系排列。

spine的对象放到canvas中,则无法插入到两个ugui图片中间。【如果他们的技术分享】 layer也是UI的话,

对象就变得很小了, 最主要的问题是 Transform 和 Rect Transform的区别


如果层级不同,那就是设置

技术分享


unity2D游戏使用Nav2d的肯定知道,  unity的Sprite精灵都是,SpriteRenderer组件。

可以在这里进行设置 Sorting Layer 的内容:

技术分享


然后在层级内部使用 Order in Layer 参数。


设置Spine动画的MeshRenderer 的 sortingOrder。

这种方法的解决,只能让Spine动画 在Canvas画布后面,或者画布前面。

使用了就知道,如果要求较多的话, 想让Spine动画 可以在 UI的任一个前或后显示。 就不好控制, 可以使用多个 Canvas画布。层级分的好的话就可以了。 个人觉得很破坏UGUI的层级关系,不灵活。


回到正题,换一种选择就是使用Unity的有原生的制作动画的方式来实现。

角色是使用UGUI拼出来的:

  技术分享   技术分享


然后制作动画:

技术分享


技术分享


技术分享


技术分享

OK,  角色的动画就不说了,  再来看看层级吧:


技术分享   其中的panel是 灰白色的。  角色能看到, Image就是前景的有一个草坪。

技术分享

然后在调整一些层级:

技术分享  技术分享

在调整一下:

技术分享 技术分享

运行就可以看到默认的Idle动画了。 这里我也 掩饰不了效果。 动画和层级都完美解决。

我想主要的问题就是使用Unity自身工具制作动画了, 而且如果角色的某个部位要发生变化【就是Transform的层级】,都要重新调整动画。



??
??

想要UGUI和Spine同时使用时,可以考虑换一种选择

标签:3d   canvas   unity   spine   ugui   

原文地址:http://blog.csdn.net/u010019717/article/details/45890205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!