找回密碼
 注冊帳號

掃一掃,訪問微社區

beast 自定義設置

2015-1-8 17:47| 發布者: 楊炎| 查看: 2957| 評論: 0|原作者: 蠻牛|來自: unity3d腳本manual

摘要: beast 自定義設置如果想讓烘培設置與 unity 默認使用的不同,可通過 beast 自定義設置指定。beast 讀取 xml 格式定義的烘培設置。一般來說,unity 會根據您在光照貼圖編輯器 (lightmap editor) 窗口的烘培 (bake) 窗 ...

beast 自定義設置

如果想讓烘培設置與 unity 默認使用的不同,可通過 beast 自定義設置指定。

beast 讀取 xml 格式定義的烘培設置。一般來說,unity 會根據您在光照貼圖編輯器 (lightmap editor) 窗口的烘培 (bake) 窗格中選擇的配置及若干其他內部設置來生成 xml 文件。可在 beast 的 xml 格式中指定自己的設置來覆蓋這些設置。

要讓 unity 自動生成 xml 文件,可單擊光照貼圖編輯器 (lightmap editor) 窗口右上角的標簽菜單并選擇生成 beast 設置文件 (generate beast settings file)。您會注意到 beastsettings.xml 文件出現在光照貼圖旁的工程當中,且光照貼圖編輯器 (lightmap editor) 會通知您 xml 設置將在下次烘培時覆蓋 unity 的設置。單擊打開 (open)按鈕編輯自定義設置。

beast 配置文件示例如下:

adaptive

false

0.1

false

0

2

gauss

2.2

2.2

0

10000

6

skylight

0.86

0.93

1

1

0

1

true

false

1000

0.05

0

true

15

1

finalgather

1

1

none

1

1

0

0.223798

1

2.0525

0.0

0.0

2.0

-1.0

normal

1

1

1

1

true

true

3

頂層的 xml 元素及其子元素描述見下文。

自適應采樣 (adaptive sampling)(<aasettings>元素)

beast 在光照貼圖采樣時使用自適應采樣方案。燈光差異必須超過用戶設定的對比度閾值,以便 beast 將額外的樣本放到一個區域。樣本區域由最小采樣率 (min sample rate) 和最大采樣率 (max sample rate) 定義。用戶將采樣率設置在 -4..4 范圍內,意味著 beast 采樣數目在 1/256 個樣本/像素到 256 個樣本/像素之間(公式為:4 ^采樣率)。建議至少使用一個樣本/像素用于制作(最小采樣率 (min sample rate) = 0)。相機渲染或用大的 uv 貼圖烘培紋理時欠采樣是最有用的。beast 已為一個區域抽取所有必要的樣本時,最終像素值使用過濾器進行權衡。過濾器產生的外觀根據使用的過濾器類型和過濾器內核大小而定。可用的過濾器有:

box:每個樣本都同等重要。執行最快的過濾器,但結果模糊。

triangle:過濾器內核是暫時的,意味著遠處的樣本不太重要。

gauss:將高斯 (gauss) 函數用作過濾器內核,結果最佳(去除噪點,保留細節)。

還有一些過濾器可用,但這三種的用處最大。(過濾器)內核大小以像素為單位,范圍在 1..3 之間。事實上,過濾時 beast 使用所有子像素,結果比后續在 photoshop 中處理的效果要好。

aasettings

samplingmode

使用的采樣策略。默認為自適應 (adaptive)。自適應 (adaptive):用于欠/過采樣(從 1/256 到 256 個樣本/像素)的自適應 (adaptive) 抗鋸齒方案。超級采樣 (supersampling):用于超級采樣的抗鋸齒方案(從 1 到 128 個樣本/像素)。

minsamplerate

設置最小采樣率,默認為 0(如 1 個樣本/像素)。

maxsamplerate

設置最大采樣率,公式為 4^maxsamplerate(1、4、16、64、256 個樣本/像素)。

contrast

對比度值,控制是否需要更多樣本,值越低,樣本越多。

filter

設置使用的過濾器類型。用于烘培的最佳類型為 box、triangle 和 gauss。

filtersize

設置過濾器的像素大小,值在 1 至 3 之間。

diagnose

啟用可診斷采樣情況。像素越亮,該位置的抽樣越多。

紋理烘培 (texture bake)(<texturebakesettings>元素)

這些設置有助于避免完全與光照貼圖如何柵格化及從紋理中讀取有關的任何人工處理。

texturebakesettings

edgedilation

