Descubra cómo el sistema de activos direccionables puede simplificar la gestión de contenidos tanto en la edición como en el tiempo de ejecución para que los lanzamientos iniciales y actualizados de su juego sean más fluidos y sencillos. Este artículo se basa en una charla de Bill Ramsour, del equipo de Contenido en Vivo, pronunciada en Unite Copenhagen 2019.
El sistema de activos direccionables (es decir, Addressables) es un editor de Unity y un sistema de gestión de activos en tiempo de ejecución que mejora el soporte para grandes equipos de producción con necesidades complejas de entrega de contenido en vivo. El sistema utiliza carga asincrónica para admitir la carga desde cualquier ubicación con cualquier conjunto de dependencias. Al empaquetar paquetes de activos de manera más eficiente y reducir el tiempo de iteración, Addressables proporciona una forma sencilla de hacer que su juego sea más dinámico.
Addressables aborda los desafíos de los desarrolladores, como el tiempo de iteración, la gestión de dependencias, la gestión de la memoria y el empaquetado de contenidos.
Una vez que un activo (por ejemplo, una casa prefabricada) se marca como "direccionable", genera una dirección a la que se puede llamar desde cualquier lugar. Dondequiera que resida el activo (local o remoto), el sistema lo ubicará junto con sus dependencias y luego lo devolverá. Un activo es el contenido que utilizas para crear tu juego o aplicación. Ejemplos comunes de activos incluyen prefabricados, texturas, materiales, clips de audio y animaciones.
Addressables abstrae paquetes de activos para hacer que la gestión de contenido sea más eficiente, al tiempo que contiene el activo y todos sus datos subyacentes.
En el flujo de trabajo de Direcciones, la solicitud pasa primero por el sistema de Catálogo. El sistema decodifica la dirección en una ubicación, que consta de los datos generados durante la construcción sobre qué es el activo, sus dependencias, si es local o remoto, etc.
Desde el Catálogo, la solicitud pasa por el sistema del Proveedor. Uno o más proveedores utilizan esas ubicaciones para encontrar el contenido y luego devolverlo al dispositivo.
En Addressables, el tiempo de ejecución es asíncrono. Esto te brinda la flexibilidad de recuperar un activo cuando lo necesitas, sin importar dónde esté (su ubicación puede cambiar dependiendo de la etapa de desarrollo en la que te encuentres) sin tener que cambiar el código del juego.
Cuando marca algo como direccionable, pasa a formar parte de un grupo de direccionables, que es un contenedor para los activos direccionables y sus datos. Puede visualizar los grupos en la ventana Grupos, que es la base de operaciones de los Direccionables. Los grupos pueden determinar si ese activo será local en un dispositivo o en un servidor.
Los datos de los grupos direccionables se guardan en esquemas, que son contratos de datos. Uno de los esquemas se centra en cómo se integrarán sus activos y contenido en paquetes. Build Path y Load Path se encuentran entre las configuraciones más útiles, que le permiten configurar su contenido para que sea local o remoto seleccionando una variable de los menús desplegables.
En el sistema Perfil de direcciones, usted crea un perfil para un grupo de direcciones y luego define para un perfil determinado cómo desea que se evalúen las variables. Esto le permite configurar los datos de su grupo y realizar cambios en ellos de forma remota sin tener que recodificar ninguna parte de ese grupo.
Para aprovechar al máximo Addressables, es útil visualizar tus datos en términos de cómo deseas enviar tu juego. No es necesario que se comprometa con una estructura, porque es fácil cambiar las variables de perfil durante el desarrollo, pero debe tener un enfoque general para organizar sus paquetes.
Por ejemplo, si desea enviar su juego con contenido remoto pero desea que ese contenido sea local durante el desarrollo, puede crear un perfil donde las rutas remotas apunten a los recursos de transmisión. De esta manera, puedes cambiar globalmente todo tu contenido remoto para convertirlo en local sin tocar el código del grupo.
A veces es necesario alojar contenido en un servidor. Puede configurar una ruta remota y, en lugar de apuntar a la URL real, utilizar las variables definidas por su servicio de alojamiento.
Cuando habilita el alojamiento, el servicio de alojamiento configura un host HTTP dentro del Editor. Puede conectar su dispositivo o reproductor a este host para poder probar las cosas.
Una característica poderosa del alojamiento Editor es que puede configurar todo para que sea remoto. Esto es especialmente útil para artistas y desarrolladores de contenido, porque pueden crear un reproductor e implementarlo en su dispositivo mientras continúa iterando su contenido. No tiene que volver a implementar su reproductor ni preocuparse por mover contenido de un dispositivo a otro. Consulte nuestra documentación para obtener más información sobre cómo crear y configurar servicios de hosting con direcciones.
Con muchos de los desafíos técnicos clave de soporte de contenido dinámico resueltos por Addressables, el problema de la “última milla” aún persiste: el alojamiento y la entrega de activos para aplicaciones y juegos de producción en vivo. A finales de este año, lanzaremos una solución de alojamiento de contenido global lista para empresas, totalmente integrada en el sistema Addressables. Si desea obtener más información sobre este servicio, regístrese aquí.
El equipo de contenido en vivo ha estado trabajando en flujos de trabajo para acelerar las cosas, incluidas algunas formas rápidas de cargar recursos.
¿Cómo se pueden cargar activos en Addressables?
Por dirección: Los codificadores a menudo cargan direccionables por cadena, utilizando el identificador de ubicación del activo para una fácil recuperación en tiempo de ejecución.
Por etiqueta: Proporciona un identificador de activo direccionable adicional para la carga en tiempo de ejecución de elementos similares.
Por referencia de activos: AssetReference funciona como una referencia directa, pero con inicialización diferida. El objeto AssetReference almacena el GUID como un direccionable que puede cargar a pedido. Los artistas que trabajan en el Editor pueden preferir este flujo de trabajo.
Si el activo al que hace referencia tiene subobjetos (como sprites dentro de un SpriteAtlas), puede hacer más referencia al subobjeto.
Si desea ver los direccionables y el proceso de carga de sprites en acción, consulte la parte de demostración de Sprite de la sesión.
El paquete Addressables tiene tres scripts de compilación que crean datos del modo de reproducción para ayudarlo a acelerar el desarrollo de aplicaciones. Los scripts son Usar base de datos de activos, Simular gruposy Usar compilación existente.
El script Usar base de datos de activos . Esto te permite entrar y salir del modo de reproducción mientras repites el contenido; Puedes ejecutar el juego rápidamente a medida que avanzas en el flujo del juego. Carga activos directamente a través de la base de datos de activos para una iteración rápida sin análisis ni creación de paquetes de activos.
Simulate Groups analiza el contenido en busca de diseño y dependencias sin crear paquetes de activos. Para ver cuándo se cargan o descargan los paquetes durante el juego, vea el uso de activos en la ventana Visor de eventos de direcciones (Ventana > Administración de activos > Direcciones > Visor de eventos). Este modo le ayuda a simular estrategias de carga y modificar sus grupos de contenido para encontrar el equilibrio adecuado para un lanzamiento de producción.
El script Usar compilación existente es como una compilación de aplicación implementada, pero requiere que usted cree los datos como un paso separado. Si no estás modificando recursos, este modo es el más rápido ya que no procesa ningún dato al ingresar al modo Reproducir.
Si desea utilizar Addressables en su proyecto, consulte la documentación del Addressable Asset System para saber cómo comenzar. Lea nuestra publicación de blog, consulte los ejemplos de GitHubo únase a las discusiones en los foros.
Lanzada en septiembre de 2020, Cloud Content Delivery (CCD) es nuestra propia solución de alojamiento de contenido global, lista para la empresa, totalmente integrada en el sistema Addressables. Con CCD, puede crear y publicar actualizaciones de juegos sin esfuerzo con una poderosa administración de activos y entrega de contenido a través de la nube, una funcionalidad esencial para el funcionamiento de aplicaciones y juegos en vivo. Obtenga más información y regístrese aquí.