Notas de versión de Harmony Gaming SDK 2022

Exportación desde Harmony

Característica Descripción
Nuevas opciones de exportador

Para facilitar un mejor soporte dentro de los editores de juegos, la interfaz Export to Sprite Sheet (Exportar a carta de sprites) ha recibido algunas características adicionales para empaquetar más información en el archivo exportado.

Nuevas opciones

  • Pestaña de selección Palettes (Paletas): excluye las paletas que no quiere incluir en el archivo exportado; esto cubrirá todas las posibles variaciones de paletas que tendrán como resultado la visualización de diferentes colores en el personaje

  • Encode to TBG (Codificar en TBG): comprime los archivos XML al formato de archivo TBG personalizado para que se puedan importar a Unity con los Unity Custom Importers. Cuando los archivos se importen, se tratarán como cualquier recurso en Unity e incluirán sub-assets para texturas, sprites y animaciones. Así se mejora la ergonomía de la creación y el desplazamiento de los datos de los personajes, y la comprobación de los cambios en el control de origen.

  • Rendimiento mejorado con «Save and Export» (Guardar y exportar): el proceso de exportación tarda, por lo general, 1/3 del tiempo comparado con Harmony 21, tanto para las carpetas XML como para archivos .tbg

Grupos «bake_»

Actualmente, hay muchos nodos que no se pueden renderizar en el Game SDK. Como medio para incorporar el valor de dichos nodos a su exportación, existe una nueva función para agrupar dibujos y los nodos que les afectan en un nuevo grupo con el prefijo «bake_» (p. ej., bake_hips).

 

Cualquier grupo que lleve en su nombre el prefijo «bake_» se analizará en busca de fotogramas únicos de animación para efectos, movimientos y sustituciones de dibujo. Cuando se exporte a una carta de sprites, cada fotograma único de este grupo se exportará como un sprite. Si muchos fotogramas de la línea de tiempo no tienen nada cambiado dentro de ese grupo, todos se considerarán el mismo sprite exportado en la carta de sprites.

Importación de archivos TBG en Unity

Característica Descripción
Automatic Importing Process

Unity detectará automáticamente los cambios en los archivos TBG y los volverá a importar utilizando un importador personalizado. A continuación, el archivo se puede arrastrar a la escena como un prefab, tal y como se esperaría de un archivo FBX.

Se generarán texturas, sprites, animaciones y recursos TbgStore, y proporcionarán como sub-assets debajo del recurso prefab TBG principal. Estos recursos no se tendrán que gestionar por separado en el control de origen y solo existirán en la caché de la librería de Unity. Junto al personaje, se genera un recurso de AnimatorController y carta de sprites, ya que estos no pueden funcionar como sub-assets.

Importer Settings

El proceso de importación se puede modificar desde la configuración de la Inspector View.

Configuración de animaciones

  • Discretization Step (Paso de discretización): El número de columnas/filas en las que se dividirán los sprites si los huesos los están deformando.

  • Framerate (Fotogramas por segundo): El número de fotogramas por segundo a los que se ejecuta la animación.

  • Stepped (En pasos): Deshabilitar la interpolación entre fotogramas creados.

  • Create Animator Controller (Crear controlador de animador): Deshabilitar la interpolación entre fotogramas creados.

  • AnimatorController: Proporciona un espacio de trabajo para la transición de animaciones entre sí dadas ciertas condiciones. Se puede hacer referencia a él en comandos de juego para activar animaciones durante la partida.

  • Maintain Curves on Cloned Clips (Mantener curvas en clips clonados): Las curvas duplicadas de los sub-assets del clip dentro del archivo .tbg (mencionado en AnimatorController) se sustituirán por los nuevos datos del archivo .tbg actualizado.

Configuración del material

  • Shader: Se utiliza para renderizar todos los sprites del prefab

  • sRGB Texture (Textura SRGB): Mapear el espacio de color gamma de las texturas en el renderizado del espacio de color lineal.

  • Filter Mode: Cómo se interpolan los píxeles contiguos a la textura.

  • Mipmap Enabled (MipMap habilitado): Generar texturas de menor resolución para renderizar a distancias mayores.

  • Create Sprite Atlas (Crear atlas de sprites): Si no se hace referencia a ningún Sprite Atlas a continuación, se creará un nuevo recurso SpriteAtlas en el proyecto junto al archivo .tbg

  • SpriteAtlas (Atlas de sprites): Todos los sprites del archivo .tbg se pueden agregar a un SpriteAtlas; cuando se haya hecho, será capaz de combinar varios SpriteRenderers nuevos en un solo drawcall, mejorando el rendimiento del renderizado.

