一、引擎的介紹


隨著遊戲開發的不斷進步,遊戲開發越來越龐大複雜,因此遊戲引擎已經成為遊戲開發必不可少的工具。引擎對基本的功能封裝,對工具鏈的提供等都可以大幅降低遊戲引擎的開發難度,提高開發速度和質量。

對於目前市場,3D手遊的引擎選擇主要分四部分:

  1. Unity:在移動端更有優勢佔據手遊市場70%的佔有率,各種品類遊戲都有;
  2. Unreal:兩款正版吃雞手遊都是使用Unreal引擎,但手遊MMO目前國內還沒有上線產品,國內端遊MMO成功的也很少;
  3. 自研引擎:例如楚留香的Messiah,太極熊貓的Flexi等,優點在於非常熟悉可以提供深度定製和優化;
  4. 其他引擎:應用較少不進行考慮。


這裡其實選擇的餘地比較小,對於大部分沒有自研引擎的公司來說,還是選擇Unity居多,但是隨著硬件的不斷髮展以及Epic公司自己的不斷優化和持續更新,Unreal在手機上也有越來越多的公司和項目選擇使用了。

Unity VS Unreal,遊戲開發該如何選擇引擎?

部分已知手遊項目:

Unity VS Unreal,遊戲開發該如何選擇引擎?

(一個重要的選擇原因:如果一款引擎在同類型項目中有成功項目,則我們可以很大程度相信這款引擎。)

二、選擇引擎的基本原則


按照軟件工程的開發流程,我們首先應該明確需求。以下是一些常見的需求點:

  • 遊戲類型?
  • 目標用戶,目標平臺,目標機型是什麼?
  • 項目週期,成本和團隊實力?
  • 更傾向畫質品質還是適配性?
  • 是否有特殊的技術需求?是否大世界?是否支持物理?是否寫實風格
  • 何種同步技術?
  • 等等


然後我們需要考察引擎的特性是否和我們的需求相符。

1、必須滿足的特性,如果不支持則不能選用該引擎:

  • 是否有成功的同類型產品?
  • 引擎是否支持想要發佈的平臺,兼容性如何?
  • 引擎的性能如何?包括CPU,GPU,內存等等,例如早期的Unreal如果開發商不做優化無法在低配手機上流暢穩定的運行。
  • 引擎的成本如何,和團隊的技術棧是否契合,開發效率如何?
  • 引擎是否支持想要的技術?


2、最好支持的特性,但如果不支持可以第三方庫或自主開發解決:

  • 如果是多人在線遊戲,引擎是否已經封裝了成熟的同步機制?
  • 是否支持更多的DC和更完善的優化?
  • 如果是開發大世界遊戲,引擎是否支持成熟的大世界系統(包括地形,植被,LOD,遮擋,優化等等)?
  • 如果需要高級AI,引擎是否能高效完善支持?
  • 如果需要物理碰撞,引擎是否能高效完善支持?
  • 負責邏輯是否支持腳本,是否支持腳本可視化編輯器?
  • 是否支持熱更?
  • 引擎是否自帶編輯器(動畫,場景,特效,UI,粒子等),以及編輯器是否適合,是否支持擴展?
  • 第三方插件和庫的支持如何?
  • 引擎是否有良好的文檔,是否有開發商官方的技術支持?
  • 引擎是否完善的開發工具?如性能分析,打包等等。


三、引擎的功能劃分和對比


有一句話說的好:

美術資源決定了遊戲世界的外觀,腳本資源決定了遊戲世界的內容,而引擎部分決定了遊戲世界的規則。

一款引擎往往包含,圖形模塊,AI模塊,物理模塊,尋路模塊,輸入模塊,網絡模塊,UI模塊,渲染模塊,聲音模塊,編輯器模塊等等,如果要全面評估我們應該針對各個模塊進行詳細的評估和對比。

但說道引擎,往往大家的第一印象都是引擎的圖形渲染能力,可見圖形對於引擎來說是至關重要的,因此我們會分為兩部分,圖形模塊和其他模塊,然後進行詳細的比較。

圖形模塊

圖形是遊戲引擎的重中之中,主要功能就是提供封裝底層的渲染接口(D3D,OpenGL,Metal,Vulkan等),渲染管線的定製(前向渲染,延遲渲染,多線程等),適配(PC,IOS,Android),以及一些基本渲染功能的提供例如後處理(抗鋸齒,景深,屏幕矯色,扭曲,描邊,SSAO等等),陰影,地形,捏臉,動畫,天氣等等。


Unity VS Unreal,遊戲開發該如何選擇引擎?

(點擊上圖,可放大查看)

由此可見在高端渲染技術上Unreal更有優勢有強大的官方支持,性能也極佳,但是相對的低端設備的兼容性會略差特別是Android版本。Unity也可以實現相同的效果但是很多工作都需要自己開發。

其他

Unity VS Unreal,遊戲開發該如何選擇引擎?

(點擊上圖,可放大查看)

經過對比可知Unity更容易上手前期開發更快速,更容易做出適配更廣(內存和穩定性)的遊戲,但一些次時代技術需要自己實現。而Unreal學習成本較高開發效率較低,但是更容易做出頂尖效果的遊戲,更適合開放世界,大型項目。

四、總結

如果是項目週期和成本比較寬裕,希望開發超高畫質超高品質,開放世界的遊戲,同時圖形向技術積累較弱推薦使用Unreal,特別是FPS射擊類遊戲;如果希望開發週期更短,或者有著深厚技術積累和技術支持推薦使用Unity。此外引擎的選擇也受美術和策劃的影響,特別是美術同學,對編輯器和引擎的熟悉成度對進度,效果和性能也有著非常大的影響。

其實對於大部分的遊戲,兩款引擎都可以滿足需求,主要的差異還是在品質,時間,成本的項目管理三角形的取捨上。適合自己的才是最好的

相關推薦

推薦中...