UE3 距離場陰影

2021-07-04 23:58:01 字數 939 閱讀 1991

文件變更記錄: 由 daniel wright 建立。

請檢視技術部落格檢視關於『主定向光源 (dominant directional light) 』的更多資訊。

距離場陰影是基於一篇最近在經過 alpha 測試的放大功能(作者 valve software)上的**實現的。它的原理是使用到最近陰影過渡的距離代替標準的陰影因數儲存(0 代表陰影,1 代表沒有陰影)。然後為了在執行時重新構建陰影,只要簡單地縮放或偏移到想得到的半影尺寸的距離即可。這樣最大的好處是如果解析度降低,陰影過渡可以隨著距離場更溫和地下降。當直接地儲存陰影因數時,降低解析度將會導致斑駁和鋸齒陰影。當在使用距離場陰影時,降低解析度,陰影的過渡仍然是同樣的尖銳度,但是在陰影過渡的角落或高頻率拐角處會變得更加彎曲。在我們測試的關卡中,在主光源下的距離場陰影在 1/2 解析度(在每個維度)的情況下要比儲存陰影因數的方法在全解析度的情況下的陰影看上去更好,儘管距離場陰影使用記憶體的量僅是儲存因數方法產生陰影的 1/4。

有乙個弊端是僅可以重新建全亮到全黑的陰影過渡,所以植被的細節陰影在使用老的陰影產生方法看上去更好一些,並且不再儲存半影的尺寸(為了減少記憶體的使用量),所以在任何地方都使用同樣的半影尺寸。也不支援來自主光源的半透明陰影,並且預計算的環境遮擋不能影響來自主光源的直接光照。

具有變化的半影尺寸的距離場陰影。注意:實際上遷入的陰影有統一的半影尺寸來使記憶體使用量減半。這個是每個貼圖畫素佔 2 個位元組。

和上面的距離場陰影具有同樣解析度的陰影因數陰影。它是其它的可切換的光源使用的,每個貼圖畫素佔 1 個位元組。

在較高解析度下的陰影因數陰影,調整它的解析度來嘗試獲得和距離場陰影同樣的效果。解析度在每個維度上增加 2-4 倍,最終的光照貼圖記憶體消耗大約比每個貼圖畫素佔兩個位元組的距離場陰影高 3.7 倍。

距離場陰影。

和上面的距離場陰影具有同樣解析度的陰影因數陰影。

在較高解析度下的陰影因數陰影,調整它的解析度來嘗試獲得和距離場陰影同樣的效果。

UE3 光照 陰影

對於建立高水準環境而言,關卡中幾何體的照明方式起著至關重要的作用。人類眼睛和腦袋希望光源能夠通過特定方式與表面進行互動,填充乙個房間或投射陰影。任何背離這條原則的東西都可能會破壞使用者的帶入感體驗。虛幻引擎 3 的光照系統是非常靈活的,可以協調地使用所有不同的光源和陰影型別,為所有遊戲建立剛好合適的...

UE3的資料繫結筆記

這篇文章介紹了一下wpf的資料繫結,這是一種做法。回顧一下,資料繫結主要的幾個組成部分 源資料池和源屬性。目標資料池和目標屬性。binding 配置哪些源的改變,會使得哪些目標發生改變。前面也大概介紹了資料繫結基本需要解決的工作 源資料必須發布通知,這個通知應該由binding來獲取。binding...

UE3自定義命令列

由於ue3的功能不能以lib或者dll的方式提供出來,如果要使用ue3的某部分功能,啟動ue3的exe程式是必須的。所以我們會需要用到命令列。commandlet是命令列的基類,自定義命令列需要繼承這個基類。eg.exportscene.uc class exportscene extends co...