1. 程式人生 > >手機遊戲引擎的選擇--學習遊戲開發Cocos2d-x和Unity3D/2D哪個前景更好?更易上手?

手機遊戲引擎的選擇--學習遊戲開發Cocos2d-x和Unity3D/2D哪個前景更好?更易上手?

現在手遊火的一塌糊塗,引擎也是層出不窮除了引領3D市場的Unity3D,獨霸2D市場的Cocos2D-X之外,還有虛幻、Sphinx等,甚至搜狐也開發了國產的Genesis-3D引擎。
其它的不多說,這裡主要就對比Unity3D和Cocos2D-X,幫助大家選擇。

如果你想開發一個2D遊戲,有著C++/C/LUA之一的基礎,那麼Cocos2D-X也許比較適合你。他本身就為2D遊戲設計,有著豐富的原始碼、例項和教程文件。你可以得到社群的大力支援。

如果你想開發一個3D或2D遊戲,有著面向物件程式語言基礎(比如Java、C#、AS等)。那麼Unity3D會很適合你。雖然他主攻3D,但是assetstore有著豐富的外掛,使得你想快速構建一個2D遊戲也不是一件難事。

其實把這兩個東西放在一起比,即使不嚴格說也是沒有辦法說的。Cocos2d-x是個渲染引擎,專注2D遊戲(即使內部利用3D的很多技術)。而Unity是個解決方案,不單是渲染引擎,早先專注於3D應用的開發;最近因為它一個2D外掛(用來幫助開發者製作2D遊戲)在使用者需求中還是比較強烈的,戰略性的官方開始把這個外掛的功能官方化(官方開始製作2D功能的模組),因此可以說由把Cocos2d-x的功能也在融合進來。這個是概念上的澄清。

基於概念回到問題,學習這兩個東西,並不是兩個技術的方向,而是兩個遊戲開發型別的方向。因為Unity如果弄得很通,Cocos2d-x就是個子集(僅負責渲染管理)。我只能說,對於剛入門的,如果你不是隻想專注於2D遊戲,那麼,完全可以從Unity入手,理由:

1、完整的解決方案,學好一個,其他的東西上手非常快;
2、海量的學習資料;
3、沒有C++的繁瑣,完全可以專注於技術點的學習;

學習難度的話,我想C++如果好的話,Cocos2d-x相對小一點,涉及功能少很多,所以,相對簡單;但是C++如果不會或者不好,則另當別論,而且相對入門的來說 js和c#更親民。

那麼我個人是怎麼選擇Unity3D和Cocos2D-X的?
我自然是選擇Unity3D:
1、雖然你現在可能是做2D遊戲,但如果你以後想做3D呢?用Unity3D的話從2D到3D的轉換成本很低。
2、豐富的外掛支援。
3、成熟的工具以及強大的編輯器拓展,讓你可以很方便的定製適合自己專案需要的編輯器。
4、內建強大的效能分析工具。
5、幾乎支援所有主流平臺:WEB、Win、Mac、IOS、Android、XBox、PS3、Wii

6、Unity5還有更完善的光照系統、UI架構以及支援釋出成Html5。可見該引擎的發展處於高速階段。