【Unity】ライトのオン・オフを切り替えるスイッチを作ってみた

unity

こんにちは、のっくんです。

Unityで脱出ゲーム用にライトをオン・オフするためのスイッチを作ってみました。

  1. スイッチが押される
  2. アニメーションを動かす
  3. ライトを制御する

処理をしています。

スイッチはBlenderで作ったものを持ってきました。

アニメーションはUnityの録画機能を使い、各時間でスイッチの角度を変えることで作成します。

合計3つのアニメーションを作成しました。

  • スイッチOff
  • スイッチOn
  • 何もしない(アイドル)

アニメーターで、デフォルトで何もしない状態に遷移するようにします。

スイッチが押されたらスクリプトでスイッチオフ、スイッチオンに切り替えます。

using UnityEngine;

public class Switch : MonoBehaviour
{
    [SerializeField] Animator _animator;
    [SerializeField] GameObject light;
    public bool on = true;

    public void onSwitch()
    {
        if (on)
        {
            _animator.Play("SwitchOff");
            light.SetActive(false);
        }
        else
        {
            _animator.Play("SwitchOn");
            light.SetActive(true);
        }
        on = !on;
    }
}

以上です。