Toon Boom
Harmony24
JuegosTOON BOOM ANIMATION INC.

+1 514 278 8666

55 Mont-Royal Avenue West, Suite 1000
Montreal, Quebec, Canada
H2T 2S6

contact@toonboom.com
toonboom.com

Variable de título del libro

Avisos legales
Toon Boom Animation Inc.
55 avenue du Mont-Royal Ouest
Montréal Québec, Canada
H2T 2S6
Tel.: +1 514 278 8666
Fax: +1 514 278 2666
toonboom.com

Exención de responsabilidad
El contenido de este documento es propiedad de Toon Boom Animation Inc. y cuenta con derechos depropiedad intelectual. Cualquier reproducción total o parcial está completamente prohibida.
El contenido de este documento está cubierto por una garantía limitada específica y por exclusiones ylimitación de responsabilidad según el Contrato de licencia aplicable completado por los términos y

condiciones especiales para el formato de archivo de Adobe®Flash® (SWF). Para obtener más información,
consulte el Contrato de licencia, así como dichos términos y condiciones especiales.
Algunos iconos en este documento se han proporcionado con la versión Font Awesome Free 5.6.1 generada
por Font Awesome. Estos iconos se proporcionan bajo la licencia CC BY 4.0. Para obtener más información
sobre Font Awesome, visite https://fontawesome.com. Para obtener información sobre la licencia de Font
Awesome Free, visite https://fontawesome.com/license/free.
Algunos iconos en este documento se han proporcionado con la fuente Glyphicons Halflings generada por
Glyphicons. Para obtener más información sobre Glyphicons, visite https://www.glyphicons.com/.

Marcas comerciales
Toon Boom® es una marca comercial registrada. Harmony™ y el logotipo de Toon Boom son marcas
comerciales de Toon Boom Animation Inc. Todas las otras marcas comerciales son propiedad de sus
respectivos dueños.

Fecha de publicación
31/05/2024
Copyright © 2024 Toon Boom Animation Inc., una empresa de Corus Entertainment Inc. Reservados todos losderechos.

2

Tabla de contenido

Tabla de contenido
Tabla de contenido

3

Acerca de los juegos

5

Notas de versión de Harmony Gaming SDK 2022

6

Capítulo 2: exportación Harmony de datos de para juegos

11

Capítulo 3: Acerca de la creación de recursos de juego

14

Directrices de rigging de juego

15

Directrices de deformación de juego

18

Acerca de las deformaciones de huesos de juego

20

Directrices de la cuchilla de juego

21

Creación de notas de metadatos

22

Consejos de animación de juegos

25

Animación de varias secuencias

26

Acerca de la cámara ortográfica

28

Capítulo 4: Acerca de la exportación a Unity

29

Configuración de anclas

30

Exportación de cartas de sprites

31

Resoluciones de sprites

33

Uso de Bake_Groups

35

Exportación a Easel JS

37

Variaciones de paletas

39

Capítulo 5: Acerca del Harmony Unity SDK

42Generador de vista previa de Harmony

46

Manipulación de recursos

48

Acerca del proyecto de ejemplo de Unity

55

Acerca de la interfaz de Unity

56

Importación de archivos de Harmony en Unity

58

Flujo de trabajo de archivo de archivo TBG en Unity

60

Flujo de trabajo de carpeta XML en Unity

67

Adición de un Harmony Renderer a objetos de juego vacíos
371Variable de título del libro

Configuración de colisiones en Unity

73

Glosario de juego

74Índice944Acerca de los juegos

Acerca de los juegos
Harmony permite exportar animaciones creadas en Harmony a motores de juego externos. Esto le permite
diseñar personajes con movimientos sencillos que pueden utilizarse en un motor de juego.
Unity es un ejemplo de motor de juego que puede incorporar los datos de Harmony. Toon Boom tiene un SDK
de Harmony que puede descargar de la tienda de recursos de Unity para tener control sobre el personaje una
vez se haya importado a Unity.
Esta guía le mostrará cómo exportar animaciones desde Harmony. Además, también se detallará Harmony
Game SDK para la integración de Harmony con Unity.

5

Variable de título del libro

Notas de versión de Harmony Gaming SDK 2022
Exportación desde Harmony
Característica

Descripción

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

Nuevas opciones de exportador

Nuevas opcionesll6

Pestaña de selección Palettes (Paletas): excluye laspaletas 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 losarchivos XML al formato de archivo TBG
personalizado para que se puedan importar a Unity
con los Unity Custom Importers. Cuando losarchivos se importen, se tratarán como cualquierrecurso en Unity e incluirán sub-assets para

Notas de versión de Harmony Gaming SDK 2022

Característica

Descripción

texturas, sprites y animaciones. Así se mejora laergonomía de la creación y el desplazamiento de losdatos de los personajes, y la comprobación de loscambios en el control de origen.
l

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 comopara archivos .tbg

Actualmente, hay muchos nodos que no se pueden
renderizar en el Game SDK. Como medio para incorporar elvalor 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).

Grupos «bake_»

Cualquier grupo que lleve en su nombre el prefijo «bake_»se analizará en busca de fotogramas únicos de animaciónpara 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

Automatic
Importing Process

Descripción

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 laescena 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

7Variable de título del libro

Característica

Descripción

gestionar por separado en el control de origen y solo existirán en la caché de la librería deUnity. Junto al personaje, se genera un recurso de AnimatorController y carta de sprites, ya
que estos no pueden funcionar como sub-assets.
El proceso de importación se puede modificar desde la configuración de la Inspector View.
Configuración de animaciones
l

l

l

l

l

l

Importer Settings

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 losque se ejecuta la animación.
Stepped (En pasos): Deshabilitar la interpolación entre fotogramas creados.
Create Animator Controller (Crear controlador de animador): Deshabilitar lainterpolación entre fotogramas creados.
AnimatorController: Proporciona un espacio de trabajo para la transición deanimaciones entre sí dadas ciertas condiciones. Se puede hacer referencia a él encomandos 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
l

l

l

l

l

l

Shader: Se utiliza para renderizar todos los sprites del prefabsRGB 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 pararenderizar 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 alarchivo .tbg
SpriteAtlas (Atlas de sprites): Todos los sprites del archivo .tbg se pueden agregar aun SpriteAtlas; cuando se haya hecho, será capaz de combinar varios
SpriteRenderers nuevos en un solo drawcall, mejorando el rendimiento delrenderizado.

8

Notas de versión de Harmony Gaming SDK 2022

Renderización de archivos TBG en Unity
Característica

Descripción

La estructura del prefab generado en Unity debe coincidir
con la estructura jerárquica configurada en la línea detiempo de Harmony. La estructura de la vista de nodos deHarmony de las composiciones que entran en el nodo desalida se excluyen durante la exportación.
Se pueden adjuntar nuevos GameObjects a cualquiera deJerarquía de prefab

estas transformaciones pegs hijas. Esto permite adjuntar
equipo de procedimiento.
Además, cualquier GameObject se puede habilitar odeshabilitar en tiempo de ejecución, por lo que lasadiciones 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.
La resolución, paletas, materiales, colores y máscaras sepueden editar desde el Inspector, así como los comandos
personalizados del GameObject. El material y el color deConfiguración del TBG Renderer

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 dealto rendimiento para SpriteRenderers, así como
controladores de interfaz de usuario para mover huesos enla 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 dela animación.

Animaciones

Todos los datos de animación se exportan desde Harmony
por peg, por lo que todas las rotaciones y escalasintermedias se representan en la ventana Animation

9

Variable de título del libro

Característica

