LoginSignup
8

More than 5 years have passed since last update.

【Unity(C#)】ゲームオブジェクトを点滅させる方法

Last updated at Posted at 2019-01-05

  
  
  
この記事は

『プログラミング完全未経験からUnityでの開発現場に迎え入れてもらえた世界一の幸せ者』

の記事です。そのつもりでお読みください。
  

ゲームオブジェクトを点滅させる

※点滅させたいゲームオブジェクトにAdd Componentさせるつもりで書いてます。

点滅させるにはmaterialのalpha値(透明度)を変化させます。

unityのColorのalpha値は0~1で設定可能なので点滅させるために
時間変化で0~1の値を取る数値を用意します。

float alpha_Sin;

void Update()
    {
        alpha_Sin = Mathf.Sin(Time.time) / 2 + 0.5f;
    }

↓こういうこと(とても分かり易い図)。赤い線のグラフがalpha_Sinです。

sin0~1.png

Update関数内でalpha値を代入すれば点滅しますが、汎用性に欠けるので
今回はコルーチンを作って好きなタイミングで点滅を開始しやすくしました。
参考:コルーチン

IEnumerator ColorCoroutine()
    {
        while (true)
        {
            yield return new WaitForEndOfFrame();

            Color _color = this.gameobject.material.color;

            _color.a = alpha_Sin;

            this.gameobject.material.color = _color;
        }
    }

好きなタイミングでコルーチンを呼びましょう。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8