以指定像素數量擴展渲染區域。該步驟是必需的,以防止 gpu 從周圍的已渲染區域過濾空像素時出現人工痕跡。應設置為 0,因為不錯的運算是導入管道的一部分。

bilinearfilter

用于確定 gpu 應用雙線性過濾時光照貼圖中的數據“正確”。圖集緊湊時最為明顯。如果兩個不同 uv 貼圖之間只有一個像素,beast 中的雙線性功能將確保該像素用正確貼圖中的顏色進行填充,從而最大限度減少光照縫隙。

conservativerasterization

uv 圖表未覆蓋整個像素時使用。如果采用這種布局,beast 可能會錯誤地錯過該像素。如果采用保守光柵化,beast 將保證其找到存在的 uv 布局。注意,beast 將接受任何 uv 布局的像素。如果 uv 圖集以低分辨率緊湊打包或存在非常薄的對象,通常需要開啟保守光柵化。

bgcolor

光照貼圖的背景色。應設為白色 (1,1,1,1)。

環境 (environment)(<environmentsettings>元素)

beast 中的環境設置控制光線錯過場景中所有幾何體時出現的情況。對于基于圖像的照明 (image based lighting (ibl)),環境可為恒定顏色或 lat-long 格式的 hdr 圖像。注意,環境應只用于可視為無限遠的效果,即只有方向組件的事項。

定義環境通常是獲得美觀室外照明效果的良好辦法,但也會增加烘培次數。

environmentsettings

gienvironment

環境類型:無 (none)、天光 (skylight) 或 ibl。

gienvironmentintensity

強度的比例因子,用于避免伽馬校正錯誤并將 hdr 紋理縮放到適合場景的大小。(在 unity 中:天光強度 (sky light intensity))

skylightcolor

恒定的環境顏色。類型為天光 (skylight) 時使用。將顏色的強度值保持在 1.0 以下通常可避免伽馬校正增加,通過 gienvironmentintensity 設置來增加強度。(在 unity 中:天光顏色 (sky light color))

iblimagefile

long-lat 格式的高動態范圍 ibl 背景圖像,.hdr 或 .exr,絕對路徑。

渲染設置/陰影 (render settings/shadows)(<rendersettings>元素)

光線跟蹤陰影的設置。

rendersettings

bias

避免陰影光線雙交叉的錯誤閾值。例如,陰影光線不應像主光線一樣與相同的三角形相交,但由于數值精度有限,也有可能相交。偏移值移動相交點,可解決該問題。如果設為 0,該值將根據場景大小自動計算。

maxshadowrays

用于生成任何光源的軟陰影的每點最大陰影光線數目。使用該選項可減少渲染次數,但會降低軟陰影的質量。這會減少任何 shadowsamples 設置比該值高的光源發出的最大光線數,但如果 shadowsamples 設置比該值低,就不會增加該光線數目。

maxraydepth

視為完成前光線的最大反彈次數。反彈可以是反射,也可以是折射。如果光線在觸及不透明對象前穿過多個透明三角形,請增加該值,應該為陰影的區域會出現光線。常見故障:樹葉經過 alpha 測試的樹木被放在山峰陰影處。

gitransparencydepth

全局照明光線的最大透明深度,如假定光線被吸收前可穿過的透明表面數目。值較低可加快渲染速度,比如在有茂密樹林的場景中,但會引起透明對象重疊,投射過多陰影。默認值為 2。

全局照明 (global illumination)(<gisettings>元素)

全局照明 (global illumination) 系統允許使用兩個單獨的運算式來計算間接照明。例如,可用快速運算式計算多級光線反彈,如路徑跟蹤器 (path tracer);用最終聚集 (final gather) 計算最終反彈,從而進行快速、高質量的全局照明渲染。兩個子系統都有單獨的強度 (intensity) 和飽和度 (saturation) 控制,必要時可加強效果。

建議使用最終聚集 (finalgather) 作為主積分器,無 (none) 或路徑跟蹤器 (pathtracer) 作為次積分器。unity 默認第一個選項(因而僅限最終聚集),因為它能在大多數情況下實現最佳質量渲染。如果需要許多間接反彈,應采用路徑跟蹤器 (path tracer),且質量合格、僅限最終聚集 (final gather) 解決方案的渲染時間太長。

gisettings

enablegi

設置為 true 啟用全局照明 (global illumination)。

primaryintegrator

用于最終計算間接光線的積分器。默認為最終聚集 (finalgather) 。

secondaryintegrator

用于計算間接光線初始反彈量的積分器。默認為無 (none),可選路徑跟蹤器 (pathtracer)。

primaryintensity