Descripción(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 elproyecto, 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 detransició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 shaderscompatibles que se pueden duplicar y modificar, para crearinterfaz 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 deUnity, aparecerá una vista previa del personaje en laPreview Window. La Preview Window reproduce una vista
previa de las animaciones del personaje y tendrá laposibilidad de cambiar las máscaras sin necesidad dearrastrar el personaje a la Scene View.

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

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

l

Los HarmonyRenderers han mejorado el rendimiento de renderizado. Ahora recibirá nuevas mallas delplugin 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.

10Capítulo 2: exportación Harmony de datos de para juegos

Capítulo 2: exportación Harmony de datos de para juegos
Hay dos pipelines principales para exportar datos desde Harmony al motor de juego:lexportación Harmony de datos de para juegos en la página 11lexportación Harmony de datos de para juegos en la página 11

Creando una animación en Harmony
Hay que tener en cuenta algunas cosas antes de empezar a crear rigs de personajes y animación para juegos.
Artistas y programadores deben colaborar para asegurarse de que se cumplan sus necesidades.
l¿Para qué plataformas se creará su juego? Windows, Mac, Móvil, iOS, PS, XBOX, etc.

l¿Qué motor de juego utilizará?

l¿Qué estilo de animación se utilizará para crear el aspecto del juego? Dibujo a mano, cut-out, con
texturas, etc.

Estas son solo algunas de las preguntas que debemos plantearnos antes de empezar. Todas influyen en laforma de diseñar, crear y animar los personajes.
Por ejemplo, si tiene previsto crear un juego móvil para smartphone, lo más probable es que quiera que ocupe
menos de 50 MB para que se pueda descargar sin tener que estar conectado a una red Wi-Fi. En ese caso, lo
más importante es crear personajes eficientes con cartas de sprites muy ajustadas y reutilizar gran parte de laanimación para que el tamaño de los archivos sea reducido. Durante el proceso, necesitará:lCrear rigs y animar personajes en Harmony.

lExtraer los datos de Harmony.

lImportar los datos de Harmony en el motor de juego.

Tenga en cuenta que, si trabaja con un motor personalizado, también puede procesar los datos de Harmony
exportados y utilizarlos en un motor de juego personalizado. Si necesita ayuda para adaptar los datos a su
motor, póngase en contacto con store.toonboom.com/contact/support.
Si está creando un juego para consolas como PS o Xbox, tiene libertad para crear texturas más grandes. Puede
animar fotograma a fotograma, con un personaje cut-out, o de ambas formas.

11Variable de título del libro

Si simplemente va a exportar en una secuencia fotograma a fotograma, puede utilizar todas las herramientas
de Harmony sin limitaciones. A continuación, puede procesar una secuencia de imágenes exportada a una
carta de sprites.

Exportación de datos de juego en bruto (Export to Sprite Sheet (Exportar a
carta de sprites))

La exportación de datos de juego en bruto es adecuada cuando se desea que el tamaño de los archivos sea lo
más pequeño posible. Toon Boom le permite convertir datos directamente desde la escena de Harmony para
incorporarlos a un motor de juego. Puede extraer la información de esqueleto, información de dibujo, datos deanimación de fotogramas clave, así como deformaciones (solo huesos y articulaciones), cuchilla, nodos detransparencia y columnas de tiempo.
lVentaja: esta es la exportación más ligera, y mantendrá un tamaño pequeño para los archivos, lo que es
ideal para aplicaciones móviles.

lDesventaja: las herramientas que puede utilizar en Harmony son algo limitadas. Puede utilizar
herramientas como el morphing, así como los deformadores de curvas o de distorsión de envolvente,
pero tendrá que desensamblarlos en dibujos para que se interpreten correctamente en el motor dejuego. Puede utilizar efectos de cuchilla (enmascaramiento), pero no puede ponerlos en cascada, es
decir, no puede tener más de uno en una cadena de jerarquía. Los deformadores de hueso de juego sepueden usar en su rig sin tener que ensamblarlos en dibujos.

Sin embargo, incluso con estas limitaciones, puede crear animaciones muy buenas de personajes cut-out en
Harmony y extraer todos los datos compatibles. Al mover, rotar, escalar y sesgar las distintas capas de dibujo,
puede crear animaciones con aspecto avanzado.
Cuando extraiga los datos, tendrá cartas de sprites que contendrán solo los dibujos de las partes del cuerpo
utilizadas en su archivo de escena de Harmony. También puede admitir varias animaciones, como reposo,carrera y salto, reutilizando el mismo esqueleto y los mismos dibujos.
Toon Boom ha integrado plenamente esta solución con el motor de renderizado para desarrollo de juegos deUnity. Si está creando el juego en Unity, tiene un pipeline perfecto sin necesidad de volver a tratar los datos en
el motor de juego.

12Capítulo 2: exportación Harmony de datos de para juegos

Exportación fotograma a fotograma (Export to Easel JS (Exportar a Easel
JS))

Puede exportar desde Harmony utilizando una secuencia de imágenes, que puede volverse a compilar en una
carta de sprites.
Ventaja: al animar, puede utilizar cualquier herramienta de Harmony.
Desventaja: estas cartas de sprites pueden llegar a ser muy pesadas y terminar como texturas grandes que
hay que procesar en el juego. Esto puede estar bien para muchos juegos, como los de consola, pero cuando sedesarrollan juegos para dispositivos móviles, como iOS o Android, el espacio de texturas debe ser muy ligero.
Además, el tamaño de los archivos debe ser inferior a 50 MB para facilitar la descarga sin necesidad de estar
conectado a una red Wi-Fi.
Hay un comando disponible en Harmony que permite exportar la animación fotograma a fotograma al motorde juego EaselJS. EaselJS es un motor de juego javascript compatible con web. Utiliza una estructura de datos
json para asignar cada fotograma a una entrada de la carta de sprites. La estructura de datos es fácil deentender y, si es necesario, se puede adaptar o convertir a un motor de juego diferente.
Para exportar a EaselJS, debe agregar el comando en la barra de herramientas Scripting (Comandos) (TB_
ExportToEaselJS). Este comando está incluido en Harmony. Consulte la guía de comandos para obtener más
información sobre cómo agregar el comando a la barra de herramientas Scripting (Comandos) y sobre losparámetros de la interfaz.

13

Variable de título del libro

Capítulo 3: Acerca de la creación de recursos de juego
En esta sección, encontrará directrices para el rigging, la deformación, la cuchilla y muchos consejos deanimación útiles.

14Capítulo 3: Acerca de la creación de recursos de juego

Directrices de rigging de juego
A continuación, se ofrece una lista de directrices generales que debe tener en cuenta a la hora de crear un rig
en el personaje. Cuando planifique el rig del personaje para el juego, tenga en cuenta el estilo del personaje ycree su paleta de colores personalizada. Sin embargo, debe tener en cuenta algunas limitaciones si piensa
extraer los datos del juego:lConfigure la escena de Harmony para que tenga una resolución cuadrada (p. ej., 1024 x 1024). Puede
hacerlo en el cuadro de diálogo Scene Settings (Configuración de escena); consulte la guía de referencia.

lDibuje solo en las capas de línea y de color. La información contenida en las capas de superposición yde subcapa no se exportará a Unity. Sin embargo, se puede utilizar como capa de referencia, pero no
con algo que se vaya a exportar.

l

Empuje las capas al espacio Z si necesita reordenarlas. Sin embargo, no se admiten desplazamientos deZ significativos dentro de un rig de personaje.

lHaga que cada capa de su motor de juego sea una escena independiente en Harmony. Si tienes dos
personajes a distinta profundidad, póngalos en archivos de escena separados.

l

Los rigs de personajes en grupos en el nivel raíz de la escena de Harmony se renderizarán en un solo
plano en Unity, pero utilizarán cartas de sprites y conjuntos de datos de animación separados. Téngalo
en cuenta para las escenas en las que puede haber más de un personaje interactuando entre sí.

l

No utilice el espacio 3D. Si desea configurar las cosas en el espacio 3D, puede hacerlo cuando llegue almotor de juego.

lEstablezca los puntos de pivote en las capas de peg utilizando la herramienta Rotate (Rotar) paraestablecer el pivote en toda la capa. Se recomienda usar pivotes de peg sobre pivotes de dibujo.
También debe establecer los puntos de pivote en las capas de dibujo, incluso si no anima en ellas, ya
que le permitirá recuperar la información más adelante en el motor de juego si necesita poner un ancla
en una capa de dibujo.

l

No utilice morphing. Aún no se admite en los motores de juego.

lTanto el morphing como las deformaciones se pueden usar y luego desensamblarlos en dibujos
individuales. Estos dibujos aparecerán como dibujos nuevos en la carta de sprites. No lo haga con
demasiada frecuencia, ya que aumentará el espacio de la textura.

lPreste atención a dónde coloca el personaje antes de exportarlo. El pivote maestro de su objeto dejuego exportado será el centro de su escena en Harmony (0,0).

lAsegúrese de tener una pantalla al final de la jerarquía.

l

Al hacer rigging, tenga en cuenta que el exportador no admite algunos nodos. Como resultado, losmotores de juego no interpretarían bien las estructuras de nodos. Por lo tanto, se recomienda evitar eluso de estructuras de nodos complejas. Para hacerlo:

15

Variable de título del librolConstruya su personaje con dibujos adjuntos a pegs. Los pegs pueden conectarse a otros pegs
para formar jerarquías.

lDebe tener todos los pegs conectados a un único peg maestro en la parte superior de la vista de
nodos

l

Por lo general, los dibujos deben conectarse a las composiciones para determinar el orden de losdibujos que aparecen en pantallal

Si los dibujos deben cambiar de orden durante la animación, puede modificar la profundidad de z
para cambiar qué dibujo se muestra primerol

Si no consigue que sus animaciones funcionen bien solo con dibujos y pegs, hay otros nodos que
puede utilizar que se pueden exportar:l

Cuchillas: por lo general, solo cortan un dibujo contra otro dibujo (p. ej., cortar una cara
hasta los límites de una cabeza). No es posible conectar en cadena la salida de una
cuchilla con la entrada de otra.

lDeformaciones de hueso de juego: por lo general, solo deforman un dibujo. El esqueletoóseo puede ramificarse. Las salidas cinemáticas se pueden usar al adjuntar dibujos a losextremos de los huesos (p. ej., pie en el extremo de una pierna)
NOTA
Aún puede utilizar estructuras de nodos más complicadas dentro de «bake_groups».
Consulte Uso de grupos de ensamblaje.

Si tiene en cuenta estos consejos, podrá crear un personaje de juego 2D ajustado y eficiente en Harmony, ysacar partido de todas las herramientas.
Estas son algunas de las cosas que debe hacer:lCrear una jerarquía simple de relaciones padre-hijo en la vista de línea de tiempo.

lUtilizar capas de pegs para contener datos de animación de fotogramas clave, configuradas en posición
separada.

l

Utilizar capas de dibujo para dibujar sobre ellas y crear dibujos nuevos cuando sea necesario.

lUtilizar la herramienta Rotate (Rotar) para configurar los puntos de pivote en las capas de pegs.

lNombrar las capas de forma adecuada para que, si necesita recuperar el punto de pivote de una capa
específica más adelante en el motor de juego, puede reconocer fácilmente la capa que necesite. Si tiene
un grupo A de nivel superior que tiene un grupo hijo dentro de él (grupo B) y la capa de dibujo es hijadel grupo B, entonces la capa de dibujo se exporta como A_B_DrawingLayer.

lEstablezca las anclas donde quiera que se muestren los pegs en Unity como transformaciones.

16

Capítulo 3: Acerca de la creación de recursos de juego

Puede utilizar cualquier herramienta de dibujo que desee: herramientas Pencil (Lápiz) y Brush (Pincel), líneas
con textura, áreas sólidas y gradientes. Cada dibujo individual se renderizará y ensamblará más tarde en una
carta de sprites.
NOTA
Dado que el motor de juego de Unity no admite caracteres Unicode, se recomienda evitar su uso en
escenas concebidas para juegos.

17Variable de título del libro

Directrices de deformación de juego
Harmony puede exportar las deformaciones al formato XML del motor de juego. Solo las jerarquías formadas
por huesos de juego pueden exportarse de forma correcta. Además, se han implementado salidas cinemáticas
para complementar los huesos de juego.
Las deformaciones en Harmony incluyen un amplio conjunto de funciones. Sin embargo, algunas de estas
funciones no son compatibles con el SDK del motor de juego y no deben utilizarse para jugar. Por lo tanto, losdeformadores de hueso de juego no admiten las siguientes características estándar del deformador de hueso:lZonas de influencialDeformaciones de curva o envolventelTener más de una pose única en la jerarquía de deformaciónlAnimación de los pegs de dibujo bajo los grupos de deformación

La deformación en el SDK del motor de juego no se comporta exactamente como la deformación de hueso en
Harmony.
Para cumplir con la mayoría de los motores de juego y mantener cálculos rápidos, el SDK implementa unalgoritmo de máscara de base lineal para fusionar los huesos en las articulaciones. Es posible que notealgunas diferencias en función de la curvatura de las articulaciones utilizadas. Dicho esto, en comparación conlas deformaciones se hueso normales, los GameBones se asemejan más en Harmony a lo que se verá una vez
que se importe a Unity.
NOTA* No disponible actualmente en la implementación Cocos2d-x del SDK del motor de juego.

18

Capítulo 3: Acerca de la creación de recursos de juego

19Variable de título del libro

Acerca de las deformaciones de huesos de juego
T-RIG-007-003
La deformación de hueso para juego es parecida a la deformación de hueso. Permite crear una estructura
similar al hueso en la que cada parte es sólida, pero las articulaciones son flexibles. Esto es sobre todo útilpara la animación de los miembros de un personaje, como los brazos o las piernas, u otras partes que sepuedan articular, como torsos o dedos. Por ejemplo, se puede utilizar una deformación de hueso de juego paraarticular un brazo que está hecho de un solo dibujo, de modo que el brazo y el antebrazo se puedan mover deforma independiente, sin necesidad de dibujar la parte superior del brazo y el antebrazo en capas diferentes.
Harmony deformará el dibujo para que parezca que está articulado. Las distintas partes de una deformaciónde hueso de juego se pueden rotar alrededor de su articulación, extenderse y acortarse, proporcionándole lasmismas capacidades que las articulaciones de animación en distintas capas, sin tener que preocuparse por la
separación de piezas, puntos de pivote o recorte de contornos.
La deformación de hueso de juego es diferente de la deformación de hueso en la que se optimiza para motoresde juego como Unity. Por lo tanto, generalmente se usa para desarrollo de juegos y no en producciones
animadas. Las diferencias entre las deformaciones de hueso y las de hueso de juego sones que las
deformaciones de hueso de juego no tienen una propiedad de sesgo propiedades de sesgo ni de región deinfluencia. Los pliegues de la articulación también parecen ligeramente más redondos.

20

Directrices de la cuchilla de juego
La operación de cuchilla, o máscara, en Harmony se utiliza para recortar dibujos con formas personalizadas. El
SDK del motor de juego implementa cuchillas y cuchillas invertidas con las siguientes limitaciones:l

Para un sprite, solo se puede aplicar un único dibujo de una cuchilla cuando se renderiza. Esto también
se aplica a una composición de varios dibujos de mate. El SDK del motor de juego solo utilizará elprimer dibujo de mate durante el renderizado y descartará los demás.

l

Un dibujo deformado no se puede cortar, pero un dibujo cortado sí se puede deformar.
NOTA
No disponible actualmente en la implementación Cocos2d-x del SDK del motor de juego.

21

Variable de título del libro

Creación de notas de metadatos
A medida que cree recursos para el juego en Harmony, es posible que quiera tomar notas sobre la escena osobre partes específicas del personaje o props para el programador. Estas notas incrustadas que seexportarán con sus recursos a Unity se conocen como metadatos.

Cómo acceder a la vista de editor de metadatosl

En la esquina superior derecha de una vista, haga clic en el botón Add View (Agregar vista)yseleccione Metadata Editor (Editor de metadatos).
l

En el menú superior, seleccione Windows > Metadata Editor (Ventanas > Editor de metadatos).

Cómo crear metadatos de escena
1. En la vista de editor de metadatos, en la sección Scene Metadata (Metadatos de escena), haga clic
en el botón máspara crear una nueva entrada de metadatos.

Aparecerá el cuadro de diálogo Add Metadata (Agregar metadatos).
2. En el cuadro de diálogo Add Metadata (Agregar metadatos), introduzca el nombre de la nueva
entrada de escena.

NOTA
Para cualquier información de ancla o prop creada en el editor de metadatos, laconvención de nomenclatura debe utilizar siempre el prefijo «game.». Unity reconoce
automáticamente el término «game.» como información de metadatos. Por ejemplo:
game.Armor001.
3. Haga clic en Add and Close (Agregar y cerrar) si solo desea agregar una entrada. Haga clic en
Add (Agregar) si desea agregar varias entradas. Continúe agregando varias entradas, haciendo clicen Add (Agregar) después de cada una. Haga clic en Close (Cerrar) cuando haya terminado.
4. En la vista de editor de metadatos, haga doble clic en el campo de valor de la primera capa paraque se pueda editar.
5. Introduzca la información de valor para esta entrada.

226. Continúe agregando información de valor para todas las entradas.
Esta información se exportará con los recursos de Harmony. Una vez en Unity, los metadatos deescena aparecerán en Inspector View > Metadata (Vista del Inspector > Metadatos) cuando elrecurso se seleccione en la vista de jerarquía.

Cómo crear metadatos del nodo
1. En la vista de línea de tiempo, haga clic en la capa a la que desea adjuntar metadatos.
El nombre de la capa aparece cerca de la parte superior de la sección de metadatos del nodo.

2. En la sección Node Metadata (Metadatos del nodo), haga clic en el botón máspara crear una

nueva entrada de metadatos.
Aparecerá el cuadro de diálogo Add Metadata (Agregar metadatos).
3. En el cuadro de diálogo Add Metadata (Agregar metadatos), introduzca el nombre de la nueva
entrada de nodo.

NOTA
Para cualquier información de ancla o prop creada en el editor de metadatos, laconvención de nomenclatura debe utilizar siempre el prefijo «game.». Unity reconoce
automáticamente el término «game.» como información de metadatos. Por ejemplo:
game.Armor001.
4. Haga clic en Add and Close (Agregar y cerrar) si solo desea agregar una entrada. Haga clic en
Add (Agregar) si desea agregar varias entradas. Continúe agregando varias entradas, haciendo clicen Add (Agregar) después de cada una. Haga clic en Close (Cerrar) cuando haya terminado.

23

Variable de título del libro

5. En la vista de editor de metadatos, haga doble clic en el campo de valor de la primera capa paraque se pueda editar.
6. Introduzca la información de valor para esta entrada.
7. Continúe agregando información de valor para todas las entradas.
Esta información se exportará con los recursos de Harmony; en concreto, esta información estará
vinculada a la capa seleccionada. Una vez en Unity, los metadatos de escena aparecerán en
Inspector View > Metadata (Vista del Inspector > Metadatos) cuando el recurso se seleccione en lavista de jerarquía.

24Consejos de animación de juegos
Al animar para juegos, dependiendo del tipo de juego que esté creando, puede que necesite limitar su
animación. Por ejemplo, si crea juegos para móviles y quiere que el tamaño de los archivos sea pequeño y lareproducción rápida en todos los dispositivos, limítese a una animación de fotogramas clave sencilla con elmenor número posible de cambios de dibujo. Si crea juegos para consola, tiene libertad para crear más dibujos
con mayor complejidad. Puede estudiar con los desarrolladores las limitaciones de las plataformas a las que
exporta y lo que admite su motor de juego.
Aquí puede encontrar algunos consejos para una animación eficiente y ligera:lUtilice principalmente transformaciones, como mover, rotar, escalar y sesgar.

lCree cambios de dibujos adicionales cuando sea necesario.

l

Si utiliza deformadores de curva y de distorsión de envolvente o morphing, tendrá que desensamblar
los dibujos para exportarlos. Tenga cuidado al hacerlo, ya que es posible que desee mantener unnúmero de dibujos reducido. No desensamble una secuencia entera, sino solo dibujos seleccionados. No
necesita ensamblar los deformadores de hueso de juegolCuanto más grandes sean los dibujos en la vista de dibujo, más píxeles ocuparán en el tamaño detextura en la carta de sprites. Cuando configure su rig, asegúrese de no escalar capas individuales
utilizando un fotograma clave con la herramienta Transform (Transformar). Si desea ampliar o reducir,
utilice la herramienta Select (Seleccionar) De este modo, las cosas mantendrán el mismo tamaño
relativo en la carta de sprites. Cuando exporte las cartas de sprites, también puede establecer laresolución de la carta de sprites en el comando para que los dibujos puedan reducirse para dispositivos
más pequeños.

lSolo se exportarán a la carta de sprites los dibujos que estén expuestos en la escena. Por ejemplo, sitiene 10 dibujos en la vista de librería, pero solo aparecen en escena dos de ellos, tan solo se
exportarán esos dos. Así se mantiene la carta de sprites lo más ajustada posible.

25

Variable de título del libro

Animación de varias secuencias
Lo más probable es que tenga varias animaciones para sus personajes. Por ejemplo, una secuencia de reposo,
una secuencia de carrera, una secuencia de acción, etc. Necesita trabajar en una estructura específica para
poder exportar todas estas animaciones a una única carta de sprites.
Hay dos flujos de trabajo diferentes que puede usar:l

Flujo de trabajo 1: escenas separadaslFlujo de trabajo 2: separación mediante marcadores de escena

Flujo de trabajo 1: escenas separadas
En primer lugar, cree una archivo de escena con el nombre del personaje, como Space Duck. Este es elarchivo en el que puede crear o importar su rig de juego. En el menú superior, seleccione File > Save as New
Version (Archivo > Guardar como nueva versión), y póngale a esta nueva versión el nombre de la animación.
Por ejemplo, Idle.
Cada vez que necesite hacer una nueva animación utilizando el mismo personaje, elija Save As New Version(Guardar como nueva versión). Al finalizar, tendrá algo como esto:
Escena: Space Duck
Versiones:l

ReposolCorrerl

Saltarl

Disparar

Cuando ejecute el comando de exportación, exportará los dibujos de la escena actual a la carpeta deexportación. También le indicará si hay otras versiones de escenas que ya se hayan exportado a esa carpeta.
Si es así, la carta de sprites se volverá a compilar para incluir todos los dibujos de todas las animaciones. Esto
permite que se reutilicen los dibujos el máximo posible.

Flujo de trabajo 2: separación mediante marcadores de escena
También puede crear todas las animaciones de sus personajes en una única escena, una tras otra, como
reposo, correr, saltar y disparar. Luego, utilice los marcadores de escena para marcar y separar las
animaciones individuales.
Cuando marque los rangos de fotogramas de animación individuales, asegúrese de que empiecen y terminen
con un fotograma clave. No cree marcadores de escena para un rango de fotogramas que comience o termine
en mitad de un movimiento interpolado.

26

Cuando exporte su carta de sprites, en el cuadro de diálogo Export To Sprite Sheet (Exportar a carta de
sprites), asegúrese de marcar la opción Use Scene Markers to Export Clips (Utilizar marcadores de escenapara exportar clips). Esta opción está activada de forma predeterminada.

Los clips animados se dividen y se enumeran en stage.xml de la misma manera que aparecerían si hubiera
exportado cada secuencia animada de escenas separadas a la misma ubicación de archivo.

27

Variable de título del libro

Acerca de la cámara ortográfica
In Harmony, there are two types of cameras available:lPerspectivelOrthographic

The orthographic camera is specific to the gaming pipeline. It changes the camera type from perspective toorthographic. It becomes a camera without vanishing points. This means there is no more perspective in the
Camera view. Objects, when moved on the Z-axis, will not change in size or scale.

The orthographic camera can be set in the Scene Settings dialog box. In order to create scenes with theorthographic camera, by default, you need to create a new custom scene resolution.

28

Capítulo 4: Acerca de la exportación a Unity

Capítulo 4: Acerca de la exportación a Unity
Si tiene un motor de juego personalizado, puede tomar los datos de Harmony exportados y seguir con su
proceso habitual. O puede modificar los comandos de exportación para adaptarlos a sus necesidades.

Antes de exportar una escena:l

Asegúrese de configurar la pantalla como Display (Visualizar) y no como Display All (Visualizar todo).

lAsegúrese de guardar su escena. Harmony realiza la exportación a partir de los archivos tvg; lasactualizaciones no guardadas que haya agregado no se exportarán.

lConfigure la escena de Harmony para que tenga una resolución cuadrada (p. ej., 1024 x 1024).
Seleccione Scene > Scene Settings (Escena > Configuración de escena).

29

Variable de título del libro

Configuración de anclas
Antes de exportar a Unity, se debe plantear qué establecer como anclas.
Un ancla es un punto del personaje al que desea hacer referencia en el motor de juego durante la animacióndel personaje.

Cómo establecer un ancla
1. Cree una nueva capa de dibujo y cámbiele el nombre según el ancla que esté creando.
2. Dentro de las propiedades de capa de su capa de dibujo, asegúrese de que la opción de pivote esté
establecida en Don’t Use Embedded Pivot (No usar pivote incrustado) o Apply Embedded Pivot
on Drawing Layer (Aplicar pivote incrustado en la capa de dibujo). La opción Apply Embedded
Pivot on Parent Peg (Aplicar pivote incrustado en peg padre) no se transfiere bien a Unity y perderá
la información del pivote.

3. Una vez hecho esto, puede utilizar cualquiera de las herramientas de animación para cambiar la
posición del punto de pivote de la capa, como la herramienta Rotate (Rotar) de la barra deherramientas Advanced Animation (Animación avanzada). Debe poder encontrar las coordenadasde pivote a partir de las propiedades de capa de la capa de dibujo. Si no se cambia la posición delpivote, su lugar predeterminado será el centro de la escena de Harmony (0,0).
4. Una vez configurado, seleccione la capa de dibujo y haga clic en el botón Toggle Anchor (Alternar
ancla)en la barra de herramientas Game (Juego). También puede crear una selección múltiple

para establecer un ancla en varias capas de dibujo de forma simultánea.
La capa de dibujo se destaca en rojo en la vista de línea de tiempo y de nodo. Ahora puede utilizar
el ancla para adjuntar un prop.

30

Capítulo 4: Acerca de la exportación a Unity

Exportación de cartas de sprites
La ventana Export to Sprite Sheets (Exportar a cartas de sprites) exporta a varias resoluciones, generando
varios archivos .xml y una o varias cartas de sprites dependiendo de cuántas resoluciones de sprites hayadefinido.
Así se guardan diferentes animaciones del mismo personaje en el mismo nombre. Por ejemplo, si hay una
animación de reposo, una de correr y una de saltar, todas deben compartir el mismo nombre de recurso. Puede
verlo como la recogida global de animaciones. Dentro están las diferentes versiones de escenas guardadas
cuyos dibujos puede reutilizar para todas las animaciones de ese conjunto de personajes. Cada versión deescena se mostrará como un elemento en la lista.
Cuando se exporta una animación, solo se exportan los dibujos utilizados en esa escena. Todos los dibujos seexportan primero de forma individual y luego se unen en un atlas en una carta de sprites.
Si ha guardado varias animaciones con el mismo nombre de recurso (es decir, SpaceDuck: correr, reposo),
volverá a unir en atlas la carta de sprites para incluir todos los dibujos de todas las animaciones de esa
carpeta, creando un nuevo archivo de animación, pero reutilizando el mismo esqueleto.
NOTA
Programmers may be interested to note that the XML data exported by Harmony can be converted
afterwards to a more optimized binary data structure. To convert XML to Binary format, use the
Xml2Bin utility. This utility converts the XML data structure generated through the Toon Boom
Harmony software to a compressed binary data structure. This utility is available in the gaming
SDK under /HarmonyGameSDK/Plugins/.
lPlugins/Mac:­Precompiled binary for Mac OSX.

lPlugins/Windows\x86: Precompiled binary for Windows.

lSamples/HarmonyGameSDKSource/Utils/Xml2Bin: Xml2Bin sources.

l

Samples/HarmonyGameSDKSource/Utils/Xml2Bin/proj.mac.Xml2Bin.xcodeproj: XCodeproject for Mac OSX.

l

Samples/HarmonyGameSDKSource/Utils/Xml2Bin/proj.win32/Xml2Bin.sln: Visual Studio2010 solution for Windows.

The C++ code that handles the data structure can be reused and parsed in your own code if you
want to integrate with other game engines.

Cómo exportar cartas de sprites
1. En la barra de herramientas Game (Juego), al seleccionar Windows > Toolbars > Game (Ventanas> Barras de herramientas > Juego).

31

Variable de título del libro

2. Ejecute el comando haciendo clic en el botón Export to Sprite Sheets (Exportar a cartas de sprites)en la barra de herramientas Game (Juego).
Se abrirá la ventana Export to Sprite Sheets (Exportar a cartas de sprites).

3. Establezca la ruta de almacenamiento en la carpeta correcta del proyecto de Unity si desea que se
actualice de forma automática. Si no, puede guardar en cualquier lugar y luego transferir laanimación a su proyecto de Unity o a cualquier otro motor de juego que desee utilizar.
4. Configure las preferencias de su carta de sprites.
5. Haga clic en Export (Exportar).

32

Capítulo 4: Acerca de la exportación a Unity

Resoluciones de sprites
Puede definir el número de píxeles de un sprite en función de la resolución objetivo del juego. Su resolución
objetivo puede basarse en el hardware al que se dirige, como la pantalla de un televisor o un teléfono.

Se creará una nueva carta de sprites para cada resolución de destino especificada en la pestaña Resolutions(Resoluciones) de la ventana Export to Sprite Sheets (XML) (Exportar a cartas de sprites (XML)). Para accedera esta ventana, debe activar la barra de herramientas Game (Juego) seleccionando Windows > Toolbars >Game (Ventanas > Barras de herramientas > Juego).

Tenga en cuenta que el tamaño del sprite será el tamaño del personaje cuando se creó en Harmony.

Cómo configurar varias resoluciones de sprites
1. Habilite la barra de herramientas Game (Juego) seleccionando Windows > Toolbars > Game
(Ventanas > Barras de herramientas > Juego).

33

Variable de título del libro

2. Seleccione Export to Sprite Sheets (Exportar a cartas de sprites).

Se abrirá la ventana Export to

Sprite Sheet (Exportar a carta de sprites).
3. En el cuadro diálogo Export to Sprite Sheet (XML) (Exportar a carta de sprites (XML)), seleccione lapestaña Sprite Resolutions (Resoluciones de sprite). En esta pestaña se mostrarán todas las
resoluciones objetivo actuales.
4. Haga clic en el icono Add (Agregar). Se creará una nueva fila para una nueva resolución dedestino.
5. Introduzca el nombre, el ancho y la altura de la nueva resolución de destino.
Las resoluciones de destino predeterminadas son HD, FullHD y QuadHD. Las resoluciones de pantalla
indicadas representan el dispositivo de destino en el que se podría reproducir.
Puede agregar o eliminar de forma manual resoluciones de esta lista en función de la resolución dedestino y el hardware del que disponga. Una vez importada en el motor de juego, será posible seleccionar
qué resolución se está mostrando al cambiar la carta de sprites renderizada.

NOTAS
l

Las resoluciones de sprites se ven afectadas por la escala de las pinceladas de dibujo.

lEl escalado de dibujos o sus pegs no afectará a la resolución de los sprites de salida.

l

Si desea aumentar la resolución de sprites, puede escalar las capas hijas de un dibujo.

34

Capítulo 4: Acerca de la exportación a Unity

Uso de Bake_Groups
Un Bake_Group es una agrupación de nodos de dibujo y efectos que se pueden exportar juntos como un único
dibujo unificado en una carta de sprites.

Cómo crear un grupo ensamblado
1. Agrupe las capas que vaya a ensamblar. Se recomienda agrupar las capas desde la vista de nodos.
.
NOTA
Un bake_group tan solo debe tener una entrada y una salida. Esto generalmentesignifica que un nodo Composite (Composición) se debe incluir dentro del bake_grouppara que la exportación funcione correctamente. Considere también qué pegs senecesitan para guiar los dibujos, ya que todos los pegs deben proceder al final de unúnico peg fuera del grupo.

2. En la línea de tiempo, agregue el prefijo «bake_» delante del nombre del grupo.
Vea en el ejemplo siguiente qué aspecto debe tener un nodo de grupo con el prefijo «bake_». El«grupo» etiquetado como «hips» (caderas) debe convertirse en «bake_hips» para que se aplique elensamblaje.

35

Variable de título del libro

Si se incluye el prefijo «bake_» en el nombre del grupo, este se analizará en busca de fotogramas que
contengan efectos únicos, movimientos y sustituciones de dibujos, y cada fotograma único se exportará
como un sprite en la carta de sprites.
Se crearán nuevos dibujos animados para estos sprites generados y se proporcionarán al motor de juego.
El motor de juego no tendrá acceso a ninguna de las estructuras dentro de este grupo; en su lugar, trataráa todo el grupo como si fuera un único dibujo con sustituciones de dibujo.

36

Capítulo 4: Acerca de la exportación a Unity

Exportación a Easel JS
La ventana Export to Easel JS (Exportar a Easel JS) le permite aplanar una secuencia de imágenes de su
animación. Incluso si tiene una marioneta totalmente en rig o una sola capa de dibujo con su secuencia deanimación, el resultado seguirá siendo una salida aplanada de cada fotograma agrupada en su carta de
sprites. Esto permite una mayor flexibilidad y libertad de trabajo, ya que tiene acceso a cualquier herramienta omódulo de efectos que desee utilizar. Sin embargo, puede dar lugar a archivos más pesados en función de lalongitud, la complejidad y el tamaño de exportación de la animación.

Cómo exportar a Easel JS
1. En la barra de herramientas Game (Juego), al seleccionar Windows > Toolbars > Game (Ventanas> Barras de herramientas > Juego).

2. Ejecute el comando haciendo clic en el botón Export to Easel JS (Exportar a Easel JS)
de herramientas Game (Juego).
Se abre la ventana Export to Easel JS (Exportar a Easel JS).

37

en la barra

Variable de título del libro

3. Establezca la ruta de almacenamiento en la carpeta correcta del proyecto de Unity si desea que se
actualice de forma automática. Si no, puede guardar en cualquier lugar y luego transferir laanimación a su proyecto de Unity o a cualquier otro motor de juego que desee utilizar.
4. Configure las preferencias de la carta de sprites.
5. Haga clic en Export (Exportar).

38

Capítulo 4: Acerca de la exportación a Unity

Variaciones de paletas
La creación de versiones de personajes con diferencias en la paleta es importante cuando tenga previsto
agregar la personalización de personajes como una característica de su juego. En Harmony, puede crear varias
paletas para un personaje, de modo que pueda tener distintos aspectos en el juego.
En Harmony, una vez creado el personaje y sus paletas, puede exportar el personaje a cartas de sprites paracada paleta.

Cómo crear variaciones de paletas para el personaje de un juego
1. In the Colour view, select a palette to clone.

2. Do one of the following: From the Colour menu, select Palettes > Clone or right-click and selectClone.
l

Right-click on the palette and select Clone.

lOpen the Colour menu

, then select select Palettes > Clone.

The Clone palette dialog box opens

3. In the New Palette Name field, enter the name for the new palette. By default, the palette's nameis based on the original palette name followed by "-clone". The palette list above this field lists the39

Variable de título del libro

palettes that already exist in the selected location. Make sure you enter a name that is not alreadyused by another palette.
4. Click OK.
The cloned palette appears in the palette list.

All Scene Palettes will appear in the Palettes tab of the Export to Sprite Sheet window.

Cómo exportar una carta de sprites para cada variación de paleta
1. Habilite la barra de herramientas Game (Juego) realizando una de las siguientes acciones:l

En el menú superior, seleccione Windows > Toolbars > Game (Ventanas > Barras deherramientas > Juego).

lHaga clic con el botón derecho en cualquier barra de herramientas existente y seleccione
Game (Juego).

2. En la barra de herramientas Game (Juego), seleccione Export to Sprite Sheets (Exportar a cartas de
sprites).

3. Abra la pestaña Palettes (Paletas). Verá todas las paletas de su proyecto y sus clones.

NOTA
Solo aparecerán las paletas y sus clones. Los duplicados de paletas no aparecerán.

40

Capítulo 4: Acerca de la exportación a Unity

4. Seleccione los nombres de las paletas que desea exportar. Cada paleta marcada se exportará conel personaje como su propia carta de sprites.
5. Exporte su carta de sprites.
Una vez importado el personaje a Unity, se podrá seleccionar qué paleta se muestra cambiando la carta de
sprites renderizada.

41

Variable de título del libro

Capítulo 5: Acerca del Harmony Unity SDK
Toon Boom proporciona un paquete de Unity en la Unity Asset Store que contiene todos los comandos
necesarios para importar los datos exportados desde Harmony. Una vez desempaquetado en un nuevo
proyecto de Unity, la siguiente estructura está disponible dentro de la carpeta Toon Boom Harmony Gaming
SDK:lDocumentación (información para desarrolladores sobre la integración de Unity)l

Plugins (librerías de SDK)l

Muestras (escenas de demostración, comandos de exportación, fuente del SDK y un generador de vista
previa)l

Tiempo de ejecución (comandos de Harmony que se ejecutan durante el juego)lEditor (comandos de Harmony que solo se ejecutan en el editor y no aparecen en las compilaciones)l

Shaders (proporciona shaders que renderizan correctamente las características específicas deHarmony)lMateriales (materiales previamente creados que utilizan shaders de Harmony)

Estos paquetes se pueden gestionar de forma manual a través de la interfaz del administrador de paquetes deUnity. Los desarrolladores pueden cambiar los paquetes a una versión más reciente o más antigua en caso deque las nuevas versiones de Unity tengan ciertas incompatibilidades de paquetes con los comandos deHarmony.

Cómo crear un proyecto de Unity SDK
1. Cree un proyecto de juego de Unity vacío. Se recomienda crear un proyecto de juego 2D de Unity
vacío, ya que es lo más conveniente cuando se trabaja en renderizado y física 2D.
NOTA
Asegúrese de estar utilizando la versión 2020.3.36 o posterior de Unity, ya que lasversiones anteriores de Unity no tienen todas las características necesarias para darsoporte a la importación y el renderizado de archivos TBG.

42

Capítulo 5: Acerca del Harmony Unity SDK

2. Instale el Harmony Game SDK disponible en la Unity Asset Store. Si su SDK se descargó de forma
manual, puede hacer doble clic en el archivo .unitypackage mientras su proyecto de Unity estáabierto.
La ventana emergente Additional Packages Requested (Paquetes adicionales solicitados)
aparecerá para asegurarse de que tiene paquetes de Unity compatibles que faciliten la animación
2D optimizada en tiempo de ejecución.
3. Haga clic en Download (Descargar).

Una vez que Unity termine de descargar los paquetes necesarios y de compilar todos los comandos, su
proyecto estará listo para comenzar a importar personajes de Harmony.

NOTAS
Cuando haya instalado el Toon Boom Harmony Game SDK, se deberá importar el paqueteHarmony SDK en cada nuevo proyecto creado en Harmony.

43

Variable de título del libro

Cómo importar un paquete a un proyecto
1. Abra la tienda de recursos seleccionando Window > Asset Store (Ventana > Tienda de recursos).
Se abrirá la pestaña Asset Store (Tienda de recursos).
2. En el menú Asset Store (Tienda de recursos), seleccione Open Package Manager (Abriradministrador de paquetes). Se abrirá la ventana Package Manager (Administrador de paquetes).

3. En el menú desplegable Packages (Paquetes), situado en la parte superior izquierda deladministrador de paquetes, habrá cuatro opciones:l

Packages: Unity Registry (Paquetes: Registro de Unity)l

Packages: In Project (Paquetes: En el proyecto)lPackages: My Assets (Paquetes: Mis recursos)lPackages: Built-in (Paquetes: Incorporados)

4. Seleccione Packages: My Assets (Paquetes: Mis recursos).
Se mostrará una lista con sus recursos descargados a continuación. A la derecha de la pestaña
Package Manager (Administrador de paquetes), aparecerá información sobre el recurso
seleccionado.

44

Capítulo 5: Acerca del Harmony Unity SDK

5. Cuando haya seleccionado el paquete de Harmony, seleccione Import (Importar) en la parte inferiordel administrador de paquetes. Aparecerá la ventana Import Unity Package (Importar paquete deUnity) para mostrar los archivos del recurso.

6. Seleccione Import (Importar).

45

Variable de título del libro

Generador de vista previa de Harmony
En esta sección se explica cómo utilizar el generador de vista previa de Harmony para ver animaciones sinnecesidad de instalar Unity.
Puede encontrar una compilación para Windows o macOS dentro de la carpeta Harmony Game Previewer que
solo tiene que descomprimir.
NOTA
No descomprima la compilación dentro de su proyecto Unity; se aconseja descomprimirla en su
propia carpeta.

Cómo utilizar el generador de vista previa

46

Capítulo 5: Acerca del Harmony Unity SDK

1. Ejecute Harmony Game Previewer.exe o Harmony Game Previewer.app.
2. Seleccione qué proyecto desea cargar del menú del cargador. Estos proyectos se cargan desde lacarpeta Harmony Resources en el mismo directorio que Harmony Game Previewer.exe o Harmony
Game Previewer.app.
3. Desplácese por las animaciones con el botón Prev / Next (Anterior / Siguiente).
4. Ajuste la frecuencia de fotogramas, el tinte, el discretization step y la máscara con los controles dela parte superior izquierda.
5. Haga clic en el botón Go back (Volver) para volver al menú anterior y cargar una animación
diferente.

47

Variable de título del libro

Manipulación de recursos
En esta sección, se describirán los componentes de Harmony Mesh y Harmony Renderer en Unity.

Flujo de trabajo de TBG
Si está importando sprites a Unity a través del flujo de trabajo de TBG, las opciones de manipulación derecursos para archivos TBG se mostrarán en la Inspector View. Las opciones de manipulación de recursos
mostradas son diferentes de las opciones de manipulación de recursos mostradas en el flujo de trabajo XML.

Renderizador de recursos TBG
Harmony Renderer para el flujo de trabajo de archivos TBG se utiliza para controlar la animación y elrenderizado de los recursos de Harmony para archivos TBG, así como para exponer variables importantes que
puede querer cambiar durante el tiempo de ejecución.

Cómo manipular los recursos de renderizado del flujo de trabajo de TBD
1. Seleccione un personaje en la escena. La sección TBG Renderer (Script) aparecerá en la pestaña
Inspector a la derecha.

2. Controle los recursos del personaje configurando lo siguiente:l

Project (Proyecto): Referencia al recurso TBGStore. Este recurso lo genera el importador ycontiene los datos del proyecto TBG que no están cubiertos por los AnimationClips generados.

l

Resolution (Resolución): La resolución se utiliza para mostrar este personaje. Coincide con losnombres de las cartas de sprites asociadas.

l

Palette (Paleta): La paleta se utiliza para mostrar este personaje. Coincide con los nombres de las
cartas de sprite asociadas.

48

Capítulo 5: Acerca del Harmony Unity SDKlMaterial: El material que se utiliza para sombrear este personaje. La máscara de hardware es elmaterial sin iluminación predeterminado que se ofrece con el SDK.

l

Color: Opción que multiplica el color seleccionado en el recurso.

lSkins (Máscaras): Permite cambiar en tiempo real la máscara que ha exportado desde Harmony.
Cada grupo tiene su propio menú desplegable para cambiar la máscara, así como un desplegableglobal para cambiar la máscara de todos los grupos a la vez.

TBGImporter (Importador de TBG)
Cuando los archivos TBG se importan a Unity, los recursos de Harmony se convierten en prefabs,
AnimationClips y otros recursos de Unity. El importador de TBG permite especificar cómo se crean losrecursos y las animaciones.

Cómo controlar la configuración para importar recursos TBG de Harmony a Unity
1. Seleccione un archivo de personaje .tbg en la vista de proyecto. Se abrirá la pestaña Inspector.
2. En la parte superior de la Inspector View (Vista del inspector), haga clic en Select (Seleccionar)
para el modelo. Se abrirá la vista de TBGImporter y se mostrarán sus opciones.

3. Controle cómo se importarán las animaciones configurando lo siguiente:lConfiguración de animacioneslDiscretization Steps (Pasos de discretización): Control deslizante que representa elnúmero de columnas/filas en las que se dividirán los sprites si los huesos los están49

Variable de título del libro

deformando.
l

Frame rate (Fotogramas por segundo): Fotogramas por segundo de la animación que
utiliza el sistema de animación de Unity para reproducir los fotogramas de Harmony. Debe
coincidir con los fotogramas por segundo de Harmony.

l

Stepped (En pasos): Si está marcado, las animaciones pasarán entre fotogramas enteros y,
por tanto, no se interpolarán de manera fluida. Si no está marcado, la animación se
reproducirá entre fotogramas enteros para obtener una animación fluida.

lCreate Animator Controller (Crear controlador de animador): Si está marcado, este
importador creará automáticamente un nuevo Animator Controller que contendrá todos los
AnimationClips generados y colocará el recurso junto al prefab en la vista de proyecto.

lAnimator Controller (Controlador de animador): Cuando se realicen cambios en el archivo.tbg, dicho Animator Controller se actualizará con los nuevos AnimationClips.

lMaintain Curves on Cloned Clips (Mantener curvas en clips clonados): Si está marcada,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.

lConfiguración del materiallShader (Sombreador): Cuando se crea el prefab, todos los SpriteRenderers harán referencia
a un material generado usando este shader.

l

SRGB Texture (Textura sRGB): Si está marcada, mapeará el espacio de color de gamma delas texturas generadas en el renderizado del espacio de color lineal.

lFilter Mode (Modo de filtro): Cómo se interpolan los píxeles contiguos a la textura.

lMipmap Enabled (MipMap habilitado): Generar texturas de menor resolución pararenderizar a distancias mayores.

lCreate Sprite Atlas (Crear atlas de sprites): Si está marcada, este importador creará
automáticamente un nuevo Sprite Atlas que contendrá todos los sprites generados ycolocará el recurso junto al prefab en la vista de proyecto.

l

Sprite Atlas (Atlas de sprites): Cuando se realicen cambios en el archivo .tbg, dicho Sprite
Atlas se actualizará con los nuevos sprites.

Flujo de trabajo de XML
Si está importando sprites a Unity a través del flujo de trabajo de XML, las opciones de manipulación derecursos para archivos XML se mostrarán en la Inspector View. Las opciones de manipulación de recursos
mostradas son diferentes de las opciones de manipulación de recursos mostradas en el flujo de trabajo TBG.

50

Capítulo 5: Acerca del Harmony Unity SDK

Harmony Mesh
Harmony Renderer utiliza el componente Harmony Mesh para crear mallas de recursos basadas en los dibujos
expuestos en la animación.

Renderizador de recursos XML
Harmony Renderer para el flujo de trabajo de XML se utiliza para controlar la animación y el renderizado de losrecursos de Harmony para archivos XML, así como para exponer variables importantes que puede querer
cambiar durante el tiempo de ejecución.

Cómo manipular los recursos de renderizado del flujo de trabajo de XML
1. Seleccione un personaje en la escena
2. En la Inspector View (Vista del inspector), seleccione Add Component (Agregar componente) en laparte inferior de la vista. Aparecerá la sección HarmonyRenderer

3. Controle los recursos del personaje configurando lo siguiente:l

Project (Proyecto): Referencia al recurso binario del proyecto de Harmony. Este recurso lo genera
el importador y contiene los datos del proyecto de Harmony en un formato binario eficiente.

51

Variable de título del librolRender Settings (Configuración de render): La configuración de render se utiliza para modificar elrecurso, ya sea cambiando la resolución o el shader utilizado para renderizar o la calidad de la
deformación.

lResolution (Resolución): La resolución se utiliza para mostrar este personaje. Coincide con losnombres de las cartas de sprites asociadas.

l

Palette (Paleta): La paleta se utiliza para mostrar este personaje. Coincide con los nombres de las
cartas de sprites asociadas.

lMaterial: El material que se utiliza para sombrear este personaje. La máscara de hardware es elmaterial sin iluminación predeterminado que se ofrece con el SDK.

l

Color: Opción que multiplica el color seleccionado en el recurso.

lDiscretization Steps (Pasos de discretización): Control deslizante que define el orden de todos los
dibujos deformados.

lClip Settings (Configuración de clips): La configuración de clips se utiliza para ver las animaciones
sin abrir la ventana Animation (Animación). Esto solo afecta al proyecto cuando está en modo
editor; cuando se juega, el animador anula los ajustes dentro de la configuración de clips.

lCurrent Clip Index (Índice de clips actual): Índice de clips numérico para mostrar. Se puede
animar en la ventana Animation (Animación).

lCurrent Clip (Clip actual): Menú desplegable para seleccionar qué animación se debe
mostrar. Coincide con el índice de clips actual.

lCurrent Frame (Fotograma actual): El número de fotogramas que se muestranactualmente.

52

Capítulo 5: Acerca del Harmony Unity SDKlAnimation Settings (Configuración de animación): Esta configuración es la misma que la de laimportación de recursos. Es útil al importar o volver a importar modificaciones de recursos dentro
de Harmony. Una vez se realizan las modificaciones, haga clic en Update Animator (Actualizar
animador) o Update Current Clip (Actualizar clip actual) para guardar las modificaciones.

l

Frame rate (Fotogramas por segundo): Fotogramas por segundo de la animación que
utiliza el sistema de animación de Unity para reproducir los fotogramas de Harmony. Debe
coincidir con los fotogramas por segundo de Harmony.

l

Stepped (En pasos): Si está marcado, las animaciones pasarán entre fotogramas enteros y,
por tanto, no se interpolarán de manera fluida. Si no está marcado, la animación se
reproducirá entre fotogramas enteros para obtener una animación fluida.

l

Strip Prefix (Eliminar prefijo): Se utiliza para eliminar un prefijo en el nombre de laanimación. Por ejemplo, si queremos que «Wishling_Idle» se quede en «Idle», definimos elprefijo en «Wishling_». Esto es útil cuando el nombre de la animación de los juegos es elmismo para todos los personajes.

lUpdate Animator (Actualizar animador): Haga clic en este botón para actualizar todo el
conjunto de animaciones de este personaje para que coincida con lo que hay en el proyecto
Harmony. Se actualizarán las animaciones existentes con la nueva configuración introducida
y se agregarán las que falten.

lUpdate Current Clip (Actualizar clip actual): Se actualizará solo el clip seleccionado.

Skin Settings (Configuración de la máscara)
La configuración de la máscara permite modificar en tiempo real la máscara que ha exportado desde Harmony.
Para cambiar una máscara, primero debe pulsar el botón + y agregar un grupo. Debe agregar la misma
cantidad de grupos que tenía en la exportación de Harmony. Si no tenía grupos, agregue uno y déjelo en todos.
Puede definir qué grupo desea modificar y, a continuación, qué máscara asignar a cada grupo. Más tarde,podrá eliminar un grupo seleccionando cualquier grupo y pulsando el botón -.

53

Variable de título del libro

Cómo cambiar una máscara en el flujo de trabajo de XML
1. Haga clic en el botón

para agregar un grupo/grupos.

2. Modifique el grupo y asígnele la máscara.
3. Elimine un grupo seleccionando cualquier grupo y haciendo clic en el botón

54.

Capítulo 5: Acerca del Harmony Unity SDK

Acerca del proyecto de ejemplo de Unity
Toon Boom incluye un proyecto de ejemplo de Unity que contiene todos los comandos necesarios para
importar los datos exportados desde Harmony. Dentro de este proyecto, hay una carpeta de recursos que
contiene las siguientes carpetas:l

Pluginsl

Escenas (escenas de demostración y un generador de vista previa)lComandos (todos los comandos de Harmony )lRecursos de transmisión (aquí es donde deben exportarse todos los archivos de escena de Harmony)

Al configurar el comando Harmony, puede exportar automáticamente las animaciones a la carpeta
StreamingAssets (Recursos de transmisión). De este modo, Unity cargará dinámicamente los recursos más
actualizados en cuanto aparezcan en la carpeta. También puede colocar manualmente los datos de Harmony
exportados en esta ubicación.

55

Variable de título del libro

Acerca de la interfaz de Unity
Aquí puede encontrar los principales componentes de la interfaz de Unity y sus equivalentes en Harmony:

Unity

Harmony

Descripción

Scene view (Vista deescena)Vista de perspectiva

Aquí podrá configurar la escena, seleccionando ycolocando entornos, el reproductor, la cámara, losenemigos y todos los demás GameObjects.

Game view (Vista dejuego)

Vista de cámara

La vista renderizada a partir de las cámaras de su
juego. Es representativa del juego final publicado.

Inspector

Layer Properties(Propiedades de capa)

Muestra información detallada acerca del
GameObject seleccionado, incluidos todos loscomponentes adjuntos y sus propiedades.

Hierarchy (Jerarquía)

Vista de capas en la línea
de tiempo

Muestra la jerarquía de elementos en la escena y lepermite establecer relaciones padre-hijo para losdiferentes objetos del juego.

Animation (Animación)

Vista de celdas en la línea
de tiempo

Muestra los fotogramas clave de una animación por
transformación que se esté animando.
Muestra un gráfico de estados y transiciones que leAnimator (Animador)

56

Capítulo 5: Acerca del Harmony Unity SDK

permite configurar cómo responderán sus
personajes a los eventos del juego y a las acciones
de los jugadores.

Navegador de proyectos

Le permite acceder y administrar los recursos de unproyecto.

---

Aquí puede encontrar algunos tipos de datos con los que interactúa Unity y sus equivalentes en Harmony:
Unity

Harmony

Descripción

SpriteDibujoUna sola imagen que se puede mostrar en un
SpriteRenderer.

SpriteRenderer(Renderizador de sprites)

Capa

Muestra un sprite cada vez. Los sprites se puedenintercambiar durante una animación para crear elmovimiento de una parte del cuerpo del personaje.

Transform(Transformación)

Se utiliza para formar la jerarquía del cuerpo de unpersonaje. Se puede escalar, rotar o trasladar paracrear el movimiento de una parte del cuerpo delpersonaje. El sesgo debe derivarse de una jerarquíaPegde escalas y rotaciones.

GameObject (Objeto dejuego)

Siempre se combina con una transformación. Los
GameObjects incluyen componentes que pueden
mostrar y simular la partida. El SDK ofrececomportamientos personalizados que se ejecutan
en GameObjects para mostrar gráficos específicosde Harmony.

Asset (Recurso)

Datos básicos en un proyecto Unity que se utilizan
para gráficos, física, partida y efectos de audio. Porlo general, estos son archivos, pero puedenpresentarse como sub-assets dentro de archivos
más grandes. Todas las texturas, AnimationClips,
sprites, AnimatorControllers, AudioClips y prefabs
son recursos.

57

Variable de título del libro

Importación de archivos de Harmony en Unity
Una vez que haya terminado de crear sus ilustraciones y movimientos de personajes animados repetitivos en
Harmony, es hora de importarlos a Unity para integrarlos en el juego.

Cómo importar archivos de Harmony directamente en Unity
1. Cree un proyecto 2D de Unity.
2. El proyecto de SDK Harmony se debe importar a su proyecto para que los recursos se incorporen.
Realice una de las siguientes acciones:l

Vaya a la Unity Asset Store (assetstore.unity3d.com/es/#!/content/31211) y guarde elarchivo Harmony Game SDK en su ordenador. A continuación, impórtelo en su proyecto
desde: Top Menu > Asset > Import Package > Custom Package (Menú superior > Recurso> Importar paquete > Paquete personalizado).

lBusque Harmony Game SDK en la Unity Asset Store y luego descargue e importe elpaquete. Puede acceder a la Asset Store (Tienda de recursos) desde: Top Menu > Window> Asset Store (Menú superior > Ventana > Tienda de recursos).
NOTA
Para cada nuevo proyecto de Unity, debe repetir el paso 2, ya que contiene los archivos
y carpetas necesarios para que funcione el proceso de importación de Harmony.

Existen dos flujos de trabajo principales para exportar e importar datos de Harmony a Unityl

Archivos TBG/TBGRenderer
Este es el flujo de trabajo preferible si:l

Utiliza exclusivamente Unity y quiere la experiencia más natural a la forma de hacer las cosas enUnity.

lQuiere importar más rápido con menos pasos.

lQuiere producir una jerarquía significativa de transformaciones y SpriteRenderers que se puedan
ajustar y con los que pueda jugar. Esto permitirá a aquellos con poca o ninguna experiencia en lacreación de comandos agregar efectos de procedimiento únicos a los personajes.

lQuiere sacar partido de la malla de sprites de Unity combinando los atlas de sprites y loscontroladores de animadores con la superposición y la fusión de transiciones. Así se abre laposibilidad de utilizar paquetes existentes o comandos sencillos para la IK, la física de sacudidas,
los muñecos de trapo (ragdolls), etc.

l

Carpetas XML / HarmonyRenderer58

Capítulo 5: Acerca del Harmony Unity SDK

Este es el flujo de trabajo preferible si:l

Utiliza Unity para crear prototipos y quiere movilidad a otros motores de juegos. El flujo detrabajo XML es transferible, ya que recurre a una librería de C++ que es portátil a otros motores.

lQuiere más espacio para jugar con soluciones personalizadas de transmisión de recursos yquiere un punto de partida para crear efectos de procedimiento personalizados de alto
rendimiento.
NOTASl

Si lo desea, puede cambiar de flujo de trabajo más adelante.

l

Ambos sistemas predeterminado utilizan Animator Controllers para elegir y reproducir
animaciones en el personaje, por lo que los comandos que interactúen únicamente con el
animador del personaje funcionarán de forma parecida. Sin embargo, los comandos quecambian máscaras o resoluciones, o que proporcionan efectos de procedimiento, se tendrán
que reescribir o crear a medida para cada flujo de trabajo.

l

En general, la transición de HarmonyRenderers a TBGRenderers funcionará mejor, ya que
HarmonyRenderers tiene un subconjunto de las características disponibles en
TBGRenderers de forma predeterminada. Siempre es buena idea mantener el acceso a sus
proyectos originales de Harmony .xstage si necesita volver a exportar con distinta
configuración o un flujo de trabajo diferente.

59

Variable de título del libro

Flujo de trabajo de archivo de archivo TBG en Unity
En el flujo de trabajo de archivo TBG (Toon Boom Gaming), Unity interpretará de forma inmediata un archivo
TBG exportado desde Harmony como un nuevo recurso al que puede hacer referencia para derivar nuevas
texturas, sprites, datos de proyecto y un prefab del archivo. El prefab resultante se puede arrastrar a la escenade Unity para visualizarlo y animarlo inmediatamente. Cuando el archivo TBG se sobrescriba a partir de una
nueva exportación en Harmony, el importador de TBG puede realizar el proceso de reimportación de forma
automática para actualizar el prefab, los sprites y las texturas existentes. Esto permite a los artistas iterarrápidamente sobre sus personajes y ver los resultados de forma inmediata en el juego.

El prefab TBG Renderer resultante contiene una jerarquía completa de transformaciones y SpriteRenderers
para mostrar el personaje en un rig compatible con Unity. Además, se incluye un comando TBG Renderer que
garantiza que los sprites se intercambien durante el progreso de una animación y que las cuchillas se apliquencorrectamente a los SpriteRenderers relevantes.
NOTA
El formato XML utilizado en los archivos TBG es una versión más reciente y puede no sercompatible con el flujo de trabajo de la carpeta XML para personajes más complicados. Conviene
conservar los archivos de Harmony originales y volver a exportarlos más adelante con otra
configuración.

Cómo importar un archivo TBG en Unity
1. En Harmony, busque el botón Export to Sprite Sheets (Exportar a cartas de sprites)en la barra

de herramientas Game (Juego).
2. En la ventana Export to Sprite Sheets (Exportar a cartas de sprites), consulte Encode as TBG(Codificar como TBG).
3. Para la ruta de recurso, introduzca la ruta del archivo donde desea guardar el personaje.

60

Capítulo 5: Acerca del Harmony Unity SDK

4. Seleccione Save and Export (Guardar y exportar). Aparecerá una barra de carga que completará
el proceso de exportación y generará un nuevo archivo TBG.
5. Abra su proyecto de Unity. Unity debe cargar el TBG de forma automática como un prefab.
NOTA
Si el personaje no aparece como un prefab, asegúrese de que:lTiene HarmonySDK instalado para su proyecto de Unity. Se debe instalar para cadanuevo proyecto que se cree.

l

No tiene un marcador de escena que se extienda más allá de la exposición de unpersonaje.

En su proyecto de Unity, debe haber:lsub-assets para texturas, sprites, datos de TBG Store y AnimationClips.

lDos nuevos recursos para el SpriteAtlas y el AnimatorController del archivo ademásdel prefab TBG.

El prefab TBG resultante se puede arrastrar a la jerarquía, donde se mostrará y seráinteractivo.

61

Variable de título del libro

Al seleccionar el prefab en la jerarquía, podrá ver las animaciones del personaje desde lavista de animación.

Al abrir el prefab en la vista de jerarquía haciendo clic en la flecha pequeña, podrá explorar
la jerarquía del personaje de forma muy similar a lo que se muestra en la línea de tiempo deHarmony.

62

Capítulo 5: Acerca del Harmony Unity SDK

Cómo revisar el contenido de un archivo TBG de forma manual
1. Busque el archivo TBG en el explorador de archivos del ordenador

2. Si utiliza Windows o Mac, cambie el nombre de la extensión del archivo, ya que los ordenadores
Windows y Mac no reconocen la extensión de archivo .tbg.

Una vez cambiado de nombre, Windows y Mac le permitirán explorar el contenido del archivo .zip
para que pueda asegurarse de que las cartas de sprites tienen un tamaño razonable o de que losarchivos de datos tienen el contenido que espera.

63

Variable de título del libro

NOTA
Para asegurarse de que Unity no tenga ningún problema, puede volver a cambiar laextensión del archivo a .tbg antes de reanudar el trabajo con Unity. Por lo general, este
proceso de inspección solo es necesario con ordenadores que no tengan instalado
Unity.

Adición de cinemática inversa (IK) a un prefab de TBG Renderer
Puede utilizar la IK 2D de Unity para agregar objetivos de procedimiento a las extremidades de sus personajes.
Puede utilizar SLY_Character de la escena de ejemplo del flujo de trabajo de TBG para este proceso.

Cómo agregar IK a un prefab de TBG Renderer
1. Busque y arrastre el SLY_Character desde la vista de proyecto a su Scene View, y pulse F para
encuadrar el personaje en su vista.

64

Capítulo 5: Acerca del Harmony Unity SDK

NOTAAsegúrese de que se seleccione el SLY_Character en la jerarquía.
2. En la Inspector View (Vista del inspector), agregue un componente IK Manager 2D.

3. En el componente IK Manager 2D, haga clic en el botón + para agregar un nuevo solucionador de IK
y seleccione Limb (Extremidad).

65

Variable de título del libro

4. Haga clic en el hueso inferior derecho de las piernas de Sly para exponer su lugar en la jerarquía.
Utilizaremos su GameObject hermano que tiene «..._GameBone_1_end» en el nombre.

5. Con el objeto de juego «New LimbSolver2D» seleccionado, arrastre «New LimbSolver2D» a laranura objetivo del comando LimbSolver2D y arrastre el GameObject «_leg_cuff_GameBone_1_
end» a la ranura de Effector (Generador de efectos).

Una vez hecho esto, se puede moverse por la transformación Nuevo New LimbSolver2D y ver cómo se
dobla la extremidad para adaptarse al objetivo.

Para cambiar la dirección en la que se dobla la rodilla, podemos hacer clic en la casilla «Flip» (Voltear) delcomponente Limb Solver 2D.

66

Capítulo 5: Acerca del Harmony Unity SDK

Flujo de trabajo de carpeta XML en Unity
En el flujo de trabajo de la carpeta XML, un desarrollador puede crear un recurso de importador de Harmonyúnico para hacer referencia a una carpeta XML exportada desde Harmony. Este importador se puede utilizar
luego para generar un recurso de proyecto de Harmony y un nuevo prefab de Harmony Renderer.
Para cada archivo XML que se vuelva a exportar, los desarrolladores deben establecer de forma manual las
rutas de importación y exportación, y realizar el proceso de importación desde el recurso de importador deHarmony.
Este flujo de trabajo ofrece flexibilidad en cuanto al lugar donde pueden residir los datos XML. Por ejemplo,
puede residir dentro o fuera del proyecto de Unity. Sin embargo, una desventaja de este flujo de trabajo es que
se pueden cometer más errores, ya que hay más pasos implicados. Por ejemplo, la ruta de archivo para elimportador de TBG tendrá que actualizarse de forma manual al mover archivos de un lugar a otro.

El prefab de Harmony Renderer resultante permite un renderizado de personajes de alto rendimiento
mediante la generación de una malla dentro de un plugin de C++. Esto es preferible para multitudes depersonajes que no requieren complejas funciones de renderizado personalizadas.

Cómo importar una carpeta XML en Unity
1. En Harmony, busque el botón Export to Sprite Sheets (Exportar a cartas de sprites)en la barra

de herramientas Game (Juego).
2. Seleccione Save and Export (Guardar y exportar). Asegúrese de que la opción Export as TBG(Exportar como TBG) no esté marcada en el cuadro de diálogo Export to Sprite Sheets (Exportar a
cartas de sprites).
3. Guarde el XML en una carpeta dentro de la carpeta de recursos de su proyecto de Unity.
4. En Unity, cree un nuevo recurso de importador de Harmony mediante una de las siguientes
acciones:l

En menú desplegable Assets (Recursos) del menú superior, seleccione Create > Harmony
Project Import (Crear > Importación de proyecto de Harmony).

lHaga clic con el botón derecho en la carpeta Assets (Recursos) en la vista de proyecto y67

Variable de título del libro

seleccione Create > Harmony Project Import (Crear > Importación de proyecto deHarmony).

5. Nombre el importador de Harmony con el sufijo «Importer» para evitar futuras confusiones.
6. Copie la ruta relativa de la carpeta exportada y péguela en el nuevo importador de Harmony.

7. Copie la ruta relativa del recurso de importador de Harmony, péguela en el importador deHarmony, sustituya «Importer» por «Proyect» en la ruta.

68

Capítulo 5: Acerca del Harmony Unity SDK

8. Haga clic en Import (Importar).
Se creará un nuevo recurso de HarmonyProject, así como un nuevo prefab con Harmony Renderer
que haga referencia al HarmonyProject.

El recurso prefab se puede arrastrar desde la vista de proyecto a la vista de jerarquía y a la Scene
View para mostrar el personaje en el juego.

Importación de anclas
En Harmony, las anclas ofrecen una manera de indicar qué pegs y dibujos son posiciones de interés para loscomandos de juego en Unity. Se puede asignar un ancla a cualquier dibujo o peg.

Cómo importar un ancla a Unity
1. Seleccione una capa en la vista de línea de tiempo o un nodo en la vista de nodos y seleccione elbotón Toggle Anchor (Alternar ancla) en la barra de herramientas Game (Juego).

69

Variable de título del libro

2. Importe el personaje a Unity.
La próxima vez que se lleve a cabo el proceso de importación de XML, la nueva ancla aparecerá en Unity
bajo el prefab importado del personaje como una nueva HarmonyAnchor.

Este GameObject seguirá la posición, rotación y escala de la animación actual que se esté reproduciendo
en el personaje. Esto permite adjuntar de forma dinámica objetos de juego como hijos a las anclas paratransportarlos, equiparlos y utilizarlos.
NOTA
El desplazamiento de las posiciones de las anclas no afectará a los gráficos de Harmony
Renderer. Para ver y afectar a toda la estructura del personaje en Unity y no solo a las anclas,
es posible que desee considerar el uso del flujo de trabajo de TBG

Adición de fuentes de audio
Cuando se crean archivos de escena con audio en Harmony, el audio se exporta a la carpeta del proyecto. El
importador de Harmony creará automáticamente un AudioSource y la agregará al prefab generado. Harmony
Renderer puede entonces activar la reproducción de los archivos AudioClip en los puntos durante lareproducción de la animación tal y como se creó en Harmony.

70

Capítulo 5: Acerca del Harmony Unity SDK

Adición de un Harmony Renderer a objetos de juego vacíos
Si no tiene el prefab de su importador de Harmony, aún es posible crear un nuevo componente de Harmony
Renderer en un objeto de juego vacío para obtener el mismo resultado final.

Cómo utilizar un GameObject vacío
1. Seleccione GameObject > Create Empty (GameObject > Crear vacío).
2. Cambie el nombre del GameObject vacío para que quede claro en la jerarquía. Dado que estamos
utilizando el archivo de demostración de PerryPoireau, cambie el nombre del GameObject aSpaceCat mediante una de las siguientes acciones:l

Haga doble clic en el nombre y cambie su nombre en la jerarquía.

lSeleccione el GameObject y cambie su nombre en el Inspector.

3. En este punto, es un objeto vacío. El acceso a los datos de Harmony se realiza mediante comandos.
l

Seleccione el GameObject PerryPoireau.

l

En el Inspector, vaya a Add Component > Scripts > Harmony Renderer (Agregar
componente > Comandos > Renderizador de Harmony).

En el Inspector aparecen cuatro nuevas secciones denominadas Mesh Renderer (Renderizador demalla), Harmony Mesh (Filtro de malla) y Harmony Renderer (Renderizador de Harmony).

71

Variable de título del libro

A partir de aquí, es necesario adjuntar un proyecto de Harmony a este Harmony Renderer recién creado.
Al hacer clic en el círculo situado a la derecha de la ranura vacía (proyecto de Harmony), puede seleccionar
el proyecto que ya ha importado siguiendo los pasos para crear un proyecto de Harmony utilizando el flujo
de trabajo de la carpeta XML.

72

Capítulo 5: Acerca del Harmony Unity SDK

Configuración de colisiones en Unity
Es útil extraer la información de la caja delimitadora si desea hacer que algo colisione con el personaje.
Cuando coloque un personaje 2D en una escena 3D, puede que desee usar física para hacer que el personaje
2D colisione con el plano 3D.
Los colisionadores se mejoraron para proporcionar varios tipos de colisionadores diferentes para su uso enUnity. Puede seleccionar colisionadores de polígono y colisionadores de caja para obtener una cajadelimitadora más precisa.

Cómo configurar colisiones
1. Seleccione su personaje importado.
2. En el Inspector, seleccione Add Component > Physics 2D > Box Collider 2D (Agregar
componente > Física 2D > Colisionador de caja 2D).
3. Para habilitar la física en el personaje, vaya a Add Component > Physics 2D > Rigid Body 2D(Agregar componente > Física 2D > Cuerpo rígido 2D).

NOTA
También puede utilizar la física 3D en los archivos importados.

Puede ajustar las variables y ver los resultados

73Variable de título del libro

Glosario de juego
2D Animation Package

Plugin original para Unity (creado por Unity) que facilita elprocesamiento y la animación avanzados de sprites 2D (deformaciones,
rigging, teselación).

3D estereoscópico

Imágenes o películas que generan dos imágenes diferentes, cada uno
desde el punto de vista de uno de los ojos humanos. Cuando se
visualizan o proyectan a través de dispositivos especiales, como una
pantalla 3D o gafas de realidad virtual, se crea la ilusión que loselementos de la imagen se encuentran enfrente del espectador.

aberración cromática

En óptica, una aberración cromática (CA), acromatismo o distorsión
cromática, es un tipo de distorsión en el que una lente no puede enfocar
todos los colores en el mismo punto de convergencia.

aceleración

En animación, la velocidad es la aceleración y la desaceleración de un
movimiento. Puede ser un movimiento creado mediante una curva defunción o una serie de dibujos animados. Otros términos comunes paraaceleración gradual y desaceleración gradual son aceleración ydesaceleración.

aceleración de entrada

Aceleración drástica al principio de la acción.

aceleración de salida

Aceleración drástica al final de la acción.

aceleración gradual

Aceleración gradual en la acción. Conocida también como aceleración.

alimentador de papel

Método automatizado de introducir dibujos en un escáner en el que hay

automático

varios dibujos apilados en un alimentador de hojas. Cuando se activa elescáner, los dibujos se digitalizan de forma consecutiva, sin ninguna
otra intervención del usuario.

Ancla

Los nodos en Harmony pueden marcarse como anclas para exponer su
posición, rotación y escala en el motor de juego durante el tiempo deejecución. Los archivos TBG no requieren anclas.

animación

Simulación de movimiento que se crea dibujando o editando fotogramas
individuales.

74

Capítulo 5: Acerca del Harmony Unity SDKanimación cut-out

El proceso conocido como animación cut-out es la acción de animar
personajes compuestos por varias piezas moviéndolos de fotograma en
fotograma. La animación cut-out se puede generar por ordenador orealizarse del modo tradicional utilizando papel.

animación directa

Técnica en la cual se dibuja por orden una secuencia completa desde laprimera posición hasta la última. Esta metodología requiere muy poca
planificación. El lugar en el que el personaje termina y cómo llega hastaallí pueden ser una sorpresa tanto para el público como para elanimador. Este enfoque es espontáneo y creativo, pero puede generar
resultados imprecisos.

animación pose a pose

El proceso de animación pose a pose es la acción que consiste en crear
todas las poses de acción principales, denominadas poses clave, ydespués colocar las poses secundarias entre las claves. Las poses
secundarias se denominan descomposición. Por último, el animador
rellena los huecos con los dibujos intercalados para lograr una
animación fluida.

animación secundaria

Movimiento secundario provocado por la acción principal. Por ejemplo,
un personaje que corre y lleva puesta una capa. La acción principal es elcuerpo que corre. Esto provocará que la capa siga el movimiento,
aunque no se moverá al mismo tiempo, sino que reaccionará varios
fotogramas después y seguirá la curva de movimiento principal.

animación sin papel

El proceso de animación sin papel es la acción de animar digitalmente.
El principal proceso de animación sin papel es dibujar la animación,
fotograma a fotograma, directamente en el software.

animación tradicional

Tipo de proceso de animación mediante el cual todas las secuencias deanimación se dibujan a mano en papel antes de digitalizarlos o tintarlos
en celdas.

animática

Una película hecha con secuenciación de paneles en un storyboard, enla que se establece el tiempo aproximado de cada panel para la acción
que representa y se sincroniza cada panel con la pista de sonido. Lasanimáticas se utilizan para convertir el storyboard en un borrador de lapelícula final con el fin de determinar el tiempo asignado a cada escena
y a cada acción y sincronizar la acción con la pista de sonido.

75

Variable de título del libro

AnimationClip

Unity Asset que contiene una serie de curvas para diferentes campos dedatos en un prefab (cambios de posición, rotación, escala deAnimatorController

Los Animator Controllers deciden qué animación debe reproducirse
durante la partida en función del estado actual del personaje.

anime
Archivo .tbg

Animación japonesa.
El formato de archivo de juego de Toon Boom (Toon Boom Game o.tbg), se creó a partir de Harmony y Unity lo incorporó, de la misma
forma que en el futuro lo harán otros motores de juego.

arco

La acción no suele producirse de forma directa, sino que más bien sesuele desplegar en lo que los narradores denominan un arco. El
propósito de un arco de historia es mover un personaje o situación de unestado o escenario al siguiente.

arrastrar

Operación que consiste en hacer clic en un elemento, mantenerlo
pulsado y, a continuación, moverlo mediante el movimiento del cursordel ratón. Esto se puede realizar con el botón izquierdo del ratón o conla punta del lápiz.

artista de layout

Artista que dibuja el fondo y crea la cámara y la guía de campo,
haciendo coincidir la escena y el movimiento de la cámara. Dibujará enel modelo las poses de acción principales.

atajos de teclado

Tecla de teclado o combinación de teclas de teclado que se asigna pararealizar un comando específico en la aplicación al pulsarlos.

Automatic Importing
Processbaja resolución

Importará el archivo automáticamente sin intervención del usuario
cuando el archivo se cree o se modifique/sobrescriba/actualice.
Formato idóneo para vídeos destinados a la web, donde el tamaño y ladescarga rápida del archivo de vídeo tienen prioridad respecto a lacalidad. Una imagen de baja resolución es aquella que no contiene
detalles precisos.

bake_group

Los bake_groups son grupos en la vista de nodos cuyo nombre secambia a «bake_...»; además, un bake_group solo admite 1 puerto de76

Capítulo 5: Acerca del Harmony Unity SDK

entrada y 1 puerto de salida. Durante la exportación desde Harmony,estos grupos se analizan en busca de cambios y se exportan tantos
sprites como variaciones únicas de datos haya en el grupo, así como una
animación para mostrar cada sprite cuando proceda. Dentro de un
bake_group se puede utilizar cualquier efecto: brillos, deformaciones
con forma libre, capa de color/capa de línea.
bocetos

Es un nombre común en una película de animación para un dibujo que
se utiliza como referencia, pero no forma parte de la imagen final. Un
layout es un boceto. Es el esbozo del esqueleto de una animación odiseño. Los bocetos consisten principalmente en líneas y formas
esbozadas, pero también pueden contener detalles de diseño.

campo

Unidad de medida que se utiliza en la animación tradicional pararegistrar y realizar un seguimiento de la cámara, así como de su
proximidad a la escena.

canal alfa

Canal de imagen que contiene información de transparencia. De partida,
una imagen tiene tres canales: rojo, verde y azul (RGB). El canal alfa es
el cuarto canal (A). El mate, o información de transparencia, se
almacena en este cuarto canal. Una imagen sin canal alfa siempre es
opaca.

capa

En animación, una capa es una columna, nivel o personaje individual.
Las capas de una escena están superpuestas para formar la imagen
final.

capa de fondo

En animación, una capa de fondo es una parte específica de la
decoración colocada detrás de la animación principal.

capa superior

Parte del entorno de una escena, como una silla o un arbusto, que se
coloca delante de la animación principal.

carta de color

Una carta de color es una tarjeta que contiene un color sólido con elmismo tamaño que la cámara. La carta de color rellena el fondo con uncolor sólido cuando no se ha incluido ninguna imagen de fondo.

carta de exposición

Hoja con varias columnas verticales y fotogramas horizontales que seutiliza para indicar el tiempo de una escena. Cada columna representa

77

Variable de título del libro

una capa de escena. Los números de dibujos de cada columna se
indican y se repiten a lo largo de la cantidad de fotogramas
determinada en la que deben aparecer. La carta de exposición la utilizan
los animadores, directores y otros miembros del equipo para trazar lasecuencia y el tiempo de las imágenes, el diálogo, los efectos de sonido,
las pistas de sonido y los movimientos de cámara. Conocida también
como carta de rodaje.
carta de fonemas

Carta basada en los ocho fonemas de la animación (A, B, C, D, E, F, G y
X, que se utiliza para representar el silencio) utilizados para lasincronización de labios.

carta de rodaje

La utilizan los animadores, directores y otros miembros del equipo para
trazar la secuencia y el tiempo de las imágenes, el diálogo, los efectosde sonido, las pistas de sonido y los movimientos de cámara. Conocida
también como carta de exposición.

Carta de sprites

Varios sprites aplanados en una sola imagen. Algunas cartas están en
una cuadrícula de tamaño fijo y otras tienen sprites de tamaño variable.
El motor de juego debe entender dónde se encuentra cada sprite en lacarta para poder extraer correctamente los datos de sprite de la carta.

celda

En la animación tradicional, una celda (también denominada celuloide)
es una hoja transparente en la que la animación se tinta y se pinta antes
de enviarla a la cámara. El trazado de la imagen se dibuja en la partedelantera de la celda y, a continuación, se colorea por la parte trasera.

ciclo

Serie de fotogramas de animación que se pueden repetir para simularun movimiento continuo. Por ejemplo, un personaje a menudo camina
mediante una animación en la que da dos pasos, uno con cada pie y, a
continuación, repitiendo la animación.

ciclo de andar

Serie de dibujos "en el lugar" que describen cómo camina un personaje.
La ilusión de movimiento se crea utilizando paneos de fondo. Para evitar
realizar innumerables dibujos, los animadores suelen realizar un ciclode andar para un personaje.

cinemática directa

La cinemática directa es una función utilizada para animar
principalmente personajes 3D y marionetas cut-out con jerarquía. Se
utiliza para animar una marioneta a partir de una de sus partes padres,78

Capítulo 5: Acerca del Harmony Unity SDK

como un hombro, y hacer que el resto del brazo se mueva con ella como
un todo.
cinemática inversa (IK)

Función utilizada principalmente para animar personajes 3D ymarionetas cut-out con jerarquía. La cinemática inversa animará una
marioneta desde una de las extremidades, como una mano, y permitirá
que el resto del cuerpo la siga con naturalidad.

círculo cromático
clean up

Visualización del espectro de colores en forma de círculo.
Una vez que los bocetos se han evaluado y aprobado, se quita todo el
ruido de la imagen (líneas sobrantes, notas, etc.) para crear dibujos
finales que se pueden tintar, pintar y filmar. El proceso de clean up hacereferencia al trazado de una línea limpia sobre un boceto para conseguir
la versión final o a la eliminación de la suciedad y las líneas adicionales
que han quedado tras el proceso de digitalización.

CMYK

Acrónimo en inglés de cian, magenta, amarillo y negro. Estos colores
forman el modelo estándar utilizado en un proceso denominado
impresión offset.

código de tiempo

Información de tiempo impresa en un clip de película para indicar laescena, hora, minuto y segundo que se muestran actualmente en
pantalla.

composición

La composición es la acción de incorporar todos los elementos de una
escena para crear el resultado final antes del renderizado. Por ejemplo,
el artista de la composición importará todas las secuencias, el fondo, lassuperposiciones y las subcapas de la animación en la escena y loscolocará correctamente. A continuación, el artista definirá el encuadrede cámara y lo animará en caso necesario. Por último, el animador
creará todos los efectos generados por ordenador para el proyecto.

corte

Cuando una escena pasa a la escena siguiente de un fotograma a otro
sin ningún efecto visual.

corte de salto

Corte brusco entre dos escenas. Normalmente, un corte de salto no es
visualmente agradable. Normalmente lo provoca el final de una escena
y el comienzo de otra, con una imagen parecida. La falta de diferencia
provoca que el ojo vea un pequeño salto entre las dos escenas.

79Variable de título del libro

Create Animator
Controller
curva Bézier

Opción para crear un Animator Controller cuando el archivo TBG se
importa por primera vez
Método para definir líneas curvas inventado por el matemático francés
Pierre Bézier. Una curva Bézier es una curva matemática o paramétrica.
Los puntos de control definen las curvas Bézier. En Harmony, las curvas
Bézier tienen un punto de inicio, un punto de final y dos puntos decontrol interiores que influyen la curva entre los puntos de inicio y final.

depuración de sonido

Proceso que permite escuchar el sonido en tiempo real, mientras mueve
el cabezal de reproducción hacia delante o hacia atrás. Es muy útil pararealizar el ajuste preciso de una sincronización de labios.

desaceleración

Desaceleración gradual en la acción. Conocida también comodesaceleración gradual.

desaceleración gradual

Desaceleración gradual en la acción. Conocida también comodesaceleración.

descomposición

En animación cut-out, la descomposición es la acción de descomponer
un personaje en trozos para crear una marioneta con articulaciones.
Para descomponer un personaje, el artista corta partes, como las manos
y los brazos, del modelo del personaje y las pega en capas
independientes. A continuación, las articulaciones se fijan y se definen
los pivotes. En la animación tradicional, una descomposición es una
pose de animación que normalmente se encuentra entre dos poses
clave. Las poses clave son las poses principales de una animación y las
descomposiciones son poses secundarias que ayudan a describir elmovimiento y la curva de rotación (normalmente denominada arco).

desglose de pista de

Desglose de una pista de película animada en sonidos individuales para

audio

generar la posición fotograma a fotograma precisa de cada sonido.

desplazamiento

Pequeño empujón (izquierda, derecha, arriba, abajo, hacia delante opequeño

hacia atrás) realizado con las teclas de flecha del teclado en un
elemento seleccionado. El desplazamiento pequeño se utiliza para
mover una selección de manera muy ligera y precisa.

detección automática deAsignación automática de dibujos en un elemento a la carta de fonemas

sincronización de labios

80Capítulo 5: Acerca del Harmony Unity SDK

generada para un sonido. Puede ahorrar tiempo al sincronizar los labios
una pista de voz.
detección manual desincronización de labiosIntercambio manual de dibujos de posición de la boca para que
coincidan con una pista de voz. Para este proceso, se utilizan tanto la
depuración de sonido (escuchar una onda de sonido descompuesta
fotograma a fotograma) como las sustituciones de dibujos.

diálogoDiscretization Step

Texto hablado por un personaje en una película o animación.
El nivel de precisión con el que se segmentará un sprite si se deforma.
Cuanto mayor sea el número, más suaves serán las formas de lossprites que están muy deformados.

diseño del personaje

Cada personaje de una película animada se dibuja desde varios ángulos
en formato de estilo póster denominado hoja de modelo, que sirvecomo referencia para los animadores.

dpi

Siglas en inglés para puntos por pulgada, que representa la medida
estándar de resolución para impresoras computerizadas. En ocasiones
se aplica a pantallas, en cuyo caso es más exacto denominarlo píxeles
por pulgada. En cualquier caso, el punto es el elemento diferenciado
más pequeño que forma la imagen.

eje

Línea imaginaria alrededor de la cual rota un objeto. Para gráficos 2D,
hay dos ejes: X (horizontal) e Y (vertical). Para gráficos 3D, hay tres ejes:
X (horizontal), Y (vertical) y Z (profundidad). En animaciones que rotan
constantemente, el elemento de eje especifica alrededor de qué eje rotael objeto. Un número negativo provoca que una animación rote en
sentido contrario a las agujas del reloj, mientras que un número positivo
hace que una animación rote a la derecha.

escenaPlano en una película o programa. Una secuencia está compuesta por
varias escenas. Una escena cambia a otra mediante un corte simple opor transición.

estilo de paleta

Un estilo de paleta es una segunda versión de una paleta existente con
un ligero cambio en el tinte y el valor. Un estilo de paleta se puede
utilizar para crear la versión nocturna de una paleta. También se lepuede denominar paleta de clonado.

81

Variable de título del libro

exposición

En animación, una exposición es el número de celdas en las que undibujo aparece en la escena. Para que un dibujo parezca más grande, la
exposición se debe ampliar durante un número de celdas mayor.

FBX

Formato de archivo FBX: formato de archivo estándar en la industria delmodelado 3D y el desarrollo de juegos 3D, popularizado por 3ds Max

film-1.33

Resolución idónea para el formato de película panorámico que se ajusta
a la proporción estándar de 4:3 píxeles.

film-1.66

Resolución idónea para el formato de película panorámico que se ajusta
a la proporción de 16:9 píxeles.

Filter Mode

Cómo mezclar píxeles contiguos: la opción Nearest (Más cercano)muestra bordes gruesos alrededor de los píxeles (capa de píxeles),mientras que Bilinear (Bilineal) y Trilinear (Trilineal) intentan mezclar
los datos de color de los píxeles vecinos para suavizar la imagen.

flipping

En la animación tradicional, flipping es la acción de pasar por los dibujos
de una secuencia de animación muy rápidamente con el fin de ver laanimación en movimiento. Flipping también puede ser la acción de crear
una transformación en espejo de un objeto.

Flujo de trabajo de TBG

Proceso para exportar un personaje desde Harmony e importarlo a un
motor de juego utilizando archivos TBG como tipo de archivo
intermedio.

Flujo de trabajo de XML

Proceso para exportar un personaje desde Harmony e importarlo a un
motor de juego utilizando carpetas XML como tipo de archivo
intermedio.

fondo

Ilustraciones que llenan el campo de la cámara y que se encuentran
detrás de los personajes y props. Normalmente, estas ilustraciones
representan la decoración o escena en la que ocurre la acción.

fonemafotograma

Unidad de sonido de un idioma.
Un fotograma de animación es una imagen fotográfica única en una
película. En la animación tradicional, el estándar norteamericano

82

Capítulo 5: Acerca del Harmony Unity SDK

contiene generalmente 24 fotogramas por segundo, mientras que elestándar europeo es de 25.
fotograma clave

Posiciones importantes en la acción que definen los puntos inicial y finalde cualquier acción. Un fotograma clave es una posición generada por
ordenador en un momento específico (fotograma) y en una trayectoria
determinada.

fotograma clave deFotograma clave con interpolación generada por ordenador.

movimiento
fotograma clave deFotograma clave sin interpolación generada por ordenador.

Stop-motion
fotogramas por

Representan la velocidad a la que se reproducen los fotogramas por

segundosegundo. Se calculan por lo general en fotogramas por segundo. Porejemplo, una escena se podría reproducir a 12, 24, 25, 30 o 60
fotogramas por segundo o a cualquier otro número. Es la medida de la
frecuencia (tasa) a la que un dispositivo de imagen produce imágenes
consecutivas únicas, denominadas fotogramas. El término se aplica por
igual a los gráficos por ordenador, videocámaras, cámaras de película ysistemas de captura de movimiento. La tasa de fotogramas se suele
expresar principalmente en fotogramas por segundo (fps) y en
monitores de barrido progresivo en hercios (Hz).

Framerate

Número de fotogramas por segundo que se mostrarán al reproducir una
animación.

función

Movimiento, trayectoria o ruta generados por ordenador al que sepueden conectar parámetros de elementos, otras trayectorias y efectos.
La función se puede controlar agregando fotogramas clave y puntos decontrol en la curva de función.

fundido deEl fundido de entrada o fundido de salida es un efecto de transición

entrada/fundido deutilizado para abrir o cerrar una secuencia. Un fundido de entrada sesalidaproduce cuando la primera escena aparece progresivamente, desde una
transparencia total a su opacidad total. Un fundido de salida se produce
cuando la escena desaparece progresivamente, desde la opacidad total
a la transparencia total.

83

Variable de título del libro

fundido encadenado

Cuando una escena pasa a la escena siguiente mediante un fundido enel que desaparece una y aparece la siguiente.

gama

Rango de colores que puede representar un dispositivo determinado.

guion

Texto original que contiene la información de toda la película o el
programa. En animación, el guion contiene todas las descripciones de laubicación, el diálogo, el tiempo, etc. Un proyecto comienza con un guion.

HDTV

Acrónimo en inglés de televisión de alta definición, que es el estándar
de resolución actual para producciones televisivas. La resolución deproducciones de HDTV es 1280×720 (HD ready) o 1920×1080 (fullHD), y sus fotogramas por segundo normalmente oscilan entre 23.976
y 30.

hoja de campos

Guía que contiene todas las unidades de campo que los artistas deanimación y layout utilizan para definir el tamaño del campo de lacámara, así como sus movimientos.

holdFotograma en la animación en el cual el personaje mantiene su posición
sin moverse. Se puede crear un hold entre dos fotogramas clave
cualesquiera.

HSV

Siglas en inglés para matiz, saturación y valor. Método para definir loscolores en cuanto a matiz (tinte), saturación (sombra) y valor (tono oluminancia).

HuesosSegmentos rígidos del cuerpo de un personaje, utilizados como guía
para deformar un personaje, generalmente las piernas y los brazos.

Huesos de juego

Deformación en Harmony que simula el funcionamiento de los huesos
en los motores de juego, parecido a las deformaciones normales de loshuesos en Harmony, pero con un algoritmo de fusión diferente.

IK Manager 2DPlugin original para Unity (creado por Unity) que facilita la cinemática
inversa (IK) para personajes 2D.

imagen en miniatura

Imagen muy pequeña utilizada como una referencia o indicador.

84

Capítulo 5: Acerca del Harmony Unity SDK

Importer Settings

Configuración disponible en el recurso desde la ventana Inspector que
cambia la forma en que el recurso se convierte de datos en el archivo adatos que Unity comprende.

ink and paintEl proceso ink and paint es la acción de pintar las zonas vacías ycolorear las líneas en los dibujos de animación finales siguiendo unmodelo de color.

Inspector View

Vista en Unity que muestra el contenido de un GameObject: latransformación, componentes para renderizado y física, ycomportamientos personalizados.

intercalado

Dibujos que existen entre las poses clave. Se dibujan para creartransiciones fluidas entre poses.

interpolación

Movimiento generado por ordenador creado entre dos fotogramas
clave. Se puede crear interpolación, o no, entre los fotogramas clave.

layoutPaso de comunicación entre el storyboard y la animación. Es la acciónde poner el storyboard en el modelo. Es decir, el personaje se dibuja
siguiendo el diseño del paquete de modelo, de modo que el animador
puede comenzar a trabajar. El artista de layout dibuja el fondo y crea lacámara y la guía de campo, haciendo coincidir la escena y el movimientode la cámara. Por último, el animador dibuja en el modelo las poses deacción principales.

layout y pose

Acción que consiste en poner el storyboard en el modelo (a la escalaadecuada) para que el animador comience a trabajar.

librería

Zona de almacenamiento que contiene plantillas y recursos que sepueden reutilizar en un proyecto o escena.

línea de acción

Línea central en una pose de acción. Cuando se pintan poses de acción
sin tocar la línea de acción se garantiza que la pose sea dinámica y que
su silueta se ajuste a la dirección de la acción.

línea de tiempo

Representación horizontal de los elementos, el tiempo y los fotogramas
clave de una escena.

85

Variable de título del libro

líneas vectoriales
transparentes

Cuando no hacen referencia a trazos reales, las líneas vectoriales
transparentes son contornos invisibles que se utilizan para definir zonasde color o para cerrar zonas de color abiertas.

mapa de bits

Imagen definida por una malla de píxeles, así como por el color
individual de cada uno de sus píxeles. Los gráficos de mapas de bits se
caracterizan por ser preferibles a los gráficos vectoriales para
ilustraciones muy detalladas o fotorrealistas. Sin embargo, los gráficosde mapas de bits no se pueden escalar, rotar o sesgar sin que la imagen
pierda calidad.

Máscaras

Colecciones alternativas de dibujos en la línea de tiempo para una capa.
Se pueden crear y alternar utilizando la vista de máscara en Harmony.
Por ejemplo, el traje alternativo de un personaje, que puede cambiarse,o nuevas partes del cuerpo de un personaje, que se muestran u ocultande forma opcional durante el juego.

mesa de disco

Equivalente al disco/mesa de animación, es un dispositivo que permite
rotar el espacio de trabajo para mayor comodidad mientras se dibuja.

mesa de luz

Dispositivo que permite ver otras capas en transparencia mientras
trabaja en una capa determinada.

MipMapCuando MipMap está marcado en la configuración de importación enUnity, indica que el usuario desea tener versiones de menor resolución
de las texturas generadas para renderizar a escalas máspequeñas/distancias más lejanas.

modelo de color

Diseño de color oficial que se debe utilizar para pintar la animación. Un
modelo es el diseño de personaje, prop o ubicación definitivo que cadaartista debe seguir para la producción.

modelo/modelo deDiseño de personaje, prop o ubicación definitivo que cada artista debecolor

seguir para una producción. Un modelo de color es el diseño de color
oficial que se debe utilizar para pintar la animación.

morphing

Función que permite crear dibujos generados por ordenador entre un
dibujo de origen y otro de destino. La animación creada con la funciónde morphing se puede reutilizar en distintos proyectos.

86

Capítulo 5: Acerca del Harmony Unity SDK

multiplano

Efecto de pasar por diversos niveles de dibujos para crear una
sensación de profundidad en un plano. Un multiplano es una escena enla que las capas están colocadas a distintas distancias de la cámara, demodo que, cuando la cámara se mueve, se produce una ilusión deprofundidad. Con un multiplano, toda la perspectiva y la escala secalculan automáticamente.

NTSC

Antiguo sistema de difusión televisiva analógico estándar utilizado en
Norteamérica.

PAL

Resolución que funciona mejor con el formato europeo para pantallasde televisión y de ordenador, ya que los píxeles rectangulares semuestran con una orientación distinta.

paleta maestra

Grupo de colores atribuidos a un personaje o prop. La paleta se utiliza
durante toda la producción para mantener la coherencia en el aspecto ypara garantizar que se utilicen los mismos colores durante la
producción. Conocida también como paleta.

paleta/paleta maestra

Una paleta o paleta maestra es un grupo de colores atribuidos a unpersonaje o prop. La paleta se utiliza durante todo el proyecto paramantener la coherencia en el aspecto y para evitar cambios de color
durante la animación. También se le denomina paleta maestra.

panearMover la cámara atravesando la escena en cualquier dirección.

panel

En un storyboard, un panel es un fotograma en un plano. Un planopuede estar compuesto por uno o varios paneles.

papel cebolla

Función que permite ver los dibujos anterior y siguiente de una
secuencia.

paso con doble boteEn los fotogramas clave y las posiciones de paso de un paso con doble
bote, el cuerpo es menor que una línea de referencia dibujada en
posición vertical. Durante los intercalados, el cuerpo está situado sobre
esta línea, ofreciendo así un aspecto de rebote.

peg

En la animación tradicional, es una herramienta utilizada para garantizar
el registro preciso de la acción a medida que se mueven las capas de87

Variable de título del libro

celdas. En la animación digital, en la que se realiza un rigging demarionetas más avanzado, se pueden usar capas de pegs. Las capas depegs son capas de trayectoria que no contienen dibujos. Son rutas demovimiento que puede usar para agregar articulaciones de ruta. Paralas últimas, también puede utilizar una herramienta de cinemática
inversa.
pivotePunto alrededor del cual un peg o dibujo rota.

píxel

Elemento más pequeño de una imagen mostrado en un monitor opantalla de televisión. El píxel, abreviatura en inglés de elemento de
imagen, es un punto único en una imagen gráfica. Es una pequeña
muestra de una imagen, un punto, un cuadrado o una sección muy
pequeña compuesta de filtrado suavizado. Si acerca el zoom losuficiente en una imagen digital, verá los píxeles, que parecen
pequeños cuadrados de distintos colores e intensidad.

planificación de layout

Dibujo de las funciones principales de la escena que se utiliza como
referencia al planificar la animación y ejecutar sus etapas iniciales.

plano

Escena en una película o programa. Una secuencia está compuesta por
varios planos. Un plano cambia a otro mediante un corte simple o portransición.

plano de situación

Escena en la cual el espectador puede ver toda el área en la que se está
produciendo una secuencia. Por ejemplo, si un niño está jugando en elpatio delantero de su casa, el plano de situación sería una escena en laque el espectador puede ver la casa, el patio, parte de la calle y losedificios situados alrededor del punto de acción central. Esto ayuda al
espectador a entender la ubicación de la historia y la orientación de laescena.

plantilla

Recurso almacenado en la librería que se puede reutilizar en cualquierproyecto. Una plantilla puede ser un dibujo, una serie de fotogramas
clave, un archivo de sonido, un panel, un personaje cut-out, un efecto,
una trayectoria, una animación o cualquier otra cosa que se utilice en la
animación.

pose clave

Posiciones importantes en la acción que definen los puntos inicial y finalde cualquier transición suave. Las claves, o poses clave, son los dibujos

88

Capítulo 5: Acerca del Harmony Unity SDK

principales de una secuencia de animación que describen elmovimiento. Por ejemplo, si se agita un brazo, las claves
corresponderán al brazo de una extremidad del movimiento de onda y ala otra extremidad. Al realizar un flipping de dichos dibujos, el animador
puede ver el esqueleto del movimiento sin tener todos los dibujos.
posición de paso

Al dibujar una secuencia en la que un personaje camina, la posición depaso es el punto en el que una pierna pasa a la otra.

PrefabJerarquía de GameObjects, transformaciones, componentes ycomportamientos que pueden construirse en la vista de jerarquía yluego guardarse en la vista de proyectos. Se pueden poner instancias
de prefabs en la jerarquía para tener varios duplicados del mismo objeto(muchos personajes, muchas balas, muchos árboles).

Preview Window

Sección de la pestaña Inspector que muestra el aspecto del recurso,
generalmente con modelos, materiales y texturas.

proceso de layout
proporción

Paso de comunicación entre el storyboard y la animación.
Proporción entre las dimensiones de ancho y altura de una escena,
fotograma o formato de película. Actualmente, la proporción máspopular es 16:9. Las pantallas antiguas utilizaban una proporción de
4:3.

renderizado

Paso final de la animación por ordenador. Durante el renderizado, el
ordenador toma cada píxel que aparece en la pantalla y procesa todos
los componentes. Además, agrega desenfoque de movimiento antes deque produzca una imagen final. Es el proceso de calcular las imágenes
finales después del proceso de composición.

resolución

Tamaño de una escena, calculado por lo general en píxeles. Porejemplo, la resolución NTSC es de 720 x 480. La resolución debe
coincidir con la salida final: HDTV, film-1.33, film-1.66, NTSC, PAL,
baja.

RGB

Siglas en inglés para rojo, verde y azul. Método que permite definir elcolor especificando las cantidades de estos tres componentes del color.

89

Variable de título del libro

rigging
rotoscopia

Proceso de conectar las distintas partes de una marioneta cut-out.
Técnica de animación en la que los animadores trazan un movimientode película de acción en vivo, fotograma a fotograma, para usarlo en
películas animadas. Es el acto de esbozar sobre material de acción envivo para crear una secuencia animada.

Scene View

Visualización del juego en Unity. Complementa la vista de jerarquía,
donde la Scene View muestra cómo se verá para un jugador, y lajerarquía muestra cómo se ve el juego para el motor.

secuencia

Serie de escenas o planos que forman una parte distinta de la historia opelícula, normalmente conectados por la unión de la ubicación o eltiempo.

ShadergraphFormato de archivo de Unity que Unity proporciona con una interfaz deusuario y un importador de comandos, y que permite la creación visual yla edición de shaders sin necesidad de escribir código.

símbolo

Un icono combina animación, ilustración o capas en un único objeto quepuede controlar en una capa. También puede crear iconos de cada partedel cuerpo en marionetas cut-out. En un icono puede colocar lo que
desee. Puede utilizar símbolos para animar una marioneta o crear
animaciones reutilizables, como un parpadeo.

sincronización de labios

Proceso que consiste en sincronizar la boca de un personaje con sonidos
en la pista de sonido del diálogo. La boca se ajusta fotograma a
fotograma para hacer coincidir el sonido del diálogo y aparentar que elpersonaje está hablando. La sincronización de labios se puede utilizar
para cualquier secuencia de sonido y no solo para el habla. Por ejemplo,
puede hacer que un pájaro píe o que un lobo aúlle a la luna.

slugging

Indicación de los tiempos de inicio y detención de un diálogo y lasacciones relevantes.

Sombreador

Instrucciones que informan al juego de cómo mostrar los datos de malla
y textura proporcionados (colores, iluminación, suavidad, curvatura,
mezcla, etc.)

90

Capítulo 5: Acerca del Harmony Unity SDK

Sprite Atlas

La versión de Unity de una carta de sprites toma una colección desprites y los aplana en una sola imagen. Cada sprite del atlas señalarálos datos en el atlas durante el renderizado, lo que reduce la sobrecargade rendimiento de muchos sprites diferentes.

sRGB Texture

Cuando sRGB está marcado en la configuración de importación enUnity, le indica a Unity que los datos en la textura se codificaron enespacio de color lineal, que coincide con el modo de renderizado lineal
de Unity.

SteppedIndica si mantener la animación a la frecuencia de fotogramas prevista
por el artista o adivinar los fotogramas intercalados cuando semuestran a una frecuencia de fotogramas mayor.

storyboard

Plan visual de todas las escenas y planos de una animación. El
storyboard indica lo que sucederá, cuándo lo hará y cómo se distribuyen
los objetos en una escena.

Sub-Asset

Recurso que se empaqueta dentro de un recurso existente, y, por lo
general, se asocia con el recurso principal. En el caso de los archivos
TBG, un personaje consta de un recurso prefab y varios sub-assets paratexturas, sprites, AnimationClips, materiales y TBGStore.

tableta/lápiz

Dispositivo utilizado junto con un ratón, o en lugar del mismo, para
mover el puntero (en ocasiones denominado cursor) por la pantalla delordenador.

TBG

El formato de archivo de juego de Toon Boom (Toon Boom Game o.tbg), se creó a partir de Harmony y Unity lo incorporó, de la misma
forma que en el futuro lo harán otros motores de juego.

TBG Renderer

Comportamiento en tiempo de ejecución adjunto a un prefab durante elproceso de importación de TBG que gestiona el cambio de resoluciones,
paletas, máscaras y la actualización de los sprites de cuchilla.

TBG Store

Recurso generado durante la importación de TBG que almacena datosútiles acerca del personaje a los que el TBG Renderer hace referencia
durante el tiempo de ejecución.

91

Variable de título del libro

Totales acumulados deCampo de texto que contiene información de diálogo, efectos, sonido ocolumnaslugging en un storyboard.

transición

Efecto colocado entre dos escenas cuando se pasa de una a otra. Los
efectos de transición comunes son el fundido encadenado y el barrido.

trayectoria

Ruta o trayectoria generada por ordenador que pueden seguir loselementos. La trayectoria se puede controlar mediante puntos decontrol, fotogramas clave y velocidad.

trazar y pintar

Una vez que los bocetos de las animaciones se han limpiado y se harealizado una prueba de línea o de lápiz final, cada dibujo se traza y se
pinta para la animación final. En el mundo digital actual, esto se puede
realizar de maneras distintas a los métodos de celuloide o acetato
tradicionales.

Unity Asset

Los fragmentos de datos en Unity, que genera Unity y son nativos deUnity, y se empaquetan en un juego durante el proceso de creación delmismo. Los generan las herramientas de Unity y durante la importaciónde archivos externos.

Unity Custom Importer

Importador en Unity que se define en la interfaz de comandos de C# porproyecto, que asigna una extensión de archivo (p. ej., «.tbg») a unproceso de conversión de datos de archivo en Unity Assets.

usar carta de rodaje
vectorAsignar un dibujo determinado a un rango de fotogramas.
Una imagen basada en vectores está compuesta por puntos y curvas
Bézier. El ordenador lee los puntos y traza los segmentos,
vinculándolos para reproducir la forma de imagen. Una imagen vectorial
no contiene tamaño fijo ni resolución. El gráfico se puede ampliar y
distorsionar según se desee y el sistema volverá a calcular lossegmentos y reconstruirá las formas. Las imágenes vectoriales se
trasladan y se muestran en píxeles una vez que el cálculo se harealizado.

velocidad

En animación, la velocidad es la aceleración o la desaceleración de un
movimiento. Se puede alcanzar mediante una curva de función o una
serie de dibujos animados. Otros términos comunes para aceleración
gradual y desaceleración gradual son aceleración y desaceleración.

92

Capítulo 5: Acerca del Harmony Unity SDK

vibración de cámara

La vibración de cámara se produce en una escena cuando la cámara se
mueve ligeramente y rápidamente en varias direcciones. Este
movimiento da la impresión de impacto, vibración o, por ejemplo,
baches en la carretera.

XML

Formato de archivo XML: formato de archivo estándar para almacenar
datos de forma estructural, parecido en su funcionamiento al formato
JSON

zona
zona seguraÁrea que se puede pintar con color.
Zona central del fotograma de una escena que no quedará recortada
por el fotograma de TV. Como un fotograma de TV corta un margen deltamaño del fotograma original, al mantener una zona segura se
garantiza que la acción principal de la escena siga siendo claramente
visible una vez que la película se proyecte en televisión.

93ÍndiceAanimación
varias secuencias, juegos 26
Eexportación
fotograma a fotograma, juegos 13Jjuegos 11
animación de varias secuencias 26
directrices 14
exportación de datos de juego en bruto 12
exportación fotograma a fotograma 13
Harmony 11
recursos 14

94Variable de título del libro95