Unity3d,UDK 和 CE3 三者之間各有什麼優缺點?如何選擇?
前幾天聽說Unity3d免費了,我就下了一個!目前想自己做個小遊戲什麼的,這3個引擎哪一個更適合,我目前覺得Unity3d會比較好一點,畢竟免費了~當然也想知道其他2個的優缺點,商業應用等等~
先簡單說一下我對這三個引擎的了解:我的本職工作是3A Console遊戲的開發,對於大型商業引擎使用較多。UDK使用過UE2的內部改造版,開發過《分裂細胞4》;最近公司完成的項目是 Far Cry 3,這是個內部引擎,公開的名稱是Dunia,同CE1有所淵源。儘管UDK和CE3不再直接使用,但出於工作需要還是有些了解。Unity 3D是我和幾個朋友製作獨立遊戲使用的引擎,了解的比較深入。
簡單來說Unity 3D和UDK,CE3適用於兩種完全不同的開發模式:獨立製作和高成本商業製作。具體的區別很多,一下子沒法說完。我提兩點請題主仔細考慮:
第一,你計劃製作的遊戲規模有多大?你的團隊有多大?
第二,有發行計劃么?什麼平台?UDK和CE2的主要市場是大型商業開發,儘管技術上比較先進些,功能高端一些,但是沒有相應的開發力量很難駕馭。Unity 3D從一開始就瞄準了低端獨立開發市場,而且有很多第三方的開發插件,就是為開發力量薄弱的小團隊準備的。
另外開發平台和目標平台的問題也要考慮。UDK和CE3沒有Mac版,Unity 3D是跨平台的。如果是為iOS開發,不支持Mac平台非常麻煩。CE3只支持PC和Console平台;UDK支持PC,Console和Mobile,但是由於種種原因,Mobile平台上產品很少;Unity啥都支持,甚至有Web端,除了最近放棄的Flash平台。
另外,題主似乎是美術人員吧?如果我說錯了請糾正我。從美術人員的角度,很容易被高端引擎的高畫質吸引。但是換個角度,從實際開發的角度看,引擎跟項目的契合度更為重要。另外,題主有編程的經驗么?任何嚴肅的遊戲開發都離不開寫代碼。儘管某些邏輯編輯器,比方說UDK的Kismet或者CE3的Flow Graph貌似足夠強大,一旦你實際開發起來,還是會發現提供範圍內的功能很好用,但是一旦超出一點點,即使再簡單的功能也做不到。相反Unity 3D沒有提供過多的內建編輯器,全部用腳本實現,反而靈活度高,這也是另外一個獨立遊戲常用Unity 3D的原因——靈活度比功能完備重要。
市面上有些遊戲引擎號稱完全不用寫代碼的,基本上這些都是2D引擎,功能簡單。但是支持Mobile平台,可以直接製作出能夠上架販賣的遊戲。題主不妨關心一下,給你幾個關鍵字供搜索:GameMaker,Game Salad,Stencyl。
總之,建議題主還是先把我的兩個問題想清楚了,再做決定。
隨便說了一些,考慮也不全面。想到再補充。作為程序員,簡單補充一點程序上的內容,偏重 UDK 和 CE3。
時間上, UDK 和 Unity3D 工具化很多年;CE3 相對時間短一點,成熟度稍差。
CE3 的引擎工具的出發點源自給孤島危機做 Mod。工具化的時間不長,初衷是以引擎驅動綁定實體的 Lua 腳本來完成場景以及角色的互動,比如物體的爆炸,地形上的觸發器,自定義的場域等等。另外還有 flow graph 流程圖,實現圖形化的邏輯編程,這個和 UDK 的 kismet 類似。個人感覺這類圖形化編程的工具,需求和變化多了以後遲早得砍掉,不如不用。有了這些,基本就可以完成 Mod 的功能。如果要深度的定製,比如砍掉 FPS 系統,載入自己定製的 UI (Flash),完成互動,則需要從最基本的 Windows 程序重新寫起,創建程序窗口,初始化引擎,載入場景和 UI,控制渲染,獲取用戶輸入,分發場景事件和邏輯。這些事情全部都是需要使用 C++ 完成的,腳本系統幫不上什麼忙。簡單說想快速的做一個雛形出來,實現基本的玩法邏輯,得先去做大量的準備。技術上每一塊都是個深坑,文檔很少,學習路上基本都是純看代碼和介面文件,以及用 CE3 自帶的 FPS 模塊 CryGame 的代碼來學怎麼做。總的來說門檻比較高,學習曲線比較抖,需要比較深的技術儲備,不可倉促開始立項開發。
UDK 上,基本上所有的事情都可以用 Unreal Script 搞定,不需要從基本的 Windows 窗口寫起,效率也提升不少。文檔豐富,除非是深度的鑽研,否則基本不需要殺進 C++ 層面去看和修改什麼,這對項目的快速啟動有著很大的優勢。UDK 自身的框架可以很容易架起一個遊戲的雛形,程序員在技術上有什麼想法和嘗試,都可以很快的做到。UDK 的腳本語言也很簡單,上手飛快,用戶友好。技術要求比較少的話,相比 CE3,程序員可以在技術和知識儲備都不是很豐富的情況下,做出不錯的產品。
我在 Unity3D 經歷比較少。開發語言上更友好了,使用 C# 和 Javascript,項目啟動更加方便,但是表現力上相比以上兩個引擎而言要差很多,適合跨平台的獨立遊戲製作,並不適合大型次世代遊戲的開發。
選擇上,首先是要做大型遊戲還是獨立遊戲,是否追求華麗的視覺效果,如果要做得很大的話,在人手足夠的情況下,推薦使用 UDK。CE3 得耐著性子做一些前期的學習和開發,否則在持續的開發和維護中,需要付出不少的代價。題主做小遊戲的需求,Unity3D 無疑是最適合的了,相對平滑的技術上手過程可以讓程序員有能力儘快地掌控項目。這幾個引擎目前來說選擇起來還是很方便的。
1、如果注重跨平台,需要在android、ios等各種主流平台上都發布,而內容不是注重特別牛的畫面,也不想用到C++來開發。Unreal和CryEngine的開發成本相對來說會高。那麼只有Unity可以選。
2、如果非常注重遊戲畫面,遊戲本身很重量級,那麼Unreal是首選。CryEngine本身畫面不錯,但是德國人其實在升級方面不是很嚴謹,在開發項目中遇到引擎本身升級帶來的bug就很多,導致升級成本很高,所以不是很好。
3、在項目最後的包輸出、定製化方面如果很注重的話,那麼Unreal相比較Unity會更好,因為源代碼現在很便宜就能得到。
幾個引擎比較的話, @Avatar Ye說的已經很多了。需要有前提,前提是你做什麼東西,我相信任何一個物體削薄,磨銳利,都能殺雞,只是效率和是否鬧笑話而已。
跨平台是雙刃劍,實際沒那麼理想,小遊戲也得看目標平台,iOS就老老實實objC和Swift原生開發,省心省力;頁游考慮Html5和Flash;如果是3D類的,那為了開發效率,那還是選擇Unity3D吧,素材市場太牛逼了,只有想不到,沒有做不到東西,很多官方都嘆為觀止。unity3d適合個人開發,缺點是多人協作,很難用SVN管理項目
udk適合團隊開發,適合分工協作
CE3渲染能力最強,但只關注高端平台,適合大公司和高富帥渲染效率越往下越高,成本也越高本人遊戲公司美術一枚,說下個人看法Unity3d個人覺得網頁遊戲,手機遊戲,或房地產用的比較多,對於各個平台支持都很好。去年又支持flash,網頁運行再也不用安裝瀏覽器插件。這塊做的不錯。開發人員起點比較低。基本的資料文檔都很豐富了。缺點就是畫面不給力。燈光、畫面各方面在這三個引擎里都是最差的,並且對於美術人員來說,做開發不是很好上手。很簡單的一個材質。都要去寫shader。。UDK,商用版叫虛幻3,業界早就名聲在外的引擎,個人覺得首先,商業方面,虛幻3在PC遊戲市場佔有方面,絕對是老大。我們可以看到很多虛幻3網遊,單機遊戲,XBOX遊戲,因為首先,虛幻引擎的畫面一直就是招牌。從戰爭機器系列,虛幻競技場,還有IOS上的無盡之劍,就能看出。當然好的畫面,80% 的功勞是美術製作人員的.但就從技術方面,個人覺得虛幻3一直是走在前端的,本人曾經在蘇州EPIC工作。當時用的是虛幻2,後來去9游,用虛幻3,所以,對虛幻引擎開發也有一定了解。在美術開發方面,虛幻3的材質編輯界面對一般的美術人員來說,很友好,節點式的編輯,很直觀,至於kismet腳本,更加簡化了不會程序的同學對腳本的使用。UDK的免費,也直接推動了UDK的知名度,不過我覺得UDK只能支持PC和IOS,略顯不足,去年官方出了個FLASH的DEMO。不過一直沒有免費出來,也算是個小遺憾吧。CE3,從出世以來,就是打的畫面牌,和EPIC的戰爭機器一樣,用孤島危機系列當樣板工程,給自己的引擎打廣告,不過話說回來。第一代的孤島危機,畫面是不錯,但基本沒幾個顯卡能跑動。後來的二代,做了優化。並且推出了主機版本,性能上好了很多。CE3引擎的特點,就是大量的動態光的使用。對於室外大場景有很好的渲染效果。以前在9游的時候,有一個項目組用的是CE2,由於美術不給力,畫面看上去也相當差。最後。題主如果是美術出身,我推薦UDK,如果是程序出身,我推薦Unity3d,如果是煤老闆,富二代出身,我推薦CE3
UDK自己開發著玩也是免費的,如果想用於商業,先得交99美元,如果商業收入超過5w美元,Epic公司才會分走25%.
先說說udk和unity3d吧。
假設是個獨立開發者,確定自己的技能偏向哪一類,前者是美工的好基友,後者是純粹程序員的玩具。對於我這樣一個小美工來說,udk的畫面效果碾壓同時期的unity3d,各種效果非常棒,可視化的材質和模型的編輯調節很方便,而且能夠較為輕鬆的利用kismet製作場景里需要的機關、事件等等。而如果是程序員,喜歡什麼事情都通過寫代碼解決的話,那就選unity3d吧。
ce3不推薦,雖然畫面好,但是用起來很窩火。首先,得看你搞清楚自己想設計一個什麼樣的遊戲,不追求畫面品質的話,就沒必要上高富帥引擎,屌絲unity完全足夠了。個人、六人團隊以下開發的話unity是三者中唯一選擇。別看udk和ce3在表現力上甩unity幾條街,不管是成本還是操作習慣,unity對個人小團隊開發絕對親民的了,缺點是SVN上確實是一坨屎,所以unity確實是不太適合大項目。
Unreal4已經開源了,樓主不需要糾結其它,請直接入坑就是。
個人感覺U3D還是比較弱一點,不過適應平台多。UDK很龐大,系統太大難精通,CE沒有接觸過。另外我想問一個問題,關於UDK的。假如我是商業公司,但是我開發的產品是免費給我客戶用的,這個怎麼算商業收入呢?
推薦閱讀:
※為什麼Unity3D能夠產生如此多的插件(中間件)?
※unity5.X的場景烘培速度慢到令人髮指是什麼原因?有什麼提高速度的優化方案?
※Unity3d 拖拽賦值組件與通過Find賦值組件的優點與缺點?