Renderización de archivos TBG en Unity

Característica Descripción
Jerarquía de prefab

La estructura del prefab generado en Unity debe coincidir con la estructura jerárquica configurada en la línea de tiempo de Harmony. La estructura de la vista de nodos de Harmony de las composiciones que entran en el nodo de salida se excluyen durante la exportación.

Se pueden adjuntar nuevos GameObjects a cualquiera de estas transformaciones pegs hijas. Esto permite adjuntar equipo de procedimiento.

Además, cualquier GameObject se puede habilitar o deshabilitar en tiempo de ejecución, por lo que las adiciones visuales opcionales en los personajes se pueden ocultar hasta que se necesiten. La jerarquía también se podría descomponer, reestructurar o duplicar por completo en tiempo de ejecución. Esto permite hacer explotar personajes o disparar ciertos dibujos como proyectiles.

Configuración del TBG Renderer La resolución, paletas, materiales, colores y máscaras se pueden editar desde el Inspector, así como los comandos personalizados del GameObject. El material y el color de los SpriteRenderers también pueden configurarse de forma individual por dibujo, por lo que puede cambiar los colores de los accesorios de un personaje o aplicar efectos especiales a algunos dibujos mediante shaders personalizados.
Integración del 2D Animation Package Los dibujos deformados por huesos de juego en Harmony se traducirán en huesos SpriteSkin en Unity utilizando el «2D Animation Package» de Unity. Este paquete ofrece soporte para la deformación de malla de varios hilos y de alto rendimiento para SpriteRenderers, así como controladores de interfaz de usuario para mover huesos en la Scene View. La cadena de huesos se puede animar mediante procedimientos utilizando el «IK Manager 2D» de Unity para fusionar efectos de apuntar, inclinarse, sacudirse, agitar, etc. después del paso de actualización de la animación.
Animaciones

Todos los datos de animación se exportan desde Harmony por peg, por lo que todas las rotaciones y escalas intermedias se representan en la ventana Animation (Animación) en Unity. Las animaciones se pueden modificar una vez que su recurso AnimationClip asociado se duplica desde un sub-asset de TBG a un nuevo recurso en el proyecto, lo que permite agregar eventos y curvas adicionales dentro de Unity.

Los AnimationClips se seleccionan a través de un AnimatorController, lo que proporciona un medio de transición entre animaciones, ya sea inmediatamente o con una fusión suave de transformaciones de peg.

Integración del gráfico del shader Como parte del SDK, se proporcionan gráficos de shaders compatibles que se pueden duplicar y modificar, para crear interfaz sencilla que permite introducir efectos visuales personalizados específicos del juego en sus personajes.

Mejoras en HarmonyRenderer (carpetas XML)

Característica Descripción
Vista previa de HarmonyProject Al seleccionar un personaje en la carpeta de recursos de Unity, aparecerá una vista previa del personaje en la Preview Window. La Preview Window reproduce una vista previa de las animaciones del personaje y tendrá la posibilidad de cambiar las máscaras sin necesidad de arrastrar el personaje a la Scene View.

Correcciones

En esta versión de Harmony Game SDK se han resuelto los siguientes problemas:

HarmonyRenderer

  • Anteriormente, las anclas perdían memoria al actualizar las transformaciones de ancla. Una actualización del plugin de C++ HarmonyRenderer resuelve este problema.

  • Los HarmonyRenderers han mejorado el rendimiento de renderizado. Ahora recibirá nuevas mallas del plugin de C++ HarmonyRenderer que se pueden pasar directamente al backend de C++ de Unity utilizando las nuevas funciones de generación de mallas de Unity. Así se reduce de forma considerable el tiempo de actualización de las animaciones en los personajes de HarmonyRenderer, lo que permite tener más personajes en pantalla a la vez.