首页 > 代码库 > 在cocos2dx和unity3d之间选择

在cocos2dx和unity3d之间选择

人生最纠结的事,莫过于有选择…………

cocos2dx和unity3d从某种意义上讲,都很不错。但当面对特定需求以及团队情况的时候,总是能分出高下的。

假设,目标游戏是一款类似 刀塔传奇 的游戏

我们先分析一下游戏特点

1、这是一款2D游戏

2、它没有强烈的玩家互动,也没有玩家互见

3、它适合使用HTTP与服务器进行通信

4、为了资源较小,使用2D骨骼动画

5、为了更好的用户体验,我们需要支持游戏内更新

 

对于以上5点来说,两个引擎都是可以做到的……

那针对此目标,我们来说如果使用U3D,应该如何做。

如果使用U3D,那U3D自身强大的3D功能将被无视。而由于U3D自带的2D简直是弱爆了。于是,我们一般采用3D场景+正交相机的方式来实现2D效果。 这些都是可以的。 只是说Mono起步价就是8MB(Mono框架本身的开销就不谈了)。

界面方面,采用NGUI吧。这些都是不需要思考的。

但对于2D骨骼动画来说,较好的选择是Spine。 但目前的美术外包团队中对Spine这个工具较熟悉的,为数不多。 而Dragon Bones,只有一个弱弱的Unity3d支持, 在GIT上可以找到。

对于游戏内更新问题,只能使用其它解释型脚本了, iOS上是不能更新可执行代码的。 LUA可以说是不二的选择。 

 

这样看来,使用U3D面临的问题就是 能否找到一个好的美术团队使用Spine做出2D骨骼动画…… 在U3D框架的基础上,我们还需要再封装一次LUA,以满足动态更新。 安装包相比cocos2dx来说,多了8MB。 一套U3D授权为5000美刀

 

来说说cocos2dx

cocos2dx使用C++开发,同时官方支持的导出脚本为LUA,JS。 因此,自动更新功能是没有问题的。

cocos2dx有一个cocostudio和cocosbuilder工具可以拿来做UI。 虽然不太便服,但忍忍是可以接受的。

cocos2dx对Dragon Bones的骨骼动画支持较好,不用担心美术问题

cocos2dx是免费的,少了5000美刀。

cocos2dx安装包要小8MB

cocos2dx有这方面的成功案例

 

结论

虽然一直期待能够使用U3D作为惯穿一切的解决方案。但目前面对这样的2D需求的时候。 个人还是觉得选择cocos2dx较为科学。