Unity VS Unreal 當如何選擇

2021-01-12 創新禪

在現代遊戲和虛擬實境開發中,使用遊戲引擎創建遊戲已變得越來越普遍。如今,大量的遊戲引擎可供選擇。但是,目前有兩個最受歡迎的選項——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當然是最受歡迎的產品。

相關焦點

  • 如何評價《太吾繪卷》的程序代碼?unity業餘愛好者說一下
    unity業餘愛好者說一下,這幾天傳的關於《太吾繪卷》代碼的事幾乎都是無中生有的事...一群用.net和vs做工程的人談論第三方引擎做的遊戲...真是雞同鴨講。太吾繪卷現在針對幾個常見誤會說一下1.只有一個main (x)unity的腳本都是依附於各個精靈的,沒有main,只有update2.沒有注釋(x)你反編譯出來的代碼有注釋
  • Unreal|PBR檢測工具
    然後,需要獲取場景中的basecolor,右鍵添加節點SceneTexture,然後選擇節點的Scene Texture Id屬性為BaseColor(for lighting)才能得到整個場景的base color。我們給輸出的base color添加一個desturation節點來降低base color飽和度,將0-255的顏色值範圍轉化到0-1的範圍,方便檢測。
  • 使用unity製作RPG遊戲3——2D精靈
    context=%7B%22nid%22%3A%22news_9564882242542237691%22%2C%22sourceFrom%22%3A%22bjh%22%2C%22url_data%22%3A%22bjhauthor%22%7D下面需要利用Tiled2Unity把01地圖導入unity下載Tiled2Unity,在根目錄下打開可執行文件進入unity。
  • 【遊戲流體力學基礎及Unity代碼(一)】熱傳導方程
    也就說,第二格的溫度會因第一格和第三格的溫度的影響而改變,第三格的溫度會因為第二格和第四格的溫度的影響而改變....但具體會如何被影響呢?某個方格的值會被附近方格的值影響,是不是很熟悉?對啦,高斯模糊就是用的這種方法!
  • Unity 2018.3 Beta版發布
    直播課程:Facial AR Remote面部捕捉解決方案課程(第一期)直播地址:https://connect.unity.com/events/unitychina-facialarUnity官方教師培訓報名火熱進行中Unity將在10月22-26日,舉辦為期5天的專業的Unity官方教師培訓課程,誠邀廣大教師與
  • unity什麼意思
    unity什麼意思uni前綴,只包含一個的,更多例子還有:uniform, unique, unilateral, etc. 發音類似於有你,整個世界中有你就夠了,不需要別人,也就是只包含一個的。unity,聯合、統一、團結、和睦。學單詞,只記住意思可不行,會用才行,小夥伴們可以在評論區造句,我們一起學習哦!我先來:造句:Unity is strength. (團結就是力量)
  • 在unity中用C#連接資料庫步驟
    所以本文就介紹一下unity連MySQL資料庫所遇到的一些坑。unity連接資料庫,首先你需要導入如圖所示的五個數據連結庫。在本圖中,歐陽講他們放到了Mysql文件夾下,在這裡歐陽強調一下――最好將他們放到Plugins文件夾下,不然會出現莫名其妙的問題哦。
  • 如何在Unity中利用nReal製作AR應用
    如何在Unity中開始使用nReal開發(視頻教程) 我拍了一段很長的視頻給你看: 如何安裝開發nReal眼鏡的先決條件; 如何下載SDK並將其導入Unity; SDK的當前狀態是什麼(關於它的一點評論);
  • Unity3D 尋路系統
    https://docs.unity3d.com/Manual/class-NavMeshAgent.html四、組件Nav Mesh Obstacle的使用http://docs.unity3d.com/Manual
  • mac版Unity Pro遊戲開發工具如何創建和使用腳本
    Unity Pro 2018 for mac是遊戲開發必備的軟體之一,unity mac版主要用於創建2D和3D跨平臺遊戲,比如三維視頻遊戲、實時三維動畫、建築可視化等類型,儘管Unity的內置組件可以實現多種用途,但是您很快就會發現,您需要超越它們提供的功能來實現自己的遊戲功能。
  • Unity基礎之物理引擎
    我們在unity裡面建了一個正方體cube , 要如何使這個cube可以跟現實中的物體一樣受重力呢 ? 這就需要用到Rigidbody(剛體)組件了 .單擊cube , 在右邊的Inspector面板添加Rigidbody組件添加完Rigidbody組件後,cube1就可以受重力影響了,運行unity時,cube1會因為受到重力往下落.下面為大家介紹 Rigidbody 組件常用參數 : 1. Mass : 物體的質量 .
  • 2021新年匯總:Unity項目原型快速開發資源,看這一篇就夠
    Example Game : https://assetstore.unity.com/packages/templates/flappy-bird-style-example-game-80330 Tower Defense Template : https://assetstore.unity.com/packages/essentials
  • Unity項目開發過程中常見的問題,你遇到過嗎?
    最近看到有朋友問一個unity遊戲開發團隊,需要掌握哪些知識之類的問題。
  • 使用Unity 粒子系統實現 2D 人物足跡效果
    之後深入一想腳本大概要怎麼寫,感覺頭大的不行,又想到了 Hierarchy 裡面被 FootStep12345678 塞得滿滿當當的壯麗場面..還是換個方法吧 轉念一想:unity 的粒子系統似乎可以滿足所有特性:生成淡出銷毀全自動,跟隨人物也是基本操作,比較存疑的就是用腳本控制粒子的鏡像與旋轉。
  • Unity編碼篇 Rigidbody類
    {// 實例化一個子彈Instantiate(m_bullet);}}}然後我們運行unity下期為大家介紹一下 Time 類 , 讓你可以在 unity 中掌控時間 .
  • unity遊戲製作初始人物控制代碼
    大家好,今天小編帶大家學習一哈unity遊戲製作中初始人物控制代碼。1.我們知道遊戲中,選中人物,在人物未開始運動前,往往會有一個初始的動作,好的,我們這節課通過unity中相關代碼和基礎設置來實現這一效果。
  • Unity 實用技巧 - 物理系統初識
    官方文檔:https://docs.unity3d.com/Manual/PhysicsSection.html01  Rigidbody(剛體)/ Rigidbody2D(2D剛體)在使用文檔連結:https://docs.unity3d.com/cn/current/Manual/PhysicsDebugVisualization.html最後,小編特別推薦一些其他大神分享的內容。
  • unity實戰之大主宰
    然後回到unity,點擊windows ->package manager,就能找到自己的資源,全部import這裡是獲取場景後的結果:通關視頻展示請移步:通關視頻https://www.bilibili.com/video/BV1hf4y1i7N8/項目代碼和資源連結:項目傳送門 (資源太多了,直接發的壓縮包)https://gitee.com/lhyyes/unity-game-homework/tree/master
  • 王者榮耀是怎樣煉成的(三)unity組件與腳本
    上回書王者榮耀是怎樣煉成的(二)《王者榮耀》unity安裝及使用的小白零基礎入門 說到了unity的基本操作。
  • Unity編碼篇 Mathf類和Random類
    Time.fixedTime) * 0.06f, 0, 0);// 小球變色transform.GetComponent<MeshRenderer>().material.color = new Color(0, Mathf.Sin(Time.fixedTime) * 0.5f, 0, 1);}}然後我們在unity