Sistema de grupo de objetos integrado de Unity

Requisitos previos para el uso (¡importante!)

Versión de Unity actualizada a la versión 2021.1 o superior

usar

Tuit oficial de Unity China https://mp.weixin.qq.com/s?__biz=MzkyMTM5Mjg3NQ==&mid=2247548583&idx=1&sn=75b7cda6fecc03f6691bf48a214fb835&chksm=c1863d23f6f1b435799cabdab20 7 db41f43f17620c085e34417d6d7f7222a114772567237494&scene=126&sessionid=1684999278 Tutorial oficial de #rd Unity https://learn.u3d. cn/tutorial/hi-objectpool

Espacios de nombres

using UnityEngine.Pool;

crear

private ObjectPool<GameObject> testPool;

inicialización

testPool = new ObjectPool<GameObject>(
            () => {
                // 第一个 createFunc 它将会在创建新对象的时侯调用,这里实例化一个随机预制体。
                var testObject = Instantiate(prefab, transform);
                // 最后,返回创建好的对象。
                return testObject;
            },
            (go) => {
                // actionOnGet 
                // 会在通过池子获取对象的时候调用,在这里把它激活,
                go.SetActive(true);
            },
            (go) => {
                // actionOnRelease
                // 也就是对象放回池子里的时候会调用的回调,这里我们把需要放回池中的对象失活
                go.SetActive(false);
            },
            (go)=>{
                Destroy(go);
            });
        

De arriba a abajo son:

La implementación del método de creación de objetos indica qué tipo de objetos se generarán en este conjunto de objetos y qué operaciones se realizarán al generar objetos. 

La implementación del método de obtención del objeto , que se llamará cuando se obtenga el objeto. 

La implementación del método de volver a colocar el objeto en el grupo llamará a este método al mismo tiempo que se vuelve a colocar un objeto en el grupo de objetos.

La implementación de destrucción de objetos se llama automáticamente cuando el objeto se destruye limpiamente.

Además, los parámetros que no se han escrito incluyen collectionCheck, que es principalmente para controles de seguridad para evitar el reciclaje repetido de objetos que ya se han reciclado, y puede mantenerse habilitado de forma predeterminada. defaultCapacity es el tamaño predeterminado inicial del grupo. maxSize es el tamaño máximo del grupo.

Resumir

A través de la API de grupo de objetos proporcionada por Unity, el grupo de objetos requerido en un juego se puede implementar más rápidamente y también tiene cierta escalabilidad.

 

Supongo que te gusta

Origin blog.csdn.net/weixin_46041788/article/details/130868126
Recomendado
Clasificación