顶点片元shader实例
float、fixed4、_Time
- float4:内置向量(x,y,z,w)
float4 a,单独访问数据成员a.x,a.y,a.z,a.w - fixed4:内置向量(r,g,b,a)
fixed4 c,单独访问数据成员c.r,c.g,c.b,c.a - float3:内置向量(x,y,z)
- fixed3:内置向量(r,g,b)
- float2:内置向量(x,y)
- _Time:自场景加载开始所经过的时间,(t/20,t,tx2,tx3)
- _SinTime:t是时间的正弦值,(t/8,t/4,t/2,t)
- _CosTime:t是时间的余弦值,(t/8,t/4,t/2,t)
- unity_DeltaTime:dt是时间增量,(dt,1/dt,smoothDt,1/smoothDt),smoothDt平滑时间,防止时间间隔起伏过大
正弦波与uv动画
使用Unlit Shader模板–>逐步添加效果
- 水波纹效果修改:v2f vert (appdata v){}
v2f vert (appdata v)
{
v2f o;
float dist = distance(v. vertex. xyz, float3(0, 0, 0));
float h = sin(dist*2 + _Time. z)/5;
o.vertex = mul(unity_ObjectToWorld, v. vertex);
o.vertex.y = h;
o.vertex = mul(unity_WorldToObject, o. vertex);
o.vertex = UnityObjectToClipPos( o. vertex);
o.uv