虛幻與Unity引擎 之 ? 為什么國內(nèi)那么多開發(fā)者喜歡用虛幻或者Unity?

為什么國內(nèi)那么多開發(fā)者喜歡用虛幻或者Unity?

虛幻第一版1998年問世,Unity第一版2005年面世

簡單介紹

首先,使用哪一款游戲引擎去制作一款游戲,并不是根據(jù)使用者的喜好來制定的。

開發(fā)者們的喜好千奇百怪,但最終能在技術(shù)選型中影響到結(jié)果的,往往是技術(shù)積累以及引擎本身的特性。

目前,雖然Epic的虛幻因為Unreal5的預(yù)覽發(fā)布,聲勢滔天,說他驚艷了全球的游戲產(chǎn)業(yè),絕不為過。其Nanite虛擬微多邊形幾何技術(shù)和Lumen動態(tài)全局光照技術(shù),幾乎可以算得上是一次渲染界的產(chǎn)業(yè)革命了。

這種新的渲染技術(shù)有多牛逼呢?

一定要打比方的話,就相當(dāng)于模擬信號到數(shù)字信號的轉(zhuǎn)變,說它是一次對業(yè)界的降維打擊,我想反對的人不會太多。

這兩種技術(shù)都采用了新的思路來解決美術(shù)方面的問題,一個干掉了場景多邊形數(shù)量上限的帽子保證了美術(shù)在導(dǎo)入模型的時候不會因為多邊形數(shù)量過多而頭禿,后者則宣稱不需要DXR的硬件支持就可以達(dá)到Runtime RTX的效果。


Lumen


Nanite


兩個大餅看上去簡直無比香甜,不由令人想到,2009 年,Tim Sweeny 在 CGDC 做過的一個分享。

分享叫做 《下一個次世代——萬億次浮點運算時代的游戲開發(fā)》,說的好像就是這個十年后的引擎。

如果Unreal真正做到了他宣傳的水平,那么無疑它很有可能征服市場。

但是,我要說但是了,一款新的游戲引擎從預(yù)覽發(fā)布到完全能用,可能是一場長征。

不知道有多少人記得當(dāng)年Unreal的實時光照鴿了多久……

就如同開頭所說,決定用哪一款引擎去做游戲,不是根據(jù)喜好來的。

就一套生產(chǎn)力工具而言,很多時候美好的未來并不見得能帶來多大的市場,好用,簡單,穩(wěn)定,量足管飽才是剛需。

可用性和魯棒性反而是計算機系統(tǒng)評估中權(quán)重很高的項目。

所以,哪怕是Epic的大股東,騰訊,它自家新發(fā)布的四十款游戲中,目前選擇Unity的比例依舊高達(dá)80%以上。

由此可見,Unreal雖然看上去非常強大美好,喜歡的人很多,但是并不那么接地氣,有點空中樓閣的意思。

在國內(nèi)游戲引擎市場占有率上,還是可用性和魯棒性相對更高的Unity占據(jù)了壓倒性優(yōu)勢的。

Unreal的強大和不足

市場是誠實的,雖然Unreal非常優(yōu)秀,但好像大家都不怎么買賬,這到底是為什么?

第一,它選擇了c++作為主要開發(fā)語言。很好,很強大。

作為一門Native語言,c++最典型的描述就是瑞士軍刀。靈活,強大,鋒利。

選擇它,就不會有難以控制和預(yù)測的垃圾回收的煩惱。

選擇它,就不需要考慮膠水語言、托管語言、腳本語言的低效。

選擇它,程序員可以用最直接的方式實現(xiàn)最優(yōu)秀的解決方案。

但是,選擇它就意味著要自己管理內(nèi)存,要自己去管理第三方庫的編譯、鏈接、兼容問題,要自己去實現(xiàn)具體方案的每一個步驟。

