我們都在說虛幻5厲害,但它究竟厲害在哪?
宣告:本文意在用簡單的語言描述概念,目的不是為了準確表達,而是為了易懂。如有表達不正確的地方,請在評論用合適的語言指出。
Nanite
看完上面一段話也許你可以理解,有一個叫Nanite的功能,可以讓模型更加的精細。但事實遠比這驚人的多。請讓我來解答一下這句話裡的名詞。Zbrush和CAD是兩個模型軟體,可以不管。
烘培法線貼圖
法線貼圖是什麼?我們直接來看一下:
顏色貼圖很好理解,就是表示一個模型上每一個位置的顏色的。但是法線貼圖呢?其實法線貼圖可以理解為記錄了模型某個部分的高度的貼圖。或者說,記錄了一個物體的紋理。
這張貼圖上的紫粉色對於計算機來講,並不是顏色,而是高度。顏色越深,模型在對應位置的高度就越低,顏色越淺,模型在那個位置的高度就越高。對比一下:
仔細對比可以發現,排氣扇的位置,差別十分明顯。加上法線貼圖的模型,排氣扇明顯更加有凹凸感,而且這個排氣扇裡的凹凸實際上是會跟隨光照改變陰影位置的。在沒有法線貼圖的情況下,排氣扇依然有凹凸感,則是因為顏色貼圖給每個格子內部畫了一圈陰影。
而使用法線貼圖的好處是什麼呢?答案就是可以大幅度的減少計算機計算模型的壓力。
這是汽車的白模,我們可以看到,對於計算機來說,這輛汽車的排氣扇其實就是一個平面。但是對於玩家來講,法線貼圖營造了一種視覺上的假象,就好像排氣扇真的有凹凸一樣。
法線貼圖在目前的遊戲開發中運用十分廣泛。我們看到的人身上的皺紋,皮膚的紋理,皮革的紋理,甚至石頭上細小的起伏,都是運用了法線貼圖的技術。讓一個其實只有幾十個面的超低精度的石頭模型可以看起來像是擁有數千個面那樣的細膩。法線貼圖,功不可沒。
但是突然你虛幻5跟我說法線貼圖不要了?
雖然在原本的開發中,法線貼圖並不是什麼非常費時費力的東西,但仍然需要佔用時間。開發者需要思考哪些部分可以有法線貼圖來實現,哪些部分不需要,然後開發者需要分開製作模型和法線貼圖部分,專門生成法線貼圖。而現在,虛幻5宣佈他們將不再需要開發者單獨的區分法線貼圖和模型了。這對於開發效率和後期優化來說,幫大忙了!
手動編輯LOD
LOD(Level Of Details)中文可以叫做細節層級。一般來說,一個場景較為豐富的,場景較大的遊戲中。部分模型如果離我們太遠,那麼它的模型精度就會下降,也就是說它看起來不那麼細緻了。
因為現如今我們的電腦效能其實並不是很充足,加上遠處的模型玩家一般不會太認真去觀察,所以降低遠處模型的精度來節省效能是非常常用的手段,這種手段就叫做LOD。
雖然現在已經有可以自動生成LOD模型的軟體,但是對於大部分3A遊戲,特別是開放世界遊戲,手動編輯LOD是必不可少的環節。因為自動生成的模型在觀感上註定會有瑕疵,甚至很容易看出來某個模型明顯的精度下降了。所以對於3A遊戲來說,如何製作一個觀感上幾乎沒有區別但是精度確實下降了的模型是非常棘手的問題。
在LOD方面頗有建樹的,就要數《荒野之息》了吧。
《荒野之息》的LOD幾乎是開放世界遊戲裡最難做的了。首先,在《荒野之息》中,玩家在高處的時視野幾乎可以俯瞰大半張地圖。而在NS掌機般的效能之下,《荒野之息》遠處的美景卻幾乎毫無削減地被呈現給了玩家,這就是對每一個模型的LOD進行了精細加工的產物。
製作這樣級別的LOD模型,粗略估計可能佔用了《荒野之息》場景建模和優化這個工作的五分之一甚至四分之一的時間。
雖然老任不會去使用虛幻5,但是明顯我們可以發現,如果用上了虛幻5,LOD這個工作將被直接省去,也就是說建模獅和優化不再需要重複調整模型來讓模型看起來美觀了。直接放進引擎,你的模型就是最完美的狀態!
Lumen
烘培光照
一般情況下,我們的遊戲中,特別是那些沒有時間系統或者晝夜更替系統的遊戲中,烘培光照貼圖是常用的手段。而在虛幻4中,烘培光照貼圖是最花時間也最容易軟體崩潰的一個步驟。我的渣電腦,使用虛幻4,接近一半的時間是在烘培光照和崩潰重啟中度過的。
所謂烘培光照,就是引擎採集當前場景中的所有靜態燈光之間的資訊,計算這些光和光之間,以及光和靜態物體之間,都是如何互相影響的。然後將這些光照的資訊全部儲存成一張圖片,在遊戲的實際執行過程中,遊戲只需要載入一張圖片就可以知曉一個場景中的光的資訊了。
光照貼圖可以將非常複雜的光照環境變得十分簡單。對於大部分3A遊戲,一個環境中存在數十個甚至上百個不同的光源,以及各種體積光等等,都是非常常見的。而這樣複雜的光照環境會讓電腦十分卡,必須通過將光照先烘培下來的方式,降低電腦的負擔。
但是烘培光照貼圖的前提,就是光和物體都是靜態的,也就是不會動的,因為物體或者光只要動一下,光照資訊就要重新計算了。因此要使用光照貼圖的話,場景內的大部分物體和光都不能動。如果一個物體要動,那這個物體就不能使用光照貼圖,只能實時計算了。這對於遊戲開發來說是一個不小的限制。
而現在最要命的是什麼?虛幻5說它不需要烘培光照了。不僅不需要了,來聽聽原話:
該系統能在巨集大而精細的場景中渲染間接鏡面反射和可以無限反彈的漫反射
同時無限的反彈?在虛幻4中烘培光照的時候,光的反彈次數最多隻能到100。而現在它告訴我,無限的反彈?雖然其實彈那麼多次之後,對於人眼來講100和無限沒太大區別了。
結尾:
雖然不知道虛幻5是如何實現這兩個功能的。但是如果真的省去了LOD,法線貼圖和光照貼圖,也許我們的遊戲體積會有一定的下降。但是下一個世代大家都用更加高清的貼圖了,雖然這邊的空間節省了,但是總體肯定還是會暴增的。不過開發週期一定會有顯著的縮短,這些新功能的實在是幫忙節省了大量的工作。這才是真正跨越一個時代的感覺啊!
獨立開發者和小廠商們最關心的,可能就是這個在宣傳視訊中沒有提及的部分了。也就是說,現在開始,就連使用虛幻4開發遊戲,也只需要在累積營收達到100萬美元之後才需要繳納5%的分成,在那之前不用給虛幻交一分錢。也就是對於獨立遊戲和小廠商來講,在你的遊戲成功賣出足夠的分量之前,虛幻就是一個免費的引擎。
不說了,2021年換一臺新電腦,準備迎接虛幻5和次世代的到來!
作者:深空愛吃肉包兒
來源:機核
原地址:https://mp.weixin.qq.com/s/S41pROV4DmwfOfFe4hK12A
相關文章
- 我真厲害
- 「虛幻引擎5」為何讓開發者們拍手叫好?它到底厲害在哪?
- 中國文化厲害在哪?
- 為什麼你們都這麼厲害。。。。
- 全球最厲害的機器人都在北京!快來看!機器人
- 大資料分析師,比資料分析師厲害在哪大資料
- 《他們以為自己很厲害》之 聖誕節?彩蛋??事件事件
- 厲害的創始人都是“雙重人格”?
- 堅持就有收穫,厲害,贊一個
- 一天登陸3家主流交易平臺,GUSDT究竟有多厲害?
- 《向上生長 -- 成為一個很厲害的人》
- “探店”低程式碼——它真的很厲害?
- ABAP很厲害是怎麼一種體驗?
- 全球最厲害的14位程式設計師程式設計師
- 比CNN表現更好,CV領域全新卷積操作OctConv厲害在哪裡?CNN卷積
- 暴雪設計大佬教出來的學生,就是厲害
- 「實際作用」快3最厲害的倍投方法
- 誇一誇支付寶小程式的厲害之處
- 再厲害的魔術也比不上真正的reduxRedux
- 開啟 IPv6 新時代,升級後的 IPv6 厲害在哪?
- 全球最厲害的 14 位程式設計師,請收下我的膝蓋~程式設計師
- 【細說遊戲 AI】這個 AI 好厲害,給我也整一個之狀態機 AI遊戲AI
- 被"MIT科技評論"稱讚強過谷歌Duplex,菜鳥Al客服厲害在哪裡?MIT谷歌
- 邦芒面試:最厲害的面試技巧都有哪些面試
- 厲害!IDEA 2020 要本土化,真的是全中文了!Idea
- 日本遊戲批評小史:“厲害”的遊戲文化遊戲
- HBase的架構設計為什麼這麼厲害!架構
- 內外兼修——迅雷鏈的密碼學有點厲害密碼學
- 普通人懂點資料分析,可以有多厲害?
- 網易易盾最新一代Java2c加固究竟有什麼厲害之處?Java
- Spring6如此厲害的框架到底包含哪些內容Spring框架
- 普通程式設計師和厲害程式設計師的差距!程式設計師
- 10個超厲害GitHub Repos獻給所有的開發者Github
- Hazelcast和Redis打口水仗:誰的效能更厲害?- hazelcastASTRedis
- 啥是全棧程式設計師?更厲害?更有錢途?全棧程式設計師
- 央視新聞《最厲害的回本導師》手機搜狐網
- 厲害!中國AI企業50強榜單!看完員工待遇,網友:我酸了AI
- 當今全球最厲害的14位程式設計師,說沒聽過簡直離譜~程式設計師