3D遊戲的照明設計理論(四):如何在遊戲引擎中照亮遊戲世界
從更一般和更概念的角度來看,這是有關我如何處理遊戲照明的系列文章的一部分。我在Unity中構建了大部分示例,但這通常適用於任何3D遊戲引擎,其中大多數具有類似的照明工具。
我們開始思考了有關光照的文化和概念,在第一部分。在第二部分,我們在關卡設計和可讀性方面更有效地處理了光照。然後在第三部分中,我們調查了用於遊戲中的三點照明方法。但是,如果我們不能在計算機圖形學的約束下真正實現這一理論,那麼任何的理論都無關緊要。
傳統上,光照是在遊戲引擎中計算和渲染較慢或者是“昂貴”的事物之一。考慮一下可見光的科學原理:無數個不同波長的光子以難以想象的速度反彈,以某種方式進入您的眼睛。為了以合理的幀速率進行任何此類操作,遊戲引擎必須從策略上以特定的方式去簡化光照計算,然後希望玩家不要注意到這些不一致不協調之處。這是“冰箱邏輯” -我們希望玩家能夠點頭,只要它“看起來正確”即可。
好的,那麼在3D遊戲引擎中通常是如何照明的呢?
最簡單的照明形式是“環境光”,這是恆定的預設照明水平,適用於世界上的每個模型,甚至是陰影中的零件。這一點都不現實,因此環境光通常更多地充當“補光燈”(請參閱第3部分),尤其是對於室外空間,在室外空間,通常使用深色海軍藍來確保陰影不會終止漆黑。
但是環境光會平均地在每個物件上施加平坦平均的光照效果,因此有人可能會說它甚至不符合照明條件,因為它並不能真正幫助我們瞭解空間表面的深度或拓撲(幾何造型),這對於基本的遊戲或者是尋路來說,通常是至關重要的。(請參閱第二部分)(“我可以在這座山上走嗎?還是說太陡了?”)……要使光看起來像光,必須根據表面的方向進行更改和調整,而標準的環境照明不會做到這一點。
好的,調整角度後,這樣看起來變得更好了,現在我們有了一些形狀上的差異。
“定向光” 是陽光或任何其它地方的全域性光源,從一個給定的旋轉方向產生恆定的光照。它會一次性的直接影響整個世界,因此可以放置在任何地方,甚至是牆壁內。只有它的方向很重要。接著,定向燈光將在朝向它的每個表面上發光,並且與太陽/月亮的距離無關緊要。因為大多數場景和遊戲世界都只有一個定向光,所以它們通常更像“主光”。(請參閱第2部分)
“聚光燈”是施放在Y向X度範圍的錐形燈光。如果你要製作具有很多舞臺燈光,嵌入式天花板燈或路燈的遊戲,那麼你可能會嚴重依賴聚光燈。聚光燈最常見的用途是高處的聚光燈指向下方,不強調天花板,而是突出凹顯出地板。通過這種方式,聚光燈非常適合暗示特定的方向或者是強調特定的位置,無論它們發出的具體光芒如何。
根據你對聚光燈調整傾斜的角度,讓玩家並不是很清楚光源實際來自何處(參考第一部分的內容),學會利用這個優勢和技巧。
最後,“點光源”是一個看不見的全範圍的光球,它以X強度向所有的方向投射光照。通常這種型別常常用於檯燈,燈籠或枝形吊燈。點光源確實擅長於吸引給定的光源,因為它們通常必須要靠近它們需要照亮的任何物體,並且附近所有的被投射物體實際上都將指向該光源。(相對於聚光燈,尚不十分清楚光源到底來自何處,我們也不會在乎。)
總體而言,這4種光源型別通常在每個3D遊戲引擎或渲染器中都可以找到。它們有點像一個完整的域:
但實際上,這僅僅是一個開始。
直接照明即初始發射時的第一束光線,這就是為什麼它被稱為“直接照明”的原因,而不是“間接照明”,後者試圖模擬光如何反彈或與表面相互作用。在上面最右邊的影像中,請注意三角形中的紅色燈光是如何被反彈到地板上,立方體中的藍色如何反彈到牆壁上的陰影中,背景通常只是更亮。這些效果來自周圍空間內所產生的光線的反射。傳統上,嘗試實時計算這些效果並以每秒60幀的速度去渲染你喜歡的角色面部,所需要消耗的效能對於遊戲來說非常的昂貴。(在以後的文章中,我將對此進行更多討論。)
嘗試將手舉在明亮的光源之前-手輪廓周圍的紅色條紋稱為“次表面散射”,因為光線實際上在皮膚表面下方通過並從血液中反射出來。我們可以說標準的直接照明模型沒有考慮到不同的材質或陰影型別,因此這意味著我們必須設計一個系統來解決該問題……眩光或者你的眼睛最終應該以什麼樣的方式去適應?黑暗還是明亮的空間?我們也必須設計這些系統!
因此,這基本上就是遊戲照明的技術歷史:試圖彌補此基本照明模型中的所有漏洞。因此,四種基本光源型別僅僅是遊戲照明的開始。我們還有更多的事情要考慮和實施:
假設你是在製作遊戲中某個城市的夜景。
首先,從全域性設定開始。我的環境光設定為深藍紫色,而定向光光源在整個場景上投射出令人驚訝的明亮藍光。(請參閱 “黑暗好萊塢”:我們只希望它感到黑暗,而不是實際上物體是黑暗的。)
然後開始新增本地燈光。在這種情況下,下面有一個聚光燈和一個微弱的點光源,以模擬光線的反射和濺射。
現在讓我們開始新增不是“光”的東西,但是會強烈影響我們對光的感知。
燈具的模型現在具有自發光的發光材質,看起來很明亮。光暈是一個單獨的2D精靈,它會根據玩家鏡頭的距離淡入和淡出。有一個粒子系統在燈光下以錐形噴灑灰塵。我呢吧還對相機應用了光暈,環境光遮擋和色差效果。並且不要忘記天空盒(Skybox),這是“好萊塢黑暗”真正起作用的唯一方法。最後,我在背景中新增了一些霧,以模擬一些黑暗/大氣散射,並將場景背景再推回一點。
請記住,燈光的感知亮度取決於兩件事:(1)燈光的實際亮度;(2)燈光周圍區域的相對亮度/暗度。通常,嘗試使不重要的事物變暗或變暗,以便更重要的事物得到更多關注。連續性的環境中的上下文真的很重要!
鏡面反射(Specular Reflection),邊緣照明和自發光(Emission),投影與陰影,色差,螢幕空間環境光遮擋(SSAO),立方體貼圖(Cubemap)和球諧光照(球面對映),高動態範圍色調對映(HDRI),眩光和光暈...在遊戲引擎中,這些技術可作為單獨的功能執行,有選擇地啟用或禁用該功能以優化遊戲以達到某個幀速率或達到某種藝術風格,但在現實生活中,這些都是我們所知道的統一的光照現象的一部分。
最終,玩家只會在那裡看到一個光源。但是我們會更好地瞭解,我們將能夠看到我們精心製作的微妙的效果處於一個什麼樣的系統...
遊戲照明不是一個統一的系統。而是,這是所有這些隨機的雜物的拼湊而成,希望它們可以一起使用。作為一名設計師,使所有的這些不同的效果看起來是一件連貫的事情是我們的工作內容。
有時候,當你可以建立不帶任何可見燈具的浮動光源時,此控制元件確實非常好。(換句話說,我的照明設計老師說:“我會殺了那種力量。”)但是有時候,所有的這些責任都是令人討厭的,因為您必須手動新增每個部分並與其他所有部分進行微調,並且可以做很多工作。(這就是為什麼許多Triple-A工作室現在已經從關卡設計師那裡取消了費時的照明工作,並將這項工作交給了環境藝術家和/或專門的照明藝術家的原因。有關關卡設計歷史的詳細資訊,請參閱作者的GDC2015討論-關卡設計的歷史與未來。)
遊戲中的照明不僅僅是照明。這是關於整體形象和你想要建立什麼樣的情緒的,同時在你的世界中似乎足夠的合理,以至於玩家不會經常的“恍然大悟”(發現不合理的地方)。但是這種“合理性”的想法取決於“什麼是現實的”的概念-這影響了開發什麼型別的新照明技術,這影響了我們的工具集在美學上潛在的可能性,從而推動了更多的“現實主義”等等。
下次,我將分解一些關於什麼是“良好的遊戲照明”的基本假設,以及我們如何能夠超越這些假設(如果有的話)。
相關閱讀:
3D遊戲的照明設計理論(一):光源和固定裝置
3D遊戲的照明設計理論(二):正式的照明設計方法,用燈光作為深度
3D遊戲的照明設計理論(三):三點照明法的異端與誤區
作者:Katana
專欄地址:https://zhuanlan.zhihu.com/p/88042832
相關文章
- 3D遊戲的照明設計理論(一):光源和固定裝置3D遊戲
- 3D遊戲的照明設計理論(二):正式的照明設計方法,用燈光作為深度3D遊戲
- 3D遊戲的照明設計理論(三):三點照明法的異端與誤區3D遊戲
- 在遊戲設計中引導玩家 剖析2D射擊遊戲設計中的壓縮和漏斗理論遊戲設計
- 3D遊戲:五、與遊戲世界互動3D遊戲
- 遊戲策劃之遊戲設計中遇到的四個迷思(轉)遊戲設計
- Josh Bycer:論述遊戲設計中的消極遊戲機制遊戲設計
- 遊戲策劃中網路遊戲設計的兩點論道(轉)遊戲設計
- 理性關卡設計手冊:如使用RLD理論指導遊戲關卡開發?遊戲
- 如何在遊戲中設計等構建築?遊戲
- 遊戲原型設計方法論遊戲原型
- 電商遊戲專題01——遊戲理論遊戲
- “遊戲中的遊戲世界”——遊戲副本的起源與發展史遊戲
- 遊戲是什麼?淺談遊戲設計基礎的祕招“心流理論”遊戲設計
- 遊戲設計方法論——非玄學的遊戲設計知識譜系遊戲設計
- 遊戲設計與理論化研究(2)——黑箱方法論的運用遊戲設計
- 遊戲設計-遊戲快樂知多少(四) ?-驚喜遊戲設計
- 遊戲與遊戲引擎遊戲引擎
- 為虛構的遊戲世界設計文字遊戲
- 一家之言:成功遊戲設計的理論模型遊戲設計模型
- 【遊戲UI理論知識】遊戲介面設計,一定要掌握的8大風格!遊戲UI
- 傳統3D遊戲引擎的Web化3D遊戲引擎Web
- 遊戲中的活動設計遊戲
- 體驗引擎:遊戲設計全景探秘遊戲設計
- 小遊戲改變世界——談談內建小遊戲的設計之道遊戲
- 博弈論是如何用於遊戲中的策略設計的?遊戲
- 3D遊戲程式設計與設計4——遊戲物件與圖形基礎3D遊戲程式設計物件
- 騎上腳踏車,在風景如畫的遊戲世界中穿梭旅行遊戲
- 遊戲論·現實的媒介:MOBA遊戲與一個世界的症狀遊戲
- Android 3D遊戲開發——Opengl ES遊戲引擎實現Android3D遊戲開發遊戲引擎
- 開發者分享如何在遊戲設計中做到難易程度的平衡遊戲設計
- 遊戲基礎知識——遊戲中“屍體”的設計遊戲
- 關於“斯金納箱”及相關理論在遊戲設計中應用的討論遊戲設計
- 遊戲機制設計方法論遊戲
- 重返後啟示錄世界,開放世界遊戲的曙光何在?遊戲
- 盛趣遊戲謝斐:遊戲的微光 照亮數字文化產業的未來遊戲產業
- Elements Of A Game Engine - 3D遊戲引擎原理 (轉)GAM3D遊戲引擎
- 玩家選擇的價值:遊戲世界觀中的陣營設計遊戲