對于經(jīng)驗老到的程序員來說,這三個問題每個問題都和地獄一樣。他們當(dāng)然可以用苦練很多年的獨門絕學(xué)淌平這些問題,但游戲不是一個人開發(fā)出來的……

別人怎么辦?別人連在面試?yán)锾嶙约赫莆蘸途╟++這門語言都不敢。

面對很有可能漏得到到處都是pAActor或者pUStruct,面對老板們拍著桌子要求他們快糙猛干,老碼農(nóng)們愉快地打出了GG。

第二,它的視覺效果極其優(yōu)秀,非常適合3A級別的游戲。

作為一款游戲引擎,可以說它能滿足大多數(shù)腦洞不太大的游戲藝術(shù)家們對于畫面的追求。

或者說,大多數(shù)時候,一款Unreal游戲的畫面不夠好評時,瓶頸絕對不是出在引擎上。

是的,別想太多,用虛幻還做不出好畫面,唯一的可能就是使用者太菜了。然而,如此強大的游戲引擎,又犯了忌諱。

它的確非常適合高水平的團隊制作大體量的3A游戲,可是國內(nèi)的游戲市場里……

不,甚至國際游戲市場里,現(xiàn)在也是小體量的游戲占據(jù)了絕對的主流。

記得暴雪的老頭子前兩年開發(fā)布會的時候提過一個經(jīng)典的問題:“難道你們都沒有手機嗎?”他問的方式不對。

正確的問法是:難道你們沒有2080ti嗎?而標(biāo)準(zhǔn)的回答是:是的,我們沒有,我們只有驍龍865。

于是,面對一個空項目都能打出200m包體的引擎,制作人們選擇了放棄。

這塊肉很香,但咬不動啊。

第三,Unreal是開源的。非常有Hacker精神,也非常值得贊賞。

很久以前我還在用cocos做游戲的時候,跟到過一個引擎自身的漏洞。

這個漏洞會導(dǎo)致引擎在滿足一定的條件時,會誤判字符串長度,從而顯示亂碼。

它非常折磨人,當(dāng)時我的想法是,如果cocos不是開源的,可能我就要一直頭疼下去了。

那一次,開源救了我的命!開源消滅了我變禿頭的可能!是的,毫無疑問,同樣一個引擎,開源總比不開源更好。

但是,縱觀我那么多年的經(jīng)驗,其實使用第三方庫過程中,開源救命的也就那一次。

這意味著,開源和閉源在技術(shù)選型中的權(quán)重往往不高。因為大多數(shù)實踐中,work around更具有性價比。

就好像用戶使用Linux而不用Windows的原因有很多,但只有極少數(shù)人僅僅是因為linux開源而windows閉源從而選擇linux是一個道理。Unreal的開源的確是巨大的優(yōu)勢,但很遺憾在用戶群體中這個優(yōu)勢的權(quán)重還不夠高。

總結(jié)一下

總之,Unreal是非常強大的引擎,但他的渲染太重了,對于大多數(shù)游戲來說,過于強大。

在Unreal5中,它甚至能做到千億級別的多邊形和動態(tài)光照,看上去強到開創(chuàng)了新世紀(jì)。

它的幾何數(shù)據(jù)虛擬化的想法和技術(shù),的的確確是劃時代的進步。

這項技術(shù)將復(fù)雜場景的幾何全局參數(shù)化到統(tǒng)一的虛擬地址空間里,同時通過算法把這種映射帶來的畸變和噪音降低到最低,以上的處理過程,都是需要大量深奧的微分幾何理論來保證的。

這種劃時代的進步,簡直是數(shù)學(xué)是上帝的語言最好的佐證之一。

但正如那些問題,有多少人擅長使用上帝的語言呢?

或者說,當(dāng)今的游戲產(chǎn)業(yè)里,有多少場景需要使用到這種數(shù)量級的多邊形和動態(tài)光照呢?

影視業(yè)可能會用到,但很顯然夢工廠是看不上UE的,然后呢?然后就沒了。

