[Unity] オブジェクトを点滅させるスクリプト
Unityでゲームオブジェクトを常に存在させながら点滅描画させるためのスクリプトのご紹介です。
基本的な考え方は、「コンポーネントのrendererを一定周期ごとにenable/disableにすること」です。
点滅描画のスクリプトを以下に貼り付けておきます。
必要ならご自由にお使いください。
Blinker.cs
using UnityEngine; using System.Collections; public class Blinker : MonoBehaviour { private float nextTime; public float interval = 1.0f; // 点滅周期 // Use this for initialization void Start() { nextTime = Time.time; } // Update is called once per frame void Update() { if ( Time.time > nextTime ) { renderer.enabled = !renderer.enabled; nextTime += interval; } } }
使い方は点滅描画させたいゲームオブジェクトに上記スクリプトを追加するだけです。
intervalに点滅させる周期[s]を指定します。
処理自体は点滅する時刻になったらrendererのenable状態をトグルするだけなので簡単です。
描画されていない間も他の処理は継続して行われているため、物体をすり抜けてしまうといったことはありません。