手游引擎Unity和Cocos各有什么优劣?
轉載:https://www.zhihu.com/question/23499299/answer/24899792
作者:知乎用戶
鏈接:https://www.zhihu.com/question/23499299/answer/24899792
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
?
以下我以“大型3D、大型2D、中小型2D和微型2D”來劃分,盡可能減少”糾結“感。
因為引擎的選擇一向做不到“以偏概全”,他們各有所長,應選擇自己適合的。
尤其是差異化這么明顯的兩個引擎。
一、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引擎,再加載.Net Assembly(一堆DLL文件),這可比Cocos2D-x這種純C++(包括Lua和JS)實現要慢很多。
?
3、獨立開發者更喜歡“碼”游戲
?
獨立開發者大多是“技術達人”(不然怎么開發游戲)。U3D會讓他們有“無所適從”感,從而影響了對U3D的靈活運用。對這些人而言,這是赤裸裸的時間成本。在游戲開發中,這點尤為重要。還是Cocos2D-X讓他們更感到“親切”,更有成就感。
?
也許你會問:“你怎么知道?”
因為我就是搞技術的。
4、中國游戲多出自Cocos2D-X
?
Cocos2D-X是正宗國產貨,又是優秀的開源項目,國外用戶群也不少。
也正是因為這個原因,C2D天生就對中國用戶很“偏愛”。比如社區,我在上面問了兩個問題,基本上當天問當天答,而且非常熱心。從這一點我就對C2D產生了不錯的好感。
5、Unity3D要收費
?
對大型2D游戲團隊來說或許還不算什么。
?
初步算一下,Pro要1500$,手游怎么至少也得兼容iOS和Android吧,各自1500$,再加個Team套裝,加一塊兒,5000$,兩萬多銀子。
?
Cocos2D-X免費、開源。遇到問題可以研究源碼或向社區求救。
四、微型游戲(指爭取安裝包在1M以內的)
推薦:AndEngine、Cocos2D-iPhone
作品:Flappy Bird、小球快跑、五子棋等
分布:不需要跨平臺的超小游戲用的多。
原因:
如果只想在一個平臺上開發游戲,無疑上述兩種是最好的選擇
?
其中AndEngine開發出來的游戲最小才400多KB,大名鼎鼎的Flappy Bird就是用它做出來的。
另外,iPhone的Cocos2D劃到這里似乎不太合適,但仔細想想,現在有更成熟的Cocos2d-x方案,Cocos2D劃到微型游戲一列,相信是早晚的事(個人看法,輕拍)。
五、總結
?
1、Unity3D:如果你需要開發大型游戲,或需要開發3D游戲的,請選這個。
?
2、Cocos2D-x:如果你開發的是中小型游戲,對安裝包大小比較在意的,請選這個。
?
3、Andengine、Cocos2D-iPhone:如果你只為開發單平臺游戲,又非常在意速度和安裝包大小,請選這個。
最后。俗話說:沒有最好的,只有最適合自己的。我想這句話同樣適用于開發游戲。
共勉!
總結
以上是生活随笔為你收集整理的手游引擎Unity和Cocos各有什么优劣?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java调用C++ DLL库方法
- 下一篇: linux同步IO: sync、fsyn