有人要問了,你剛才不是吹了很久3A級別的渲染效果嗎?沒毛病啊,我是吹了很久Unreal,但我有說過3A游戲都用它嗎?

《全戰(zhàn)》系列是自研引擎。

《刺客信條》用的是自研引擎。

《黑魂》用的是自研引擎。

《美國末日》,《神秘海域》用的還是自研引擎。

《GTA》是自研引擎,《老頭滾動條》還是自研引擎。

什么叫驚喜,這就叫驚喜。

那么到底誰在用Unreal?

槍、車、球、家裝、VR……

以前有一個游戲技術(shù)選型的時候。

我問制作人,我們用Unreal好不好???

他說好啊,做個次世代手機游戲出來啊,贊。

我問策劃,我們用Unreal好不好???

他說好啊,藍(lán)圖功能多好啊,我自己能改系統(tǒng)了,贊。

我問開發(fā)組長,我們用Unreal好不好???

他抄起鍵盤就砸了過來,“他媽的做到一半程序員掀桌子的話,爛攤子誰來收?”

Unreal最大的問題不是不好用,而是它自帶的Demo太優(yōu)秀了,優(yōu)秀到大多數(shù)人做出來的東西連它自帶的Demo都不如。

然后,我們反觀Unity。

網(wǎng)上總是流傳各種Unity的負(fù)面新聞。

但其實,不正是因為用的人多,才會不停成為熱點的嗎?

為什么大家喜歡用Unity呢?

第一,它選擇了C#作為主要開發(fā)語言。

C#是一種托管語言,和c++比,不夠Native,不夠高效,和腳本語言比,又不夠靈活。

但它勝在全面。

強類型,跨平臺,語法糖,應(yīng)有盡有。比簡單的腳本語言強大,比c++更簡單易用。

值得吐槽的是托管語言必須要面對的一個垃圾回收、和源管理問題。

往常,開發(fā)者們只能通過Unity自身的Profile功能來大幅度優(yōu)化來解決不可預(yù)測的卡頓和崩潰。

但隨著2019LTS版本中增量GC的功能推出,這個問題已經(jīng)可以被引擎本身緩解一部分。

增量GC是指,引擎通過在多個框架上分配工作負(fù)載,來把一次性的大型的中斷替換成多次小型更頻繁的中斷。

通過這種粉碎式的替換,在游戲引擎運行過程中實現(xiàn)一種近似于load balance的效果,從而消滅突如其來的巨大卡頓,降低開發(fā)者的優(yōu)化壓力。

第二,Unity的渲染系統(tǒng)雖然不夠突出,但是也足夠好用。

傳說中的Unity做不了高端游戲,絕對是一個誤會。

我們往往不這么做,僅僅是因為市場更看好手機平臺的游戲,要知道在我國PC的滲透率只有可憐的30%左右。

主機市場更慘,但是介于某些敏感的原因我就不解釋了,我相信只要是個老玩家都懂,任何合格的我朝游戲從業(yè)人員都不會把做主機游戲當(dāng)做一個目前可行的方案。

是的,我們不用Unity去做高尖端游戲,不代表它做不了次時代畫面的游戲。


奧日2



帕斯卡契約

Unity畫面不行已經(jīng)是老黃歷了。

譬如《奧日2》,《帕斯卡契約》,

最近兩款畫面廣受好評的游戲,就都是Unity開發(fā)的。

還有最近發(fā)布的PS5游戲《Oddworld Soulstorm》預(yù)覽,這款游戲也是Unity做的。

視頻如下:【2020索尼PS5發(fā)布會】《Oddworld SoulStorm (奇異世界:靈魂風(fēng)暴)》宣傳片

由于背負(fù)著沉重的老黃歷包袱,近年來Unity在渲染上花的功夫還是比較足的,雖然真要實現(xiàn)超高水平的渲染還是會很耗,但一般的大制作問題不大。

