Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 3.15 KB

GameObjectPool_ja.md

File metadata and controls

37 lines (31 loc) · 3.15 KB

GameObjectPool

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 はエディターでのみ使用され、スポーンしたオブジェクトをヒエラルキーから隠すことができます。これにより、作業中のヒエラルキーがすっきりと保たれます。