search
LoginSignup
8

More than 3 years have passed since last update.

posted at

updated at

Organization

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

  
  
  
この記事は

『プログラミング完全未経験から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
What you can do with signing up
8