Unityでオブジェクト(スプライト)の透明度を変更する方法/SpriteRenderer.colorの使い方

IT

2Dゲームでオブジェクトの透明度を変更したい場合、SpriteRendererのAlphaの値を変更する方法で実装できます。

スポンサーリンク

成果物

ss3
マウスが乗ると透明度が下がり、離れると透明度が上がるオブジェクトを作ってみます。

透明度の変更

opacity1
矢印をふたつ画面に放り込み、
opacity2
レイヤーの順序を変更して前のほうに表示されるようにして、をクリックします。
opacity3
4つある色相のうち、A(Alpha)は透明度を意味します。これの値を下げれば、
opacity4
オブジェクトの透明度を引き下げることが可能です。

スクリプトで変更

opacity5>
カラーフィルターと同じ要領で色を変更し、透明度を変えてみることにします。
スクリプトを作り、ふたつの矢印にアタッチします。矢印にはそれぞれコライダーを設置します。
opacity6
マウスがオブジェクトに乗った時(OnMouseEnter)は、SpriteRenderer.colorのAにだけ120をプラスし、
opacity7
逆にマウスがオブジェクトからどいた時(OnMouseExit)は、Aを120引き下げます。
ss3
結果こんな感じになります。
//Unity C#
    void OnMouseEnter()
    {
    Aを上げる=透明度を下げる
        this.GetComponent<SpriteRenderer>().color += new Color(0,0,0,120);
    }

    void OnMouseExit()
    {
    Aを下げる=透明度を上げる
        this.GetComponent<SpriteRenderer>().color += new Color(0, 0, 0, -120);
    }

完成品はこちら

やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント