Unity Shader 雙面及碎化

2021-08-09 06:25:33 字數 1145 閱讀 6761

說明

練習作品,兩個效果合在一起,僅供參考。

正文

shader "custom/twosidesdeathshader" //正面貼圖

_backcolor ("color", color) = (1,1,1,1)//反面顏色調節

_backtex ("background texture", 2d) = "white" {}//反面貼圖

_masktex ("mask texture",2d) = "white" {}//碎化遮罩貼圖

_threshold ("threshold",range(0,1)) = 0

//碎化調節閾值

}subshader

cull off//關閉背面裁剪

cgprogram

#pragma vertex vert

#pragma fragment frag

#include "unitycg.cginc"

fixed4 _forecolor;

fixed4 _backcolor;

sampler2d _foretex;

sampler2d _backtex;

sampler2d _masktex;

float _threshold;

float4 pos : position;

float2 uv : texcoord0;

};struct v2f;

v2f f;

f.pos = unityobjecttoclippos(v.pos);

f.uv = v.uv;

return f;

}fixed4 frag(v2f i,fixed facing : vface):sv_target

endcg}}

fallback "diffuse"

}

注:

1.facing的使用可參考官方示例

2.調節threshold的值即可調節碎化程度

結果

Unity Shader 屬性及標籤

應用階段 幾何階段 光柵化階段 1 應用階段 cpu實現 1 把資料載入到視訊記憶體中 例如 頂點的位置資訊 法線方向 頂點顏色 紋理座標 2 設定渲染狀態 3 呼叫drawcall 2 幾何階段 gpu實現 1 頂點著色器 實現頂點的空間變換 頂點著色等 完全可程式設計 2 曲面著色器 可選著色器...

Unity Shader編寫基礎及注意事項(二)

座標系規則 unity中存在空間座標系,模型座標系,相機座標系以及螢幕座標系。注意 空間座標系和模型座標系均是左手座標系,z在物體的正前方,相機座標系是右手座標系,z指向相機後方。座標系變換 包含平移 旋轉和縮放變換。注意 三維座標的平移不能用3x3矩陣表示,所以擴充套件到4x4的齊次座標。unit...

MATLAB零碎筆記及解決除錯問題的方法

1.ss是狀態空間模型,c2d是連續到離散系統的轉換 2.simulink設定干擾的模組 uniform random number 或者random number 3.零碎函式 eye 該函式返回單位矩陣 對角是1 y eye n 返回nn單位矩陣 y eye m,n 返回mn單位矩陣 y eye...