后續過程,將主積分器結果的顏色從 rgb 轉為 hsv,縮放 v 值。(在 unity 中:反彈強度 (bounce intensity))

primarysaturation

后續過程,將主積分器結果的顏色從 rgb 轉為 hsv,縮放 s 值。

secondaryintensity

后續過程,將次積分器結果的顏色從 rgb 轉為 hsv,縮放 v 值。

secondarysaturation

后續過程,將次積分器結果的顏色從 rgb 轉為 hsv,縮放 s 值。

diffuseboost

該設置可用于增強黑暗場景中的光線反彈。設置為大于 1 的值,將材質的漫反射顏色值推向 1,用于 gi 計算。典型用例為以黑暗材質設計的場景,僅進行直接照明時容易發生這種情況,因為以強光源補充黑暗材質比較容易。在這些場景中間接光線非常微弱,因為反彈光線會快速消失。設置漫反射增強可彌補這一點。注意,值在 0-1 之間會以相似方式降低漫反射設置,使光線反彈少于材質的效果,0 以下的值無效。實際計算按照每個組件的 pow(colorcomponent, (1.0/diffuseboost)) 進行。(在 unity 中:反彈增強 (bounce boost))

fgpreview

啟用可快速預覽最終圖像照明。

最終聚集 (final gather)

以下設置可控制最終聚集 (final gather) 解決方案的質量或正確性。常見用法為:

對于每個烘培設置,對比度閾值 (contrast threshold) 和光線數量 (number of rays) 可能有所調整。因為要根據幾何體的復雜度和燈光設置來定,所以沒有哪種設置是最完美的。

檢查可見性 (check visibility) 和減少漏光 (light leakage) 操作時性能消耗大,應只在糾正真正存在的漏光問題時才使用。這些設置只有在因全局照明計算引起漏光的情況下才有用。將墻作為一個無厚度的單一面板時經常發生漏光現象。這種情況下的漏光并非從 gi 中泄漏。

只有在各角落出現白色光暈時才更改梯度閾值。

在大多數場景中不需要過多調整第 2 步和第 3 步。

gisettings

fgcontrastthreshold

控制預計算期間對于各點之間的對比度差異最終聚集應有的敏感度。如果鄰近點之間的對比度差異超過該閾值,該區域將創建更多點。從而告訴算法將點放在真正需要的位置,如放在陰影邊緣或間接光線迅速變化的區域。因而該閾值能自適應控制場景中創建的點數。注意,如果使用的最終聚集光線較少,點的分布會非常不均勻,造成明暗對比很大。在這種情況下,需要調高對比度閾值,防止各點聚在一起或每個樣本使用的光線過多。(在 unity 中:對比度閾值 (contrast threshold))

fgrays

每個最終聚集 (final gather) 樣本使用的最大光線數。數量越大,效果越好,評估時間越長。(在 unity 中:最終聚集光線 (final gather rays))

fgcheckvisibility

開啟該選項可減少墻壁漏光。收集點插入中間時,部分點可能位于幾何體的另一邊,從而使光滲過幾何體。為防止出現這種情況,beast 可濾過不可見的點。

fgcheckvisibilitydepth

控制可見性檢查應執行多少次反彈。只有在使用多次反彈最終聚集 (final gather) 時出現漏光的情況下才進行調整。

fglightleakreduction

使用最終聚集作為主 gi 且路徑跟蹤作為次 gi 時,該設置可用于減少墻壁的漏光。例如路徑跟蹤器在墻壁另一邊過濾值的情況下會出現漏光,靠近墻壁或角落采樣時可通過使用最終聚集作為次 gi 回退來減少漏光情況發生。啟用后將自動使用最終聚集深度 3,只有在靠近墻壁或角落時才使用更高的深度值。注意,該選項只有在路徑跟蹤用作次 gi 時才可使用。

fglightleakradius

控制再次調用最終聚集(而非次 gi)時到墻壁的距離。如果設為 0.0,beast 將嘗試估計一個較好的值。如果未消除漏光,可手動設為較高的值。

fggradientthreshold

控制光照漸變如何在插值中使用。每個點保存其光照漸變,可用于改善插值。在某些情況下,使用漸變會導致出現白“斑”和其他人工痕跡。該閾值可用于減少人工痕跡(設置為低值或 0)(在 unity 中:插值 (interpolation))

fginterpolationpoints

設置要插入的最終聚集點數。值越高,效果越平滑,但也會消除細節。如果增加該值時墻壁漏光,檢查樣本可見性可解決該問題。(在 unity 中:插值點 (interpolation points))

