コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】UI が他の UI の範囲に入ったかどうかを検知できる「UI Culling for Unity」紹介

はじめに

「UI Culling for Unity」を Unity プロジェクトに導入することで
UI が他の UI の範囲に入ったかどうかを検知できるようになります

使用例

使い方

UICullingBehaviour コンポーネントを使用して

using Oddworm.Framework;
using UnityEngine;

public class Example : MonoBehaviour
{
    public UICullingBehaviour m_cullingBehaviour;

    private void Awake()
    {
        // 範囲内に入った
        m_cullingBehaviour.onBecameVisible.AddListener( () => Debug.Log( "onBecameVisible" ) );
        
        // 範囲外に出た
        m_cullingBehaviour.onBecameInvisible.AddListener( () => Debug.Log( "onBecameInvisible" ) );
        
        // 範囲内に入ったか範囲外に出た
        m_cullingBehaviour.onVisibleChanged.AddListener( x => Debug.Log( $"onVisibleChanged: {x}" ) );
    }
}

上記のようなコードを記述します