【Unity】一定時間経過後にオブジェクトを表示させる方法

内容

Unityで一定時間経過後にゲームオブジェクトを表示させる。
下記、サンプルコード。

using UnityEngine;

public class GameObjectDisplayController : MonoBehaviour
{
    public GameObject objectToShow;
    public float displayDelay = 2.0f; // 表示までの待機時間(秒)

    private float timer;
    private bool isDisplayed;

    private void Start()
    {
        // 初期化
        timer = 0.0f;
        isDisplayed = false;
        objectToShow.SetActive(false); // ゲーム開始時にオブジェクトを非表示にする
    }

    private void Update()
    {
        if (!isDisplayed)
        {
            timer += Time.deltaTime; // 経過時間をカウント

            if (timer >= displayDelay)
            {
                // 一定時間経過したらオブジェクトを表示
                objectToShow.SetActive(true);
                isDisplayed = true;
            }
        }
    }
}

上記のスクリプトは、GameObjectDisplayControllerという名前のコンポーネントを作成します。このスクリプトをゲームオブジェクトにアタッチし、objectToShowに表示させたいオブジェクトを設定します。displayDelayには表示までの待機時間を秒単位で指定します。

ゲームオブジェクトが非表示(SetActive(false))になり、指定した時間(displayDelay)が経過すると、オブジェクトは表示(SetActive(true))されるようになります。

参考サイト


この記事が気に入ったらサポートをしてみませんか?