Vertex常用操作

1.缩放顶点位置,原位置+ Normal向量*变量实现。

 v.vertex.xyz += v.normal * _Extrusion * abs(_SinTime.w);

可用于双Pass实现基本的Outline功能,但是需要注意将Outline的Pass设为透明且不写入深度
2.顶点绕Y轴进行旋转

vertexOuput vert(vertexInput v)
{
   vertexOuput o;
   float s = sin(_SinTime.x * v.vertex.y);
   float c = cos(_SinTime.x * v.vertex.y);
   float2x2 rot = float2x2(c, -s, s, c);
   v.vertex.xz = mul(rot, v.vertex.xz);
   o.pos = UnityObjectToClipPos(v.vertex);
   o.uv = v.texcoord;
   return o;
}

你可能感兴趣的:(Unity3D,Shader)