在 安裝說明、前置設定(重要) 的最後,有提到
ASP需要的最基本renderer feature總共有3個,請務必記得在renderer data將加入並且啟用下列renderer feature : ASP Material Pass、ASP ShadowMap以及ASP Depth-Offset Shadow
這三個renderer feature分別就是三個獨立的PASS,這一頁會詳細解釋這些PASS的用途。
當人物Renderer的材質球使用ASP/Character或者ASP/Eye Shader時,這些renderer就會被寫進Material Pass中。
Material Pass會將renderer 4種資訊儲存到一張RGBA32貼圖當中,分別是:
RGBA通道 | 資訊類型 | 說明 |
---|---|---|
R | Material ID | 渲染人物下的所有ASP材質球,ASP Character Panel都會賦予一個獨立的per-mateiral ID。 |
G | Color Luminance | 該renderer的albedo(包刮albedo map)的顏色亮度,是一個0~1的灰階色 |
B | Outline Weight | 來自Vertex Color的B通道,設為0的話outline會強制不顯示。 |
A | 無 | 保留,用於自行擴充 |
Material ID非常重要,像是screen space outline還有其他後處理(比如說ToneMapping),都需要material ID才能正確知道當下的pixel是不是卡通渲染人物的pixel,可以用於指定特定效果在該pixel或者用於優化(跳過非卡通渲染人物的pixel)。
另外 Material Pass還會額外將renderer寫入一個獨立的depth map,原因是像是screen space outline這類螢幕空間Shader,必須透過深度判斷才能知道是否有其他物件(非ASP 材質)在人物之前,才能正確坐出遮擋的效果。這也正是screen space outline無法套用在半透明物體的原因,因為半透明物體不會提供這些效果所需要的深度資訊。
當人物Renderer的材質球使用ASP/Character或者ASP/Eye Shader時,這些renderer的陰影就會被寫進ASP Shadow Map中。換句話說 - 這是一張僅有人物的shadow map,沒有場景上的使用其他shader的動態/靜態物件的陰影。
ASP Shadow Map Renderer Feature提供了一些參數供使用者自訂
參數名稱 | 說明 |
---|---|
Character Shadow Map Resolution | ASP Shadow Map的大小,有1024x1024、2048x2048和4096x4096三種尺寸可以選擇 |
Clip Distance | ASP Shadow Map的最遠渲染距離 |
Cascade Count | Cascade Shadow Map的層數,最多支援到4層cascade。 |
Shaodw Fade Ratio | ASP Shadow Map的陰影淡出程度,設為0的話是完全不淡出,在與相機距離超過clip distance時會看到陰影直接被clip掉,建議設置是0.5~1 |