Namespace : Unity.TinyCharacterController.Utility
GameObjectPool
は、オブジェクトの再利用を可能にするコンポーネントです。このコンポーネントは、オブジェクトの作成コストを削減するために、Get()
でオブジェクトを取得し、Release
で返却します。各プレハブに対してコンポーネントを準備する必要があり、GameObjectPoolManager
からプレハブを参照することができます。GameObjectPool
のインスタンスは、それが属するシーンで作成されます。_isActiveOnGet
が False の場合、オブジェクトは自動的にアクティブになりません。
オブジェクトの再利用 : 既存のオブジェクトを再利用することで、オブジェクトの作成コストを削減します。
プレハブの管理 : 指定されたプレハブからインスタンスを作成し、管理します。
自動アクティベーション : 取得時にオブジェクトを自動的にアクティブ化するかどうかを設定します。
親オブジェクトの指定 : インスタンス作成時に親オブジェクトを指定することができます。
事前生成 : 起動時に指定された数のオブジェクトを事前に生成しておくことができます。
スポーンオブジェクトの非表示 : エディター内でスポーンしたオブジェクトを隠すかどうかの設定。
名前
説明
_prefab
インスタンスを作成するためのプレハブ。
_isActiveOnGet
取得時にオブジェクトを自動的にアクティブ化するかどうか。
_parent
インスタンス作成時の親オブジェクト。
_prewarmCount
起動時に生成するオブジェクトの数。
_hideSpawnObject
エディター内でスポーンしたオブジェクトを隠すかどうか。
名前
機能
static GameObject
Get( PooledGameObject prefab
)
プールから再利用可能なインスタンスを取得します。利用可能なインスタンスがない場合は新しいインスタンスを作成します。
static void
Release( GameObject obj
)
取得したオブジェクトをプールに返却します。
クラスは IGameObjectPool
および IEquatable<GameObjectPool>
インターフェイスを実装しており、オブジェクトプールの機能を提供します。
このコンポーネントは GameObjectPoolManager
によって管理され、シーン内でのオブジェクトプールの登録と解除が行われます。
事前生成 (_prewarmCount
) 機能により、パフォーマンスの最適化を図ることができます。
_hideSpawnObject
はエディターでのみ使用され、スポーンしたオブジェクトをヒエラルキーから隠すことができます。これにより、作業中のヒエラルキーがすっきりと保たれます。