Descripción general del sistema Unity DOTS y del grupo de sistemas

Recientemente, DOTS finalmente lanzó una versión oficial. Compartamos los siguientes conceptos clave del sistema en DOTS para facilitar que todos aprendan y dominen el desarrollo de Unity DOTS.

Sí, hay un , ¡espero que todos puedan hacer clic para intercambiar experiencias de desarrollo juntos!

El sistema es el código lógico que calcula y procesa iterativamente los datos de los datos de componentes de las entidades de la entidad en el mundo. El código correspondiente al Sistema se ejecuta en el hilo principal. Todos los sistemas del mundo se administran a través de SystemGroup y el orden de iteración de cada sistema se determina a través de SystemGroup.

El sistema se divide en dos modos: objetos administrados y objetos no administrados. Al definir un sistema de objetos administrados, defina una clase que herede de SystemBase. Al definir un objeto no administrado, defina una estructura que herede de ISystem.

El sistema tiene tres interfaces de uso común que los usuarios pueden reescribir. Las interfaces incluyen lo siguiente:

Cada Sistema solo puede iterar la Entidad en el Mundo donde está ubicado. Cuando se crea cada Sistema, habrá un Mundo miembro de datos apuntando al Mundo donde está ubicado. Podemos obtenerlo a través de la instancia del sistema.Mundo.

Cuando se ejecuta Unity, se creará un mundo de forma predeterminada y un grupo de sistemas predeterminado, que son:

Al mismo tiempo, se escanearán todas las clases de sistema actuales, se creará una instancia para cada clase de sistema y se colocará en SystemGroup. Después de ejecutarse, el sistema se calculará de forma iterativa. El sistema creado por defecto se creará en el grupo SimulationSystemGroup de forma predeterminada si no especifica un grupo. Si el sistema necesita crearse en un grupo específico, puede usar el decorador de atributos [UpdateInGroup].

Si no desea que el sistema lo cree de forma predeterminada, puede definir una macro para desactivarlo:

UNITY_DISABLE_AUTOMATIC_SYSTEM_BOOTSTRAP

El sistema tiene los siguientes tipos, que pueden ser utilizados por los desarrolladores. Los tipos son los siguientes:

SystemBase: Sistema basado en clases administradas;

ISystem: Sistema basado en clases no administradas;

EntityComponentBufferSystem: proporciona búfer de comando de entidad para otros sistemas;

ComponentSystemGroup: la relación jerárquica del sistema anidado y el orden de actualización;

Cada SystemGroup puede contener System y sub-SystemGroups, y el orden de iteración del System se puede determinar anulando la actualización de SystemGroup. Puede ver todo el sistema y las relaciones jerárquicas del sistema actual a través de la ventana del sistema, como se muestra en la siguiente figura:

El intercambio de hoy está aquí, síganos y obtenga más información sobre los conocimientos prácticos y avanzados de Unity DOTS más recientes.

Supongo que te gusta

Origin blog.csdn.net/voidinit/article/details/133910650
Recomendado
Clasificación