在現代遊戲和虛擬實境開發中,使用遊戲引擎創建遊戲已變得越來越普遍。如今,大量的遊戲引擎可供選擇。但是,目前有兩個最受歡迎的選項——Unity和Unreal Engine。今天,我們將研究兩者的優缺點,以幫助確定哪種引擎最適合您。
在我們開始之前,讓我們先將幾件事弄清楚。這決不是要確定哪個更好的競賽,它們是兩個截然不同的非常好的引擎,各有優缺點。哪個更合適通常取決於您的個人喜好或所創建的遊戲類型或程序需求。
此外,Unity和Unreal絕不是唯一的選擇,它們只是最受歡迎的兩個。
Unity於2005年開始作為商業產品投入使用。它對我和當時的大多數人都沒有特別的關係,坦白地說,因為那是當時的Mac專有產品。但是,在2007年,Unity被帶到Windows平臺,此後真正開始發展。第二年,Apple App Store上市,隨之而來的手機遊戲也吸引了淘金者。
從一開始進行設計,就使遊戲開發更加平易近人,將其開放給更廣泛的受眾,我認為很少有人可以說他們在這方面取得了成功。在此過程中,他們還啟動了非常成功的廣告平臺,並創建了所有引擎的單一開發商市場。
從那時起,他們繼續添加功能,也許更重要的是針對平臺,以至於Unity可以針對您在此之前聽說過的幾乎每個平臺。近年來,人們一直在關注引擎帶來更好的性能和渲染技術,從而使Unity成為真正的AAA引擎。諸如DOTS和可編寫腳本的渲染管道之類的功能已極大地改善了視覺質量。
Unreal Engine的歷史更為傳統,它是專為遊戲引擎提供動力的。它於1998年發布。當時,有兩家公司將其引擎技術授權給其他開發人員(NetImmerse、Renderware、LithTech、idTech)。就idTech而言,已獲得了用於創建ID軟體遊戲(例如Quake / Doom)的代碼和工具。另一方面,Epic Games將更多的資源集中在具有完善工具和支持的引擎「產品化」上。要記住的另一件事是,在那些日子裡,許可遊戲引擎需要支付6至7位數的許可費用。在這一點上,Epic成為一家遊戲和遊戲技術公司,這種結構一直持續到今天。
如果您逐漸了解使用各種版本的Unreal Engine製作的遊戲,那將是遊戲界的佼佼者。諸如虛幻競技場,Deus Ex,生化奇兵1/2/3,分裂細胞,蝙蝠俠阿卡姆遊戲,無主之地系列,戰爭機器系列,質量效應,真人快打,PubG,Fortnite以及山羊模擬器等遊戲!在未使用內部技術構建的大型預算遊戲中,Unreal Engine 很容易成為遊戲之王。但是,您會發現缺少的是移動主題。直到Infinity Blade出現之前,虛幻技術在移動方面還是一個相對陌生的領域,但是隨著時間的推移,虛幻技術日漸完善,Fortnite的巨大成功真正將他們的精力集中在改善移動支持上。他們開始使用Unreal Engine3製作獨立版本,但是隨著Unreal Engine4的發布,許可系統發生了很大變化。Unreal Engine4不需要像UDK 3那樣需要數十萬美元的預付款,而是改為最初小的訂閱+版稅結構,然後最終使用了直接的版本。
程序體驗
每個遊戲引擎在開發人員(特別是編碼人員)與每個引擎工作時的方式都大不相同。一個主要區別是,Unreal Engine的原始碼可在GitHub上使用(儘管不是技術上開放的原始碼),這意味著您可以自己更改引擎的任何方面,包括從頭開始構建整個組件的能力。另一方面,Unity是封閉原始碼的,除非您為原始碼許可支付大量現金(傳聞中有6位數字)。但是,它們正在緩慢地發行越來越多的東西,許多軟體包都是開源的,而Unity的某些部分僅作為參考開放(您仍然不能自己編譯引擎,也不能修復bug)。
在遊戲編程方面,有兩種主要的虛幻引擎編程方法:C ++和Blueprints。C ++在其下面構建了一個完整的垃圾收集系統,並具有一個現在由Live ++支持的實時重載系統,這使C ++感覺很像一種腳本語言。Blueprints是基於可視化圖形的編程系統,可能是最佳的可視化編程選項。它還能夠被編譯為C ++代碼,從而降低了使用它的性能成本。Unreal Engine中的生成時間不是很好。
在Unity中,曾經有幾種受支持的腳本語言,C#,Boo(類似於Python)和UnityScript(類似於JavaScript / ECMAScript)。近年來,Boo和UnityScript的支持都被放棄了,而C#成為開發遊戲的主要方式。從好的方面來說,由於Mono是免費提供的,因此Unity現在擁有C#的當前實現,而不是將其滯後於語言開發近十年。Unity當前正在向DOTS或面向數據的技術堆棧過渡,該組合是C#,ECS或實體組件系統的高性能子集和以Jobs系統為中心的並行計算的結合,有望實現本機C ++級別的性能。Unity中的生成時間非常快。
特徵
在這一點上,我通常會對每個遊戲引擎之間的可用功能進行巨大的清單比較。事實是,這可能是對時間的完全浪費。如果啟動了新平臺,則兩個引擎將在一個發行版中支持該平臺。這兩個引擎都絕對裝有工具和功能……動畫工具,剖析器,DCC導入工具,地形,物理,音頻,VR,過場動畫,版本控制集成……它們都具備。就功能規格而言,Unity和Unreal很容易成為功能豐富的遊戲引擎不相上下。
Unity在兩個方面勝過Unreal——2D和Web。在最新版本中,Unreal中的HTML平臺被分解為一個社區項目。在2D方面,Unity在這方面的更突出。Unreal具有Paper2D,但幾年前這裡的開發似乎已停止。2D可以在任何一個引擎中完成,但是在這方面,Unity似乎是更好的選擇。Unreal似乎仍然具有優勢的領域是視覺質量……目前,它在渲染AAA質量圖形方面具有更好的性能。Unity正嘗試通過遷移到DOTS和可編程高端管道HDRP(目前處於測試階段)來迅速縮小差距。
Unity平臺:
Unreal平臺:
Unreal4使您可以將項目部署到Windows PC,PlayStation 4,Xbox One,Mac OS X,iOS,Android,AR,VR,Linux,SteamOS和HTML5。您可以在Windows,OS X和Linux上運行虛幻編輯器。
請注意,使用任何一個遊戲引擎,您仍然需要擁有有效的控制臺(Microsoft,Sony,Nintendo)開發者許可協議,然後才能為這些平臺中的任何一個進行開發。
社區
Unity和Unreal都有一個充滿活力的社區,並且所有書籍,教程和其他材料都與大型社區一起存在。也就是說,Unity的社區要大得多,可用的出版書籍可能多出3-4倍,以及大量的社區驅動的教程。但是,這兩種引擎在提供學習材料方面都做得很好,因此學習任何一種引擎在尋找良好資源方面都不會有太大問題。這兩個社區都足夠大,因此通常有回答技術問題,使經驗豐富的Unity開發人員比Unreal開發人員更容易得多。
社區的另一個方面是可用的開發人員市場。Unity應用商店幾乎是該概念的先驅,它是免費和商業腳本、模型、關卡、圖形等的巨大資源。Unreal也有一個開發人員商店,但它只是Unity市場的一小部分。也就是說,Unreal使開發人員在每個月的第一天就放棄市場內容,從而隨著時間的推移為開發人員提供了大量的高質量免費資產。
發行遊戲
兩種遊戲引擎都有大量已發布的商業案例。Unreal在預算龐大的AAA空間中佔據主導地位,並且正試圖越來越多地進入獨立和移動空間。相反,Unity已發布了大量的移動遊戲,並成為中小型開發人員的首選引擎,尤其是一些知名的專業KickStarter遊戲。
Unreal:
堡壘之夜
真人快打系列(UE3衍生引擎)
王牌實戰7
方舟:生存進化
蝙蝠俠:阿卡姆城/庇護
戰爭機器4/5
王國之心3
PUBG
盜賊之海
街頭霸王V
無主之地3
染血:夜晚的儀式
Unity:
爐石傳說
杯頭
永恆之柱1和2
火警
暗影奔跑(多個)
戰技
奧裡和盲人森林
喀布爾太空計劃
覆核
城市:天際線
可以肯定地說,發布的Unity比Unreal的還要多,但是Unreal在大眾市場AAA標題方面處於領先地位。
價錢
Unity和Unreal Engine都採用了完全不同的貨幣化方法,每種方法根據您遊戲的最終尺寸,範圍和總銷售額而各有利弊。
我們將從Unreal的定價方案開始,因為這是最直接的方法。在獲得一定收入後,Unreal將採用直接的版稅計劃:UE4是免費使用的,在每個日曆季度每款遊戲來自商業產品的首個產品收入達到3,000美元後,就可以按產品總收入的5%收取版稅。如果您希望您的遊戲能夠發行絕對數量的副本,那麼您還可以與Epic協商統一費率的前期許可費用。Unity具有更傳統的按座位訂購的方法,通常有多種計劃可用於開發人員的收入水平。Unity剛剛在2020年1月1 日提價,並擺脫了年度計劃的定價。 對於收入或資金每年不超過10萬美元的開發人員,可以使用個人或免費服務。接下來是PLUS等級,每月40美元。此層為您提供了附加功能,例如訪問其高級學習,分析,雲託管等的功能。最大的不同是,使用此許可,您每年可以賺取20萬美元以上。然後是專業級別,每個開發人員每月150美元。同樣,它附帶了許多附加功能,但完全消除了收入限制。最後,可以選擇與Unity協商原始碼許可,其條款不是公開的。
利弊
以下是每個引擎的主要優點和缺點的簡要概述:
Unity ——優點
支持每個主要平臺龐大的社區和支持網絡(書籍教程等)迄今為止最大的開發商市場最容易租用,易於獲得的認證和培訓課程對2D遊戲開發的更好支持可以很好地適應策略標題,RPG等更快的開發周期,更快的構建時間廣告網絡…Unity廣告對於移動開發人員而言意義重大開放且快速的開發迭代,對於常規的alpha和beta版本非常透明引擎的模塊化重新設計應能加快發布速度
Unity ——缺點
開箱即用的視覺效果不如虛幻效果無法從原始碼構建或修復錯誤沒有主要的AAA頭銜指向視覺腳本支持才剛剛開始模塊化的開發方法使項目更容易破解,依賴關係越來越嚴重新的編程模型(DOTS / ECS)將要求現有開發人員進行主要的重新學習過程,並且目前比GameObject / MonoBehaviour工作流程複雜得多C#…C#或C#,要使用C#嗎?
Unreal——優點
提供原始碼,完全公開的開發周期更現代的編輯器,更少的遺留問題出色的性能,開箱即用數百種專業標題,種類繁多,風格多樣每月贈送免費資產如果遊戲在Epic Game商店上發布,則可以免費使用明智的許可
Unreal——缺點
2D幾乎被遺棄了引擎的設計非常注重第3 和第1 人稱對HTML平臺的可疑未來承諾極慢的構建時間資產導入可能會非常緩慢買賣雙方的資產交易市場較小不支持C#較小的開發人員社區,很難找到經驗豐富的開發人員
結論
Unreal和Unity是兩種產品,隨著迭代更新,它們在許多方面變得越來越相似,而不是不同。最大的區別在於他們的起點。Unity開始了針對業餘愛好者市場的生活,並在那裡取得了巨大的成功。現在,圍繞Unity的許多開發都圍繞著將其擴展到AAA級的工作。支持更大的項目,更高保真度的圖形以及更嚴格的性能控制。但是,從Unreal開始運行的第一天起,Unreal首先就是AAA遊戲引擎,其重點是高性能和圖形保真度。隨著Unreal4的發布,人們將極大的精力放在使它更易於使用,文檔更完善,更易於訪問上。有了每個新功能,您幾乎可以像發條一樣期待其他引擎效仿。他們倆背後都有巨額資金,而且兩家公司破產的風險很小甚至沒有。兩者都以驚人的速度添加了功能,儘管通常這些功能可能還需要幾年的時間才能穩定到足以在生產環境中工作。兩者也都在大力推向服務市場。當前,Unity提供的一項主要功能是虛幻引擎,它不是一項廣告貨幣化服務,該服務在移動領域非常龐大,而在臺式機和控制臺平臺上則不那麼重要。根據幾年前進行的這項調查,Unity 3D當然是最受歡迎的產品。