模型頂點(diǎn)的變換,將一個(gè)平面的中心點(diǎn)處向外進(jìn)行隆起。 1、shader
Shader "xxx/ddd"{ SubShader { pass { CGPROGRAM #pragma vertex vert #pragma fragment frag #include "unitycg.cginc" float R; float H; struct xx { float4 pos:POSITION; float4 color:COLOR; }; xx vert(appdata_base data) { float d = R - length(data.vertex.xz); if(d<0) { d = 0; } float4 pos = float4(data.vertex.x, H*d, data.vertex.z,data.vertex.w); xx x; x.pos = mul(UNITY_MATRIX_MVP,pos); x.color = float4(1,0,0,1); return x; } float4 frag(xx x):COLOR { return x.color; } ENDCG } }}2、C#代碼,控制隆起的高度和半徑
public class SetColorValue : MonoBehaviour { [Range(0,5)] public float R; [Range(0, 5)] public float H; public void Update() { this.GetComponent<Renderer>().material.SetFloat("R", R); this.GetComponent<Renderer>().material.SetFloat("H", H); }}3、新建一個(gè)plane,使用此shader和C#腳本,運(yùn)行程序得到:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注