Trabajar con sectores - Guía del usuario de Lumberyard

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Trabajar con sectores

Un sector es una colección de entidades configuradas que se almacena como una única unidad en un recurso reutilizable. Puede utilizar los sectores para agrupar cómodamente las entidades y otros sectores para su reutilización. Las rebanadas son similares aPrefabssino que forman parte del nuevo sistema de entidades de componentes. Los sectores pueden contener entidades de componente, mientras que los prefabs no. A diferencia de prefabs, los sectores se pueden anidar en una jerarquía completamente en cascada. Por ejemplo, un nivel, una casa, un automóvil y un mundo entero son todos sectores que dependen (cascada) de una serie de otros sectores.

Puede generar un activo de sector que contenga cualquier número de entidades que hay colocado y configurado. Estas entidades pueden tener relaciones arbitrarias. Por ejemplo, pueden existir en una jerarquía de transformación principal/secundario, aunque esto no es necesario.

Un sector puede contener instancias de otros sectores. Las modificaciones de una instancia de sector en otro sector hacen que los cambios se almacenen en la instancia como anulaciones (en forma de diferencial de datos o delta). Las modificaciones almacenadas pueden ser cambios como adiciones de entidades, eliminaciones de entidades o cambios de propiedades de componentes.

Al crear un nivel, deberá colocar determinados elementos de forma repetida, como accesorios, muebles o un componente de un paisaje. Para crear multiplicaciones de un elemento, lo puede copiar y pegar las veces que necesite en el nivel. Con este método, cada elemento tendrá sus propiedades independientes. Si desea modificar una propiedad, como cambiar el color de todas las motos de azul a rojo, tendría que ir modificando cada una de ellas. Esto llevaría mucho tiempo y no resultaría eficaz.

Con los sectores de Lumberyard puede modificar una instancia del elemento y guardar ese cambio en el resto de instancias del elemento en el proyecto de juego. Guardar los cambios en el resto de las instancias no es un proceso automático. Es decir, puede modificar una instancia de un sector y no guardar los cambios. Esto hace que esa instancia sea única. También puede desvincular una instancia de un sector para que no herede las modificaciones guardadas. La instancia del sector que se ha desvinculado pasa a ser una entidad normal con propiedades individuales.

Los sectores incorporan entidades, con sus componentes y propiedades, y también podrían contener instancias de otros sectores. Esta capacidad de anidar sectores sin aplanar la jerarquía es una característica única de Lumberyard.

Los sectores se guardan como archivos .slice en el directorio del proyecto de juego.

ejemplo

En el navegadorEntity OutlinerPuede identificar diferentes entidades por su icono y color.


                Sectores en elEntity Outliner.
Icono Descripción

Las entidades de color blanco son independientes. No son parte de una instancia de un sector.

Las entidades de color azul forman parte de una instancia de sector.

Las entidades con líneas indican una jerarquía con un elemento principal y otro secundario. En este ejemplo, las entidades principal y secundaria forman parte de una instancia de sector.

Las entidades de color naranja tienen reemplazos, lo que significa que tienen diferentes valores de propiedades de componentes que el sector de origen.

Las entidades principales que aparecen con un punto indican que una entidad secundaria tiene un reemplazo. En este ejemplo, la entidad DoorWay_Parent tiene tres elementos secundarios, cada uno de ellos con reemplazos.

Las entidades que están sombreadas son raíces del sector. En este ejemplo, la entidad TimerParent y todos sus elementos secundarios son raíces de sectores.

Los apartados de este capítulo utilizan la terminología siguiente para describir cómo se trabaja con sectores.

Sector de origen

El sector de origen es el activo .slice que se guarda en el directorio del proyecto de juego cuando crea un sector.

Sector propietario

Las entidades dentro de una instancia de sector se originan a partir de un sector propietario. Por ejemplo, una entidad de neumático que parte de una instancia de wheel.slice es propiedad de wheel.slice. Los sectores transfieren automáticamente los cambios a cualquier entidad de instancia de sector de los que sean propietarios. Por ejemplo, puede actualizar la referencia de material en una entidad de neumático propiedad de una instancia de wheel.slice. Cuando envíe ese cambio al de origenwheel.slice, Lumberyard actualiza todas las demás entidades de neumáticos dewheel.slice.

Las entidades pueden tener más de un sector propietario. Para seguir con el ejemplo, motorcycle.slice es propietario de dos instancias de wheel.slice. La entidad de neumático dentro de las dos instancias de wheel.slice, la cual está en motorcycle.slice, hereda del sector de rueda y del sector de moto.

Instancia de sector

Una instancia de un sector es una forma diferente de crear instancias a partir de un sector de origen. La instancia del sector hereda entidades y propiedades desde el sector de origen (el archivo .slice) y se actualiza cuando el sector de origen cambia.

Las instancias de sectores se pueden modificar. Para aplicar esas modificaciones a todas las instancias del sector de origen, puede guardar los cambios en el activo del sector de origen.

Cuando trabaje con una instancia de un sector, esos cambios se aplicarán exclusivamente a ese sector hasta que los envíe al sector de origen.

Entidad de sector

Las entidades que son propiedad de un sector se denominan "entidades de sectores". Una entidad de un sector hereda de su sector de origen. LaEntity OutlinerEl utiliza colores para distinguir entre entidades de sectores y entidades que no son de sectores. Las entidades de sectores son azules y las que no son de sectores son blancas.

Guardar reemplazos de sectores

Guardar los reemplazos en sectores implica confirmar modificaciones de entidades desde una instancia en el sector de origen. Cuando utiliza elGuardar anulaciones de sector, Lumberyard le solicita que elija qué modificaciones o reemplazos quiere guardar. En el caso de sectores anidados, también puede elegir qué sector de la jerarquía recibirá los reemplazos.

Después de guardar los reemplazos, Lumberyard actualiza automáticamente todas las instancias de ese sector. Si alguna de las instancias de sectores tienen reemplazos o modificaciones sin guardar, no aceptará las actualizaciones de dichos reemplazos. Puede revertir las entidades y las propiedades de un sector para volver a sincronizarlo con el sector de origen.

Para obtener más información, consulte Modificación de un sector y guardado de los cambios.

nota

Lumberyard no guarda elTranslateValor de laTransformaciónal sector. Este valor determina la posición de una entidad en el nivel y, como tal, no puede afectar al resto de instancias del sector.

Reemplazar

Cuando se cambia alguna parte de un sector, como al agregar un componente o modificar una propiedad, se produce un reemplazo o una modificación. Esto significa que la instancia del sector es diferente del sector de origen. Los reemplazos de las propiedades de los componentes se resaltan con fuente naranja y en negrita en elEntity InspectorPara distinguirlas de las propiedades que no han cambiado.

Si guarda dichos reemplazos, se guardan en todas las instancias del sector. Esto implicará que ya no serán reemplazos y la fuente vuelve a su estado normal. Los reemplazos que no se guarden en el sector se mantienen en esa instancia, incluso aunque se reciban otros cambios desde el sector de origen.

También puede forzar el reemplazo de una propiedad que aún no haya modificado, así como revertir reemplazos en una entidad, un componente o una propiedad.

Para obtener más información, consulte Revertir y forzar reemplazos.

Desvincular

Puede desvincular una entidad dentro de un sector. Esto la elimina de la instancia del sector y la entidad deja de recibir actualizaciones cuando se guardan cambios en el sector de origen.

También puede desvincular cualquier instancia de sector. Esto significa que dejará de recibir los cambios que se guarden en el sector.

Para obtener más información, consulte Desvinculación de entidades e instancias de sectores.

Anidar

Cuando se anida una instancia de un sector, pasa a ser el elemento secundario de otra instancia de sector.

Si envía una instancia de un sector anidada a su sector de origen principal, la instancia del sector anidada hereda del sector de origen inicial y de cualquier sector origen propietario de sus elementos principales.

Las instancias de sectores anidadas comparten una jerarquía de transformación con sus elementos principales. Para obtener más información, consulte Jerarquía de transformación.

Heredar

Las instancias de los sectores heredan datos de todos los sectores de origen en su jerarquía. Cuando una instancia de un sector hereda de varios sectores de origen, la prioridad en cuanto a herencia se ordena en sentido descendente en la jerarquía del esquema.

Una instancia de un sector puede perder su capacidad de heredar. Si modifica una instancia de un sector y, después, no guarda esos cambios en el sector de origen, esa instancia del sector perderá su capacidad de heredarlos. Para restaurar la posibilidad de heredar, es preciso que restablezca la instancia del sector o guarde los cambios.

Jerarquía de transformación

La jerarquía de transformación define el movimiento, la rotación y el escalado de las entidades en el editor y en el tiempo de ejecución. Las entidades secundarias comparten los datos de transformación de su elemento principal. Es decir, siempre que mueva, rote o escale un elemento principal, los elementos secundarios harán lo mismo. No obstante, puede mover, rotar y escalar un elemento secundario independientemente de su elemento principal.

Jerarquía de sectores

La jerarquía de sectores define la relación de la instancia del sector con los sectores de origen. Una entidad dentro de un sector anidado puede heredar potencialmente de varios sectores de origen. Cuando esto sucede, los datos del sector en la parte superior de la jerarquía de sectores reemplazan a los datos del sector en la parte inferior de la jerarquía.

Parche de datos

En términos generales, un parche de datos captura la diferencia entre dos objetos serializables, de modo que cuando se toma el primer objeto y se aplica el parche, se obtiene el segundo objeto como resultado. Con respecto a los sectores, cuando edita una instancia de un sector en el editor y crea una anulación, se genera un parche de datos y se guarda en un archivo de sector. Un parche de datos almacenado en un sector conserva la información necesaria para modificar el sector de origen y crear un sector con anulaciones. Puede ser tan sencillo como cambiar un valor en un campo, o algo más complejo, como agregar o quitar componentes o entidades completas.