Presentamos los nuevos flujos de trabajo de Prefabs

MADS NYHOLM / UNITY TECHNOLOGIESStaff Software Engineer
Jun 20, 2018|6 Min
Presentamos los nuevos flujos de trabajo de Prefabs
Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

Una de las adiciones más solicitadas a Unity es la capacidad de anidar Prefabs. Pero sabemos que muchos de ustedes necesitan muchos más cambios en los flujos de trabajo de los Prefabs. Por lo tanto, mejoramos todo el sistema con enfoque en la reusabilidad, el control y la seguridad. Esta es la primera de una serie de entradas de blog en las que se explican los cambios que se introducirán próximamente. Si aún no lo hiciste durante la presentación principal Unite Berlín de ayer, obtén la vista previa Unity Build con el nuevo sistema de Prefabs aquí.

Comencemos por resumir los conceptos básicos de lo que son los Prefabs en Unity. Básicamente, un asset prefabricado es como una plantilla de un GameObject y sus hijos. Puedes usar instancias de un asset prefab para crear muchas copias de un GameObject en todas tus escenas. Si se cambia el asset de prefabs, todas las instancias de prefabs se actualizan automáticamente en consecuencia.

Hablamos con una amplia gama de estudios independientes y de nivel AAA para profundizar en la manera en que todos trabajan con los prefabs en este momento. Un problema que encontramos fue que, cuando querías editar un asset de prefab, tenías que arrastrarlo a una escena abierta en la ventana Hierarchy para modificarlo, aplicar los cambios y, luego, recordar borrarlo de nuevo. Otro gran problema fue el botón Apply (aplicar) para las instancias de Prefabs en el Inspector. Con este botón, podías aplicar cambios accidentales al asset de prefabs que no tenían una buena forma de obtener una descripción general.

Para abordar estos problemas, introdujimos una serie de características nuevas. Implementamos un backend de Prefabs retrocompatible que ahora admite anidación y herencia. Mejoramos la visualización de las sustituciones de propiedades y objetos para las instancias de Prefabs y agregamos la capacidad de aplicar sustituciones en múltiples niveles de granularidad: por propiedad, por componente/GameObject o, como antes, toda la instancia de Prefabs. Por último, agregamos Prefab Mode para poder editar un asset de prefab de forma aislada.

Modo Prefab

El modo Prefab representa un cambio fundamental al trabajar con Prefabs. Te permite decidir si deseas hacer cambios en una instancia de Prefab o hacerlo directamente en un asset de Prefab.

El modo Prefab te brinda una sesión de edición de assets de prefabs más controlada porque puedes realizar todos los cambios en el asset de prefabs, incluidos los cambios estructurales, sin recibir diálogos que te pidan que rompas la conexión con el prefab. Con el modo prefab, ya no es necesario hacer cambios temporales en una instancia de prefab con el único fin de aplicar estos cambios al asset más adelante (con el posible efecto secundario de aplicar otras sustituciones anteriores que se suponía que debían mantenerse como sustituciones). Por lo tanto, te recomendamos usar el modo prefab para los cambios en los assets de prefabs y solo anular las instancias de prefabs cuando sea necesario. Ten en cuenta que también mejoramos enormemente el flujo de trabajo Apply. ¡Más información sobre este flujo de trabajo en una próxima entrada de blog!

El modo Prefab se hace cargo de Hierarchy y Scene View para mostrar el asset de prefabs de forma aislada. Puedes reconocer este modo con los nuevos encabezados en Hierarchy y Scene View. También ten en cuenta que el color de fondo del modo prefab se puede personalizar en las preferencias.

El asset prefabricado en la vista Hierarchy y Scene

Puedes ingresar al modo Prefab realizando una de las siguientes acciones:

  • Haz doble clic en el Prefab en la ventana Project.
  • Haz clic en el botón de flecha nueva en la ventana Hierarchy (Jerarquía) al lado del GameObject raíz de la instancia del Prefab.
  • Haz clic en el botón Open (abrir) en el Inspector para el GameObject raíz de la instancia Prefab Asset o Prefab.
Trabajar con assets de prefabs

Para habilitar el anidamiento de Prefabs, tuvimos que hacer cambios técnicos en el backend de Prefabs. Por lo tanto, técnicamente, los prefabs ahora son assets importados. Eso significa que ya no puedes editar GameObjects prefabs en la ventana Project. En comparación con el antiguo flujo de trabajo de edición directamente en la ventana Project (proyecto), el modo prefab te permite editar objetos a cualquier profundidad y ver lo que haces en la vista Scene (escena).

Trabajar con instancias de Prefab

Otra consecuencia de proporcionar el anidamiento de Prefabs es que ya no puedes desconectar una instancia de Prefabs para hacer cambios estructurales en esa instancia. Esto incluye eliminar GameObjects, reaparentar GameObjects o reemplazar un Transform por un RectTransform y viceversa. Ahora puedes hacer todo esto en el modo Prefab. También puedes desempaquetar una instancia de Prefab si deseas eliminar por completo su vínculo con su Asset de Prefabs y reestructurar los GameObjects planos resultantes a tu antojo.

Etapa de prefabs

Introdujimos el término "stage" en el Editor como un concepto para un conjunto de GameObjects aislados de otros GameObjects. Cuando estás en el modo Prefab, las migas de pan en la parte superior de la vista de escena representan cada una una etapa diferente. Cada etapa es como un "mundo" separado. Por defecto, tenemos el Main Stage, que es el escenario donde están todas tus escenas (las escenas que has cargado y puedes ver en la ventana Hierarchy). Al abrir un prefab en el modo Prefab, creamos un escenario de prefab para el contenido del prefab. No descargamos los GameObjects del escenario principal cuando se abre un escenario de prefabs, lo que significa que igualmente puedes verlos en la vista de Juego.

Scene View y Hierarchy siempre muestran el escenario actual, que corresponde a la miga de pan de la derecha. Para regresar al escenario principal con tus escenas, haz clic en el botón «Scenes» (Escenas) en la vista Scene Brumbs (Migas de pan) o en el botón Back (Flecha atrás) en Hierarchy (Jerarquía).

Para ver los nuevos flujos de trabajo en acción, consulta el siguiente video:

Para probar las nuevas funciones de Prefab, descarga la versión de vista previa de nuestra página Prefab. Consulta también nuestro foro dedicado para Prefabs mejorados para obtener más información, preguntas y comentarios.

Mantente atento a las próximas publicaciones del blog con información más detallada sobre otras partes de los flujos de trabajo mejorados de Prefabs.

Prefabs mejorados en Unite Berlín: Vive hoy

Si quieres ver los flujos de trabajo de prefabs mejorados en acción, te recomendamos ampliamente ver la transmisión en vivo desde Unite Berlín hoy mismo en YouTube o Twitch. A partir de las 17:00, hora de Berlín, puedes ver el flujo de trabajo mejorado con Ciro Continisio. Después de eso, Rune Skovbo Johansen y Steen Lund te ayudarán a entender mejor los pros y los contras de nuestras decisiones de implementación en su Profundidad técnica del nuevo sistema de prefabs (6 p. m.). Trabajaremos en la edición de las charlas más adelante y las subiremos a nuestro canal de YouTube dentro del mes posterior a la conferencia.