需要了解的背景知識:
波動例項:y= asin(x+)
:決定波形與x軸位置關係或橫向移動距離(左加右減)
:決定週期(最小正週期t=2/||)
a:決定峰值(縱向拉伸壓縮的倍數)
頂點著色器的主要計算:
1.頂點位置
2.矩陣轉換
片段著色器
1.紋理定址
2.燈光作用
_time表示時間週期 float4(t/20, t, t*2, t*3)
shader "custodrtylntzibm/w**e" //紋理
_arange("amplitute", float) = 1
_frequency("drtylntzibfrequency", float) = 2//波動頻率
_speed("speed",float) = 0.5//控制紋理移動的速度 }
s ;
struct v2f ;
float _frequency;
float _arange;
float _speed;
v2f vert(appdata v)
sampler2d _maintex;
fixed4 frdrtylntzibag(v2f i) :sv_target
endcg
} }fallback "diffuse"
}執行效果圖如下:
本文標題: unity shader實現頂點動畫波動效果
本文位址:
UnityShader 基於網格頂點的草叢
發現了一篇寫草叢的文章,自己跟著寫了遍,並新增了自定義的形狀和密度。思路 1 利用幾何著色器,將每個頂點轉為乙個葉片網格 2 利用曲面細分生成新頂點控制草叢密度 3 貼圖加clip決定葉片形狀 4 利用旋轉矩陣完成動態和隨機效果 shader檔案 shader custom grassshaderw...
Unity Shader 頂點著色器引數
本章主要描述在unity cg語言編寫shader的時候,頂點著色器的引數。一般在shader中都會將頂點著色器的引數封裝為乙個結構體 unity vertex input instance id 結構體中的屬性都是meshrenderer在每次drawcall的時候傳遞過來的,我們在shader中...
Unity shader學習之逐頂點漫反射光照模型
公式如下 cdiffuse clight mdiffuse max 0,dot n,l 其中,n為表面法線,l為指向光源的單位向量,mdiffuse為材質溫反射顏色,cdiffuse為光源顏色。需要注意的是,需要防止法線與光源方向點積為負,因些使用max函式。shader如下 shader cust...