fgnormalthreshold

針對各點法線之間的差異,控制最終聚集應有的敏感度。值越低,高曲率區域的點越多。

fgdepth

控制間接光線反彈的數量。值越高,結果越準確,但渲染時間也會加長。對于性能消耗低的多次反彈 gi,可將路徑跟蹤器 (path tracer) 用作次積分器,而不增加深度。(在 unity 中:反彈 (bounces))

fgattenuationstart

衰減開始的距離。在該距離之前不會出現衰減。可用來將衰減效果添加到最終聚集照明中。將 fgattenuationstop 設為高于 0.0 的值時啟用該選項。

fgattenuationstop

設置衰減停止的距離(淡出到零)。在該距離之外有一個零強度。要啟用衰減,請將該值設為高于 0.0 的值。默認值為 0.0。

fgfalloffexponent

可用來調整光照在一定距離內逐步衰減的速率。速率越高,衰退越快。

fgaoinfluence

將最終聚集 (final gather) 與環境光遮擋 (ambient occlusion) 融合在一起。范圍在 0..1 之間。 0 為無遮擋,1 為完全遮擋。如果最終聚集 (final gather) 使用多種深度或路徑跟蹤 (path tracing) 作為次 gi (secondary gi),結果會變得有點“平”。把許多環境光遮擋因素計入運算當中是獲得更多照明對比度的一個不錯方法。環境光遮擋 (ambient occlusion) 算法只影響最終聚集計算。光照貼圖窗口中出現的環境光遮擋 (ambient occlusion) 計算方式不同,通過一個單獨的僅限幾何體的通道進行。

fgaomaxdistance

遮擋光線的最大距離。在該距離之外,光線視為不被遮擋。可用于避免封閉場景中的完全遮擋,如房間或限制環境光遮擋的褶皺區域。

fgaocontrast

可用于調整環境光遮擋的對比度。

fgaoscale

遮擋值的比例縮放。可用于增加或減少陰影效果。

路徑跟蹤器 (path tracer)

使用路徑跟蹤功能獲得快速的多點反彈全局照明。不應用作主積分器來進行烘培,因為效果非常雜亂,在光照貼圖中不美觀。可用作主積分器來調整設置,確保緩存間距和準確度高。預定用法為將其設為次積分器,將單反射最終聚集作為主積分器。精確度和點大小可進行調整,以確保緩存足夠細致。

gisettings

ptaccuracy

設置每個樣本元素(像素、紋素或頂點)被跟蹤路徑的數目。對于預覽渲染,可使用 0.5 - 0.1 等低值。這意味著 1/2 至 1/10 像素會生成一個路徑。進行制作時,如果需要獲得較好質量,渲染值可在 1.0 以上。

ptpointsize

設置路徑跟蹤器緩存中各點之間的最大距離。如果設置為 0,將根據場景大小自動計算出一個值。渲染時自動計算的值會顯示出來。如果需要調整點大小,可將其作為一個不錯的初值。

ptcachedirectlight

啟用該項后,路徑跟蹤器也將緩存光源中的直接照明。因為需要計算的直接照明較少,這么做會提高性能。得到一個大概結果,因而可影響照明的質量。例如,高光反彈的間接光反彈可能會丟失。

ptcheckvisibility

開啟該選項可減少墻壁漏光。收集點插入中間時,部分點可能位于幾何體的另一邊,從而使光滲過幾何體。為防止出現這種情況,beast 可濾過不可見的點。注意:如果使用該項,請關閉最終聚集 (final gather) 的減少漏光。

幀設置 (frame settings)(<framesettings>元素)

允許控制 beast 使用的線程數量及輸入和輸出的伽馬收集。

framesettings

inputgamma

保留為 1,該值是根據每個紋理適當設置。

表面轉移 (surface transfer)(<surfacetransfersettings>元素)

surfacetransfersettings 用于允許將照明從 lod0(相機靠近對象時顯示的細節程度)轉移至保真度較低的 lod。保留默認設置。

相關閱讀

文章點評
相關文章
女校游泳队彩金 浙江各种彩票规则 河南11选5彩票控 流动车卖水果蔬菜能赚钱吗 3d彩怎么算中奖金额 天天南通棋牌三打二 大奖网彩票网址 贵州11选5杀号技巧 排列5直播现场 北京pk10七码全年可用 赚钱小段子 极速11选5是哪里开的 2017卖彩票赚钱吗 安徽11选5开奖全双结果 qq分分彩计划专业版 杰克棋牌官方安卓三通 3d直选专家精准预测软件