using System.Linq;
using UnityEngine;
public class ShaderTest : MonoBehaviour
{
public MeshRenderer m_renderer;
public MeshRenderer m_renderer2;
private float delay = 3;
public int index = 0;
void Start()
{
Color[] colors = new Color[]
{
Color.red,
Color.green,
Color.blue,
Color.yellow
};
Vector4[] colorVectors = colors.Select(c => (Vector4)c).ToArray();
m_renderer.material.SetVectorArray("_MyColorArray", colorVectors);
m_renderer.material.SetInteger("_GlobalSpectralIndex", 0);
Color[] colors2 = new Color[]
{
Color.black,
Color.black,
Color.black,
Color.blue
};
Vector4[] colorVectors2 = colors2.Select(c => (Vector4)c).ToArray();
m_renderer2.material.SetVectorArray("_MyColorArray", colorVectors2);
m_renderer2.material.SetInteger("_GlobalSpectralIndex", 0);
}
void Update()
{
delay -= Time.deltaTime;
if (delay < 0)
{
m_renderer.material.SetInteger("_GlobalSpectralIndex", index);
m_renderer2.material.SetInteger("_GlobalSpectralIndex", index);
index++;
if (index > 3)
index = 0;
delay = 3;
}
}
}