主頁 >  其他 > 虛幻與Unity引擎 之?? Unity3D和UE4哪個才是未來的方向?

虛幻與Unity引擎 之?? Unity3D和UE4哪個才是未來的方向?

2021-04-24 15:25:38 其他

Unity3D和UE4哪個才是未來的方向🔥

UE4 的工具鏈完善,框架也更合理;
Unity 提供輕量靈活的底層,二者各有各的側重點,并且在細分領域越來越穩固,

就目前的手游市場而言,Unity占比市場毋庸置疑是最大的,相比較UE4來說,Unity則更擅長輕量級多一些,但是對于大型游戲的端游而言,還是UE4用的更多一點,并不是Unity做不了高質量畫面或者大的程式,畢竟從歷史發展來看,UE的地位還是前輩級的,Unity作為后起之秀,做的效果也是無話可說,而且對于小眾游戲開發者和獨立開發者來說,Unity的使用成本也相對低一些,入門門檻比UE要低不少,


UE4??

UE發展史??

四年前的一個深夜,或者說是一個早晨,Unreal的傳奇開始了,它發生在馬里蘭州一個不起眼的市鎮Rockvill,在一套公寓大樓里回響起一支墨西哥流浪樂隊的曲子,那里住著Epic
MegaGames的游戲開發成員,

清晨5點,三位游戲設計師還在聽著最后一首曲子,那墨西哥人特有的華美旋律直透墻壁傳至外間,畢竟,在游戲世界里,清晨5點,并不是指公雞打鳴天要亮了,而是意味著程式師們苦熬了一個夜晚后終于可以關燈睡覺了,

作一名游戲開發者從來就不是潮流,而在當時那個年代,它更是沒有什么迷人之處,Rockville市這家自詡“Epic
Apartment”(史詩部門)的公司其實也與其它的作業室一樣地乏味無奇,然而它卻是Epic MegaGames的創始人Tim Sweeney的重中之重,在那,有他的王牌制作人所組成的智囊團,正為了他們最新的游戲而通宵達旦地作業著,
就在前面所說的那個晚上,一位年輕的加拿大設計師James Schmalz作出了一個決定,他準備向他的同伴Cliff
Bleszinski展示他那新游戲的最初設計原型,那是他早期成就的繼續,赫赫有名的彈珠臺游戲“Extreme Pinball”便出自他手,

盡管他的下一部游戲其時還僅僅停留在理論研究階段——也許比螢屏上飛舞的那些實線條要強上一點——但卻是朝向Schmalz的目標所邁出的第一步,他把這一目標稱之為“一個類似《魔毯》的可自由穿梭于地穴的游戲環境,”

Unreal的故事就是這樣展開的,雖說其間背景的設定從最初的地穴改為了后來的城堡,游戲影像也從粗糙變得華麗無比,但四年后,Schmalz與Bleszinski,連同Tim Sweeney一塊,最終無可爭議地親手造就了這一年度最偉大的游戲,


在這里插入圖片描述

💬
從工具鏈的角度看,UE4 是完勝的,以影片控制為例:UE4 的影片控制,邏輯和狀態機是系結的,在較大的專案中,就不會出現找不到影片控制的觸發邏輯,或者想增加影片控制邏輯時不知道如何組織代碼結構的問題,Unity 的 AnimatorController 則將變數通過 Animator 暴露給 GameObject,由 MonoBehavior 操作,并且操作的程序是以硬編碼的方式做的,UE4 的工具鏈完善,框架也更合理;Unity 提供輕量靈活的底層,二者各有各的側重點,并且在細分領域越來越穩固,

  • UE4
    的影片控制,邏輯和狀態機是系結的,在較大的專案中,就不會出現找不到影片控制的觸發邏輯,或者想增加影片控制邏輯時不知道如何組織代碼結構的問題,
  • Unity 的 AnimatorController 則將變數通過 Animator 暴露給 GameObject,由
    MonoBehavior 操作,并且操作的程序是以硬編碼的方式做的,
// AnimState 是 AnimatorController 中定義的變數
ator1.SetInteger("AnimState", mAnimIndex % mAnimTotal);

在引擎設計的思路上,UE4 采用 engine + framework 的模式,將框架定義的非常仔細,針對游戲開發進行了完善的抽象,圍繞它們做了完整的工具鏈,

