AmplifyShader Dissolve Shader
Dissolve, 溶解,網路上應該可以找到很多類似的範例,這邊就所呈現的效果去分析記錄製做的方式。
可以應用在一般的 Mesh 上,也可以稍微變形使用在 Particle 上。
2. 溶解 → Alpha
3. 溶解 → RGB 染色
可以應用在一般的 Mesh 上,也可以稍微變形使用在 Particle 上。
* 首先看一下最終的成像:
* 分析成像的組成:
1. 一張主要的貼圖2. 溶解 → Alpha
3. 溶解 → RGB 染色
4. 溶解 → 對 3. 加上 UV Flow
* 1. 一張主要的貼圖
-- 1.1 一開始很簡單的置入一張主要貼圖,要來被溶解用,只取其 RGB,W/Alpha可以先設定為1就可以,之後要對W做溶解的效果
* 2. 溶解 → Alpha: 淡出的溶解 ( 1~0 ) 效果
-- 2.1 一張 Noise 貼圖與一個 Input 0~1 數值經過反向後,重新映射的值相加 (圖B,沒反向映射相加 (圖A
-- 2.2 將 2.1 輸出結果再一次重新映射取得新範圍值 (圖C
-- 2.3 將 2.2 輸出結果限定在 0~1 間
-- RGB 輸出: 可以看到如分析成像組成 2 的結果 ( 方便觀察溶解的行為而已 )
-- Alpha 輸出: 才是我們要的最終結果
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- RGB 輸出: 可以看到如分析成像組成 2 的結果 ( 方便觀察溶解的行為而已 )
-- Alpha 輸出: 才是我們要的最終結果
-- Remap Node: 將 Input 根據區域範圍重新映射取得一個新值,公式如下圖
* 3. 溶解 → RGB 染色
-- 3.1 步驟 2 溶解 -- Alpha 是拿來當遮罩,其實也是可以拿來再次利用,對遮罩的邊緣做染色,將 2.3 輸出反轉
(圖A,與一個顏色相乘即可做到單純染色 (圖B
(圖A,與一個顏色相乘即可做到單純染色 (圖B
-- 3.2 要讓色彩更豐富,可以多一個圖層 (圖B,來增加染色的豐富度 (圖C
* 4. 溶解 → 對 3. 加上 UV Flow
步驟 2 與 步驟 3 都是在拿 Noise 貼圖做溶解染色與遮罩,不過目前這是靜態的,要讓溶解部位更生動,可以使用 UV
Flow
-- 4.1 新增一張 Normal 貼圖 (圖A,使用 Panner 來進行 UV 流動
-- Input UV: Normal UV,使用 Texture Coordinates, Reference Normal Texture
-- Input Speed" Normal Offset, 使用 Texture Transform, Reference Normal Texture
-- 4.2 開放一個數值來控制流動強度,與 4.1 取 XY 相乘,這樣就有一個透過 Normal 貼圖的 UV 流動 (圖B
Flow
-- 4.1 新增一張 Normal 貼圖 (圖A,使用 Panner 來進行 UV 流動
-- Input UV: Normal UV,使用 Texture Coordinates, Reference Normal Texture
-- Input Speed" Normal Offset, 使用 Texture Transform, Reference Normal Texture
-- 4.2 開放一個數值來控制流動強度,與 4.1 取 XY 相乘,這樣就有一個透過 Normal 貼圖的 UV 流動 (圖B
-- 4.3 將 4.2 的輸出結果直接指定給 Noise 貼圖的 UV 會發現怪怪的,因為我們應該要把這個輸出結果當成對現有 UV
的疊加,而不是單純取代,所以還要加上原有UV (Texture Coordinates)才是正確的結果
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
要應用在 Particle System 上,要將 2.1 的 0~1 範圍的 Input 拿掉,用 Vertex Color Alpha 取代
留言
張貼留言