はじめに
「Master Object Pooler 2」を Unity プロジェクトに導入することで
簡単にオブジェクトプールを使用できるようになります
使い方
Project ビューの「Create > Master Object Pooler 2 > Object Pool」を選択して
オブジェクトプールを管理するアセットを作成します
作成したアセットにオブジェクトプールで使用するプレハブなどを設定します
項目 | 内容 |
---|---|
Name | オブジェクトプールの名前 |
Template | オブジェクトプールで使用するプレハブ |
Default Size | 最初から作成しておくオブジェクトの数 |
Max Size | プールできるオブジェクトの最大数 |
Incremental Instance Name | 生成したオブジェクトの名前に連番を付けるかどうか |
Auto Initialize | 自動で初期化するかどうか |
using QFSW.MOP2; using System.Collections; using UnityEngine; public class Example : MonoBehaviour { // オブジェクトプールを管理するアセット public ObjectPool m_pool; private void Update() { if ( Input.GetKeyDown( KeyCode.Space ) ) { StartCoroutine( CreateObject() ); } } private IEnumerator CreateObject() { // オブジェクトプールからオブジェクトを生成する var position = Vector3.zero; var newObject = m_pool.GetObject( position ); yield return new WaitForSeconds( 1 ); // 生成したオブジェクトをオブジェクトプールに戻す m_pool.Release( newObject ); } }
そして上記のようなスクリプトを作成して
スクリプトにオブジェクトプールをアセットを設定することで
使用できるようになります