在這里插入圖片描述
UE 考慮到了主要工種的配合問題,藍圖的引入讓功能層的撰寫門檻降低了不少,在規模較大的專案中,由于完善的分層,總體上使用體驗比 unity 舒服很多(就引擎本體而言),

缺點就是學習程序中需要按著 UE 引擎所設計的思路去掌握各種概念,但因為這套抽象是相當合理的,所以理解起來也不算困難,只是引擎里藏了很多設定項,背后都是專業細致的領域知識,理解起來還是有門檻的,

還有一個問題是專案過大,做小東西往往顯得臃腫,大材小用,而且無論做什么,框架都是要遵守的,在與 unity 的競爭中,首先就失去了輕量化和兼顧低性能設備的陣地,因而 2D 部分得不到發展,此消彼長,現在 2D 組件已經遠遠比不上 unity 了,


Unity??

unity發展史??

游戲的起源是電子游戲,電子游戲于1952年面世,在真空管電腦的平臺上,開發出第一款電子游戲——井字棋游戲,并在1958年10月18日研發出游戲《雙人網球》,
ATARI時期在不久之后到來,標志著第一個游戲市場的出現,被稱為“雅達利時代”,在這個時代,玩家素質低、游戲概念不清、大量廠商渾水摸魚成為了這個時代最為鮮明的特征,而電子游戲《ET》也被研發出世,緊接著,在70年代,文字式游戲出現,并伴隨著日本另一大廠商——Taito加入,經典游戲《太空侵略者》被開發,《吃豆人》、《創世紀》等游戲也相繼出現,在80年代,世嘉,Atari,任天堂則開始將游戲界的戰火引向游戲機硬體方面,
80年代末期,電子游戲出現轉折,電腦得到顯卡,開始崛起,與此同時,任天堂推出Game Boy,更打開了便攜式游戲機的發展空間,但此時游戲引擎還尚未出現,

直到90年代,copcom推出街頭霸王,Pentium芯片面世,《仙劍奇俠傳》、《神話傳說》等經典游戲也相繼被推出,任天堂亦被世嘉Sega Saturn 與索尼的Plag Station擊敗,1992年,3D Realms公司/Apoges公司發布的小游戲《德軍司令部》和id Software 公司的射擊游戲《Doom》,成為了引擎誕生初期的兩部代表作,而Doom引擎也成為了第一個被用于授權的引擎,在1993年底,Raven公司采用改進后的Doom引擎開發了《投影者》游戲,這也成為游戲史上第一例成功的嫁接手術,
Quake引擎——第一款完全支持多邊形模型,影片以及粒子特效的真正意義上的3D引擎,在1994年,通過Quake引擎開發出了游戲《雷神之錘》,之后,Quake引擎開發的游戲《Quake》,其中游戲的操作方式樹立了FPS游戲標準,
一年之后,id Software公司又再次推出《雷神之錘2》,通過再用一套全新的引擎,充分利用3D加速和OpenGL技術,在影像和網路方面有了質的飛躍,也成功奠定了id Software公司在3D引擎市場上的霸主地位,1999年,id公司的QuakeⅢ又一次獨霸市場,Epic Megagames(EPIC)公司卻在此時退出了Unreal引擎,并且很快推出了Unreal2引擎,同時進行了升級,成為Unreal2.5,開發了眾多知名游戲,包括《湯姆克蘭西之細胞分裂2:明日潘多拉》、《天堂2》、《荒野大嫖客》等,游戲引擎的告訴發展進一步推動了游戲產業的擴大,

21世紀,家用游戲形成三足并立局面,游戲領域空前發展,而游戲引擎也得到空前發展,2002年,Direct9時代到來,EPIC又推出了支持64位的HDRR高精度動態渲染、多種類光照和高級動態陰影特效的Unreal3引擎,并提供了強大的編輯工具,同時,在此期間,Monolith公司的Lith Tech引擎迅速崛起,而代表作便是《F.E.A.R》以及《F.E.A.R2》,之后,MAX-FX引擎、Geo-Mod引擎、Serious引擎等各種引擎相繼出現,
正在此時,由于來自丹麥的Joachion與德國的Nicholas Francis非常喜歡做游戲,因此邀請了來自冰島的David成立了團隊Over the Edge Entertainment,開發了第一代版本的unity引擎,而unity公司也于2004年在丹麥的阿姆特丹誕生,并在2005年,將公司總部設立在了美國舊金山,同時發布了unity1.0引擎版本,至此,Unity引擎正式誕生,


在這里插入圖片描述

💬
Unity 可以說只做了 engine + framework bus(總線),所謂 framework bus,指的是 unity 并沒有約定 gameplay 的框架,只規定用 **EC (entity + component)**結構組織一切,所有的邏輯都掛在 monobehavior 上執行(雖然 UE4 在 BP 中也是按 EC 組織的,但它撰寫功能的思路是 OO 的),

這種結構簡單清晰,對新手具有相當的友好程度,但缺點也很明顯:大型專案需要從頭定義 gameplay framework 和一系列工具鏈,并且由于 MonoBehavior 使用反射(c# reflection)收集,其執行序不可控,并且過多的 MonoBehavior 會影響效率,進一步逼迫大型專案在引擎的基礎上魔改,實際使用中,往往是一個 mono 作為入口,負責拉起、回收自定義框架,并提供心跳(deltaTime),然后一些邊角系統獨立跑 mono,以減少反射收集,

這個程序中,程式的可操作空間太大,與 js 一樣,靈活往往帶來混亂,加上立項前期需求的頻繁變動,架構設計這個給程式減熵的作業就尤其難做,很多時候是大補丁套小補丁的用,還防不住新同學茫然無措的把某個 flag 插到天涯海角,導致 debug 的時候找都找不到(其他人讀的時候即使運行正確也不知道是怎么出來的),
在這里插入圖片描述

雖然 unity 因為結構的松散,和不實際使用自己的引擎下場做大型專案,導致引擎提供的工具鏈完全不如 UE,但 EC 結構 確實是簡潔高效的,而且越是小專案,優勢越明顯,這也是 unity 在 2D 領域稱王稱霸的關鍵,

這兩年 unity 在渲染流程和 2D toolkit 上下了不少功夫,畫質已經可以趕上 UE 了,雖說很多東西是 UE 玩剩下的,但針對 EC 的特點做的 burst complier + job system + ECS (DOTS),使得在進一步輕量化的方向上還大有潛力,project tiny 就是很值得期待的新工具,我個人認為,把偏平化的引擎進一步扁平化,切片到極致的 ECS 才是 unity 下一步想要脫穎而出的關鍵,而 UE 是不可能拋棄成型的 gameplay framework 去用 ECS 的,

ECS 也可以用在大型專案上,對于需要頻繁 spawn 物體的游戲效果極佳,比如槍戰類(守望先鋒)、模擬經營(戴森球計劃),但很不擅長流程化的內容,這就有違引擎的初衷,所以 pure ECS 對 unity 來說會是一個向下不兼容的調整,短期內應該還是見不到的(但很希望能有,出個 pure ECS 分支也行,就像建藍圖專案和C++專案一樣),
在這里插入圖片描述

結論🏠

游戲引擎沒有統一的未來,正如好的游戲設計沒有統一的范式,除了 Unity 和
UE,市面上還有很多沒聽過的引擎,比如cocos等,也有開發者熱愛使用和維護著,

這兩個第一梯隊的引擎逐漸展露出了面向不同市場的態度:

  • UE4 傾向于加入最先進的圖形功能,優化工具鏈和針對工種設計使用體驗,拉高產出作品的上限,適合做體量大的游戲和聯機游戲,Unity
    傾向于優化靈活性,針對靈活性去設計編程模式,拉高產出作品的下限,提高上限的作業交給了游戲公司,通過設計適合自己游戲型別的架構和渲染流程來實作,
  • Unity 玩的最好的公司(米哈游,疊紙)都是買了原始碼一通魔改,把引擎吃透了的,就引擎本身來說,適合做 2D
    游戲,中小型獨立游戲,未來可以期待高品質優化強的頁游,

文章參考,僅供大家了解哦
來源:知乎作者 妖風-EvilWind
鏈接:https://www.zhihu.com/question/344717773/answer/1783692672

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279675.html

標籤:其他

上一篇:微信小程式——推箱子小游戲

下一篇:java實作貪吃蛇小游戲(原始碼+注釋)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more