Materialの色は、(renderer.)material.SetColor("_Color", Color)で変更する。
下の例は、materialをPublic変数として受け取り、指定したOn/Off時間で色を変えるもの
using UnityEngine; using System.Collections; public class FlashingLight : MonoBehaviour { public Material mat; public float durationOn = 1.0F; //sec for On public float durationOff= 1.0F; //sec for Off public bool isOff; //Start from Off (or from On) private Color color; private Color colorOff; private Color colorOn; private float currentTime; private float nextTime; // Use this for initialization void Start () { currentTime = 0.0F; colorOff = new Color(0.5F,0.5F,0.5F,1.0F); colorOn = new Color(1.0F,1.0F,0.0F,1.0F); if(isOff){ color = colorOff; nextTime = durationOff; }else{ color = colorOn; nextTime = durationOn; } mat.SetColor("_Color", color); } // Update is called once per frame void FixedUpdate () { if(Time.time > nextTime){ if(isOff){ color = colorOn; isOff = false; nextTime += durationOn; }else{ color = colorOff; isOff = true; nextTime += durationOff; } mat.SetColor("_Color", color); } } }