Unity shader實現頂點動畫波動效果

2022-09-26 02:24:11 字數 768 閱讀 8573

需要了解的背景知識:

波動例項: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...