Anime Shading Plus
Show / Hide Table of Contents

✨ 關於Anime Shading+

Image

簡介


Anime Shading +(plus) - 簡稱ASP -
是一款專為渲染日系動漫風格的人物而設計的Unity插件。幫助遊戲開發者在Unity引擎中將3D人物的中渲染成貼近於傳統賽璐璐風格或是立繪般的人物。
也提供了混和並且卡通化PBR材質的功能 (此類材質常應用於一些日系的3D遊戲中)。
除了角色、眼睛專用的shader,還包括了像是實現不同種類且高度客製化的描邊功能、針對日系風格特化的多光源光照效果…等等。
另外也針對遊戲中的卡通渲染問題提供對應方案,例如使用Cube Proxy移除難看的self-shadowing、製作臉部陰影貼圖的工具、額外渲染動漫風格陰影的專用pass,以及針對動漫角色設計的Tone Mapping。Unity 2022.3、6.0與6.3版本仍保留可選的Legacy Character-Only Shadow Map;Unity 6.5版本僅使用Cube Proxy。

為何製作Anime Shading+


卡通渲染Shader是Unity最廣泛使用的Shader類型之一,網路上也可以找到數不盡的討論文章,但這麼多年來,我覺得Unity Asset Store上並沒有一個同時滿足以下所有條件的插件 :

  • 專用於渲染日系、動漫風格人物的Shader

  • Cube Proxy自陰影移除,以及舊版分支可選的Character-Only Shadow Map

  • 完善的內、外輪廓線效果(針對人物的Screen Space Outline 與 Mesh-based Outline)

  • 針對日系日系、動漫風格人物的後處理效果(e.g Tonemapping)

  • 針對賽璐璐人物的多光源與環境光照(間接光源)的處理

  • 混和標準PBR與卡通渲染的選項

但是,要達成一個高品質的日系、動漫風格的人物渲染,我覺得上面這些要素每一個都是不可或缺的,於是我決定在Unity的URP管線上,將上述機能整合為單一一個插件。

我相信這個插件擁有作為一個以PC平台為目標production ready製品的穩定度/效能/完整性。同時也可以作為一個需要卡通渲染人物的專案,自行拓展人物用shader的起手式。

ASP的功能特色


1. 針對日系、動漫風格人物設計的Shader

ASP提供了專用於渲染日系、動漫風格人物的Shader,Shader中包括了像是卡通光照、風格化PBR的光照參數,邊緣光、深度邊緣光,MatCap反射、次表面散射、FOV修正…等等的功能,
也提供了常用於渲染動漫人物臉部的 - 基於SDF的臉部陰影貼圖的烘培工具與參數。
並且提供一個專門用於渲染動漫人物眼睛的Shader。

Image

Image

2. Cube Proxy、Legacy Character-Only Shadow Map與深度偏移陰影

為了解決卡通渲染角色身上低品質的自陰影,建議使用ASP Character Panel中的Cube Proxy。角色仍會透過Unity內建shadow map投射陰影,但ASP角色材質會在Cube Proxy表面採樣主光源陰影,排除由角色自身幾何造成的遮蔽。

Unity 2022.3、6.0與6.3版本仍可選用ASP ShadowMap (Legacy),將人物單獨渲染至額外的Character-Only Shadow Map。Unity 6.5版本已移除此Renderer Feature。

為了增加角色細節,ASP也支援指定Renderer渲染基於偏移深度的陰影。

Image

Image

3. 針對動漫風格人物所製作的Tone Mapping效果

一般的全螢幕Tone Mapping會導致飽和度下降,這對動漫風格人物來說是不可接受的(或者使用者必須用非常客製化的LUT去調色)。

ASP提供一個能夠針對螢幕上人物所佔據的pixel,進行效果的強弱調整的ToneMapping,這種做法可以讓動漫人物在一個3D的PBR場景中,同時避免過度曝光與飽和度過低的問題。

Image

4. 螢幕空間描邊與模型空間描邊

ASP提供針對人物的螢幕空間描邊與模型空間描邊。螢幕空間描邊可組合Material、Albedo、Depth與Normals edge,也可使用Vertex Color B通道作為角色pixel的mask,並透過統一的Distance Falloff控制遠距離淡出。 而針對模型空間描邊也提供了烘培平滑法線的工具。

Image

5. 賽璐璐風格的多光源與環境光照(間接光源)處理

為了渲染賽璐璐風格的人物,ASP提供了將額外光源與環境光照的非間接光扁平化的選項,這可以消除人物的3D感,達成更加貼近於2D、賽璐璐風格的渲染結果。

Image

  • Edit this page
In this article
Back to top Generated by DocFX