Shader "Custom/test1" {
SubShader {
pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "unitycg.cginc"
float4x4 mvp;
float dir;
float r;
struct v2f{
float4 pos:POSITION;
fixed4 col:COLOR;
};
v2f vert(appdata_base v)
{
v2f o;
o.pos = mul(UNITY_MATRIX_MVP,v.vertex);
o.pos.x = o.pos.x/o.pos.w;
o.pos.y = o.pos.y/o.pos.w;
float X = o.pos.x;
if(X>dir&&X<dir+r)
o.col = float4(1,0,0,1);
else
o.col = float4(X/2+0.5,X/2+0.5,X/2+0.5,1);
return o;
}
fixed4 frag(v2f IN):COLOR
{
return IN.col;
}
ENDCG
}
}
}
using UnityEngine;
using System.Collections;
public class setFloat : MonoBehaviour {
private float dir=-1;
private float r=0.1f;
void Start () {
}
void Update () {
dir+=Time.deltaTime;
GetComponent<Renderer>().material.SetFloat("dir",dir);
GetComponent<Renderer>().material.SetFloat("r",r);
}
}