一、3D游戏(包含2.5D)
只能:Unity3D
作品:职业棒球、星际陆战队等
分布:欧美国家用Unity3D的较多。商业化引擎中,3D游戏占比最高
原因:
就像@朱云所说。Cocos2d-x目前还不支持3D。相比而言U3D就是你唯一的选择了。
二、大型2D游戏(可以指安装包上百兆的)
推荐:Unity3D
作品:捣蛋猪、冰雪奇缘、天天飞车、绝代双骄等
分布:欧美国家用Unity3D的较多,国内用Cocos2D-X的多
原因:
1、游戏这东西,就是要跟“直觉”打交道的
我的想法有点极端,我感觉在游戏世界里,代码似乎更像是“妥协”的产物。
如果能做到“所见即所玩”,那真的是一个非常惬意的事。到时候或许一个8岁小孩就能独立自主的开发一款游戏。
而这一点Unity3D的王者地位,当之无愧!
2、Unity3D提供了超赞的设计工具,让你感觉像是在用3DMax和Flash来做游戏
3、适合大型团队,美工、动画更容易上手
U3D可以让美工、动画、码农在同一个平台上各司其职。这点从目前来看,Cocos2D-X望尘莫及。
三、中小型2D游戏(百兆以内的)
推荐:Cocos2D-X
作品:捕鱼达人、我叫MT、2048等
分布:东亚游戏多出自Cocos2D-X,尤其中国。但大多为小型游戏
原因:
1、Unity3D比Cocos2D-X的APK包要大了近十倍
仅以Android手机为例,同样的一个2D版HelloWorld,两者的安装包大小:
Unity3D:约为9.27M
Cocos2D-x:约为1.67M
解开包后发现,里面除了两个一共占据近12M的SO库(libmono.so和libunity.so),还有一票的DLL文件。其中System.dll、Assembly-CSharp.dll和mscorlib.dll这三个核心文件就占了5M。虽然它们压缩比约为50%,但仅这些文件就占了这么多。心疼啊。
而这在“寸土寸金”的中小型游戏面前是多么可怕的数字。
2、Cocos2D-X比Unity3D快很多
即使不用测试工具,也可以轻易的发现这一点。
主要因为Unity3D用了Mono架构,它移植自微软的.Net。每次启动都会加载Mono框架和Unity3D引擎,再加载.NetAssembly(一堆DLL文件),这可比Cocos2D-x这种纯C++(包括Lua和JS)实现要慢很多。