譬如Unity2018就已經(jīng)推出,在Unity2019LTS中開箱即用的High Definition Render Pipeline。

這款新的渲染管線是專門為了高性能顯卡設(shè)計的,支持許多諸如Shader Model5.0之類的次世代特性。

可惜的是,它必須在支持cpu shader的平臺上才能使用,因此,業(yè)界使用到它的機會也不多。

不過這不是引擎的問題,將來手機硬件升級以后,該強大的渲染管線支持高端手機將不會是問題。

屆時,Unity開發(fā)的次世代手機游戲?qū)毡?。Unity同樣沒有遺忘它的基本盤,在不夠高端的平臺上,Unity推出了偏重靈活性,可配置性,可編程性,易用性的URP。URP全稱Universal Render Pipeline,它就是為了輕量級渲染而生的。

簡單,好用,開源,可編程,偶爾技美一定要搞點大動作,也可以挪一點HDRP的小組件,改巴改巴整過來提高游戲的逼格也是可以的。

第三,費用問題。

我已經(jīng)看到過無數(shù)的人吹Unreal的收費便宜了,但這吹法不對。

尤其是騰訊用腳投票的姿勢那么明顯……

Unity是按照坐席訂閱收費的。

你開發(fā)一款月入一個億的游戲,和一款月入一百萬的游戲,訂閱Unity的價格是不變的。

一套正版一年1800刀。但如果你用的是Unreal,它們不是這樣算的。

當(dāng)你的收入超過門檻以后,它是按照5%抽成的。

不要小看5%。

《王者榮耀》這種規(guī)模的游戲,一個月的5%就可以有100萬刀,而這筆錢可以夠600套Unity用一年。

這筆賬非常好算,好算到騰訊至今新出的游戲里面,Unity依舊有80%以上的占比。

所以,對于國內(nèi)的游戲市場來說,Unity更便宜是沒問題的。

第四,也是對于個人來說最重要的一條。

所有其他的理由,都是幫助游戲公司用更低的成本,更簡單的方法,更高的成功率去做出一款符合市場預(yù)期的游戲。

只有這一條,它牽涉到的是開發(fā)人員自身。那就是Unity成熟的社區(qū)和市場,本身就是一個巨大的誘惑力。

當(dāng)你一旦考慮到哪種游戲引擎學(xué)了更容易找到工作;

或者你一但考慮到哪種游戲引擎學(xué)了以后對公司的依賴度會下降,更容易跳槽;

或者你一但考慮到哪種游戲引擎學(xué)起來比較容易成功,網(wǎng)上資源更多;

只要你考慮到諸如此類的問題的時候,我可以負(fù)責(zé)的說,Unity目前是標(biāo)準(zhǔn)答案。

是的,如果僅僅考慮玩一玩的話,選哪個都行,它們各有特色,玩起來體驗也不一樣。

但如果有人想要通過某一種引擎去真正投入到游戲開發(fā)的工作當(dāng)中去,尋找更好的機會的話,必然是Unity,不信看數(shù)據(jù),145:954。



也許你能看到騰訊等場子里有引擎組的大佬搞Unreal很撈錢,一邊撈錢一邊跟你吹Unreal。

但你要相信我啊,他們撈錢是因為他們是大佬,不是因為他們搞Unreal。

最后

我想說,工程這種東西,最重要的應(yīng)該是,哪怕是一個菜鳥把工作接過去,也能做得像模像樣。

Unreal的設(shè)計理念,無論是頂尖的效果,最硬核的開發(fā)語言,還是藍(lán)圖這種為了非程序員準(zhǔn)備的開發(fā)工具,走的全是高端大氣上檔次的路線。它犧牲了接地氣的氣質(zhì)。

而搞工程,我以為接地氣非常重要。

這就是為啥你會在其他社區(qū)里看到很多人玩Unreal玩得很帶勁,但一旦到了公司到了項目中,還是用Unity的根本原因。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容