【Unity】ゲームオブジェクトをフェードする(徐々に透明にする : DOTWeen編)

自作コードでもフェードを実行するメソッドなど作成できますが、DOTweenを使うと比較的簡単に実現できますのでみていきましょう

実行結果

サンプルコード

フェードしたいゲームオブジェクトにアタッチします

using UnityEngine;
using DG.Tweening;

public class DOTweenSample : MonoBehaviour
{
    private void Start()
    {
        // アルファ値を3秒かけて0にする
        GetComponent<Renderer>().material.DOFade(0, 3);
    }
}

参考

ゲームオブジェクトのマテリアルの変更

プリミティブのオブジェクt(Cube)などは、デフォルトのマテリアルを使っていて、透明にはなりません
そこで、マテリアルを作成して、透明度を更新できるようにしておきます

マテリアルの作成

プロジェクトビューからMaterialの作成を選択します

マテリアルの設定を変更

レンダリングモードをOpaqueからFade(また、Transparent)に変更します

色は、自由に変えていいです

ゲームオブジェクトにアウトレット接続

参考)レンダリングモードの種類

  1. Opaque(不透明):
    • 不透明なオブジェクトに使用します。アルファチャンネルが無視され、オブジェクトは完全に不透明として描画されます。一般的な物体や壁、建物などの不透明な要素に使用します。
  2. Fade(フェード):
    • 一部が透明で一部が不透明なオブジェクトに使用します。アルファチャンネルが考慮され、透明度が変化します。このモードは、半透明な物体や、フェードイン/フェードアウトの効果を持つオブジェクトに適しています。例えば、煙、葉っぱ、ガラスの窓など。
  3. Transparent(透明):
    • 完全に透明なオブジェクトに使用します。アルファチャンネルが無視され、オブジェクト全体が透明に描画されます。これは、ガラス、水、宝石、液体などの完全に透明な物体に使用します。また、オブジェクトの背面から見えることが期待される場合にも使用します。

TWeen,Unity

Posted by hidepon