//shader只是测试用,不用在意
Shader "Custom/Vertex" {
Properties {
}
SubShader {
Lighting Off
Pass{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct o2v
{
float4 vertex : POSITION;
float4 color : COLOR;
};
struct v2f
{
float4 pos : SV_POSITION;
float4 color : COLOR0;
};
v2f vert(o2v input)
{
v2f o;
o.pos = mul(UNITY_MATRIX_MVP,input.vertex);
o.color = input.color;
return o;
}
half4 frag(v2f i):COLOR
{
return i.color;
}
ENDCG
}
}
FallBack "Diffuse"
}
先建立一个类,MeshExtension来建立渐变函数,这个类是没有改变过的
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public static class MeshExtension{
//把mesh中的顶点都变成color
public static void setVertexColor(this Mesh mesh,Color color){
Color[] vertCo