top of page
Buscar

Conociendo Wwise: Contenedores Pt. 3. Blend Tracks y RTPCs.

Foto del escritor: Jonatan Arriaga
Jonatan Arriaga
hace 4 días
9 min de lectura

Actualizado: hace 8 horas



En el capítulo anterior, aprendimos a utilizar el Blend Container utilizando una de sus características fundamentales: la reproducción simultánea de contenedores o archivos de audio. Tambien aprendimos sobre el uso de la aleatoriedad en el posicionamiento de los archivos. Si no has tenido la oportunidad de leer el blog o ver el video del capítulo anterior, aquí tienes el enlace.


En este capítulo continuaremos aprendiendo sobre las funciones del Blend Container,  específicamente el uso de los Blend Tracks mediante parámetros de control en tiempo real (RTPCs, por sus siglas en inglés). El RTPC es uno de los mecanismos más importantes de conexión entre el game engine y Wwise ya que un RTPC. Pero antes de adentrarnos por completo a los RTPCs, vamos a analizar las características fundamentales del blend track.


BLEND TRACKS


Los Blend Tracks se pueden catalogar como sub-tracks que se utilizan para hacer mezcla o crossfade dentro de un blend container. La mezcla o crossfade de estos, es controlada por un parámetro de control RTPC, que puede a su vez, manipular diferentes ajustes como el volumen, el pitch, el low y el high pass filter por mencionar algunas.


Un blend track nos da la oportunidad de mezclar ambientes complejos o capas sencillas de audio. Es importante señalar que un blend track requiere de un parámetro de control previamente creado para poder funcionar.




RTPC


El RTPC o Parámetro de control en tiempo real (Real-Time Parameter Control) uno de los mecanismos más importantes de conexión entre el game engine y Wwise. Los RTPCs son parte de una categoría llamada Game Syncs, y que encontramos en una de las pestañas principales del Designer layout. Los Game Syncs elementos que gestionan datos y permiten que el motor del juego se comunique en tiempo real con Wwise, respondiendo a la lógica del juego, a los estados del jugador y a los cambios en el entorno.


Es un sistema que permite el cambio dinámico en la mezcla de audio al controlar ajustes como volumen, pitch, low-pass filter, high-pass filter o make-up gain, entre otros, al responder en tiempo real a la información numérica proveniente del game engine.


La información numérica es generada en el game engine y enviada a Wwise para su procesamiento.
La información numérica es generada en el game engine y enviada a Wwise para su procesamiento.

Un RTPC cuenta con un rango numérico con un mínimo  y un máximo que podemos establecer de acuerdo a las necesidades del proyecto. A través de este rango numérico, podemos crear curvas de respuesta - lineales, curvas, exponenciales y algorítmicas - para detallar el tipo de comportamiento que queremos en la reproducción del audio a través de los valores del parámetro.   


Curva de respuesta de un RTPC controlando volumen a través de un rango de 0 a 24.
Curva de respuesta de un RTPC controlando volumen a través de un rango de 0 a 24.

Vamos a crear nuestro primer RTPC, para ello, iremos a la pestaña Game Syncs, haremos click sobre el Default Work Unit de la carpeta Game Parameters, y en el menú posterior haremos click en “Create new Game Parameter”, el cual llamaremos, “Horas_del_Dia”.





Una nueva ventana de propiedades es creada y puede ser vista al seleccionar el recién creado Game Paramenter "Horas del Día". En ella podremos encontrar varias secciones:


Bind to Built In Parameter: En esta sección podremos mapear un RTPC a valores pre establecidos que son parte del sistema de posicionamiento 3D y que son automáticamente calculados por Wwise en tiempo real. Estos son: distancia, azimut, elevación, cono del emisor, obstrucción, oclusión, cono del oyente, difracción y pérdida de transmisión. De ellos, podemos editar el valor Default y sólo el valor máximo del RTPC Distancia. Los rangos de los otros parametros no pueden ser editados. Estos los iremos decubriendo poco a poco a través de los siguientes capitulos.


Range: Donde podremos ajustar el rango, estableciendo los valores mínimo y máximo, así como el valor por defecto.


Interpolation: Donde podremos controlar que tan abruptas son las transiciones entre valores del parámetro cuando estos cambian desde el game engine.  Podremos encontrar tres opciones de interpolación:


  • Sin interpolación (none): El valor del parámetro cambia instantáneamente sin algun tipo de suavizado en la transición.


  • Slew Rate (Velocidad de respuesta): Forza la transición entre valores de manera lineal en una velocidad establecida (unidades por segundo) definido por un Ataque dado por el incremento en el valor y un Release dado por la disminución del valor.


  • Filtering over time (Filtro a traves del tiempo): Aplica una curva de suavizado tipo low pass filter en un rango establecido por un ataque y un release medido en segundos.

  

Podremos editar todos los atributos anteriores a través del Property Editor incluido el valor de simulación, el cual es un valor de prueba para audicionar el comportamiento del RTPC dentro de Wwise.



Procederemos a establecer el rango de valores de nuestro RTPC “Horas_del_Dia”, que irá de un valor de 0 a 24, simulando las 24 horas del día, a este no se le aplicará interpolación   (None) y el Default value podemos dejarlo en cero.



El siguiente paso será crear un nuevo blend container llamado Tormenta, con Play Mode Continuous, en el que importaremos tres loops de audio de unos 10 a 15 segundos cada uno. El primero será el de una lluvia ligera, el segundo el de una lluvia de intensidad media y el tercero, de una intensidad fuerte. Pueden utilizar la libreria de su preferencia para obtener estos audios. No se les olvide nombrarlos de manera apropiada. Por ejemplo:


sx_ambiente_lluvia_ligera

sx_ambiente_lluvia_medio

sx_ambiente_lluvia_intenso


Activaremos el Loop en cada uno de estos archivos de audio.




Comenzaremos a hacer la mezcla de estos tres archivos de audio. Haremos doble click en nuestro recién creado blend containern para que la ventana de propiedades se habra y haremos click en el botón “New Blend Track” al cual llamaremos “Intensidad”.



Procederemos a vincular nuestro RTPC “Horas_del_Dia” al activar la función Crossfade y al hacer click en las dos flechas >> , elegiremos del menú la opción Game Parameters y seleccionaremos el RTCP “Horas_del_Dia”.



Una gráfica con los valores del RTPC aparece con una barra en la parte superior con el nombre de nuestro RTPC, el cual podremos mover de izquierda a derecha en un rango de 0 a 24.



El siguiente paso es dirigirse a la ventana de contenidos del blend container Tormenta en la parte inferior de la ventana.



Desde ahí podremos arrastrar los archivos de audio hacia la ventana “Blend Tracks” al lado derech en el orden de ejecución deseado, en este caso, iré de la intensidad baja, hacia la intensidad alta para después bajar la intensidad, simulando el inicio y el final de una tormenta.



A medida que vayamos añadiendo más archivos de audio a los contenidos del blend track, cuadros de colores comenzarán a aparecer en nuestra gráfica y representan la duración de cada audio a través de los valores de nuestro parámetro RTPC.




Estos los podremos escalar de acuerdo a las necesidades del proyecto y podremos realizar crossfade entre ellos. En este caso, quiero que en mi ambiente llueva durante las 24 horas del día y que de las 10 a las 15 horas, la intensidad de la lluvia sea la máxima. Les invito a experimentar realizando diversos crossfades entre las diferentes áreas y hacer pruebas moviendo la barra del RTPC a través de ellos para que las transiciones entre las intensidades de lluvia sean lo más natural posible.


Como podemos observar, al añadir los audios al contenido de nuestro blend track, podremos observar claramente que en el eje de las X tendremos los valores que nosotros asignamos al RTPC "Horas_del_Dia", y que en el eje Y podrán aparecer los rangos pertenecientes a los ajustes que podremos controlar a través de cualquier RTPC. Estos ajustes son: voice volume, voice pitch, voice low-pass fiter, voice high-pass filter y Make-Up gain.


Podemos controlar los ajustes del menú desplegable con cualquier RTPCs.
Podemos controlar los ajustes del menú desplegable con cualquier RTPCs.
En este caso, al elegir controlar el Low-Pass Filter con nuestro recién creado RTPC, una línea azul aparece para poder manipular el comportamiento del audio a traves del rango X. El eje Y representa el porcentaje de filtro aplicado a las secciones de audio.
En este caso, al elegir controlar el Low-Pass Filter con nuestro recién creado RTPC, una línea azul aparece para poder manipular el comportamiento del audio a traves del rango X. El eje Y representa el porcentaje de filtro aplicado a las secciones de audio.

Pueden escuchar el resultado de esta mezcla dinámica en la siguiente sección del video tutorial:




Como extra, vamos a poner en práctica su conocimiento adquirido de capítulos pasados, ya que generaremos una serie de truenos para que estos se reproduzcan de manera aleatoria desde un random container, con un volumen perceptible únicamente de las 10 a las 15 horas, que es cuando nuestra tormenta está en su máxima intensidad. 

     

Para ello, generaremos un nuevo Random Container llamado Truenos, con un Play Type Random, un Random Type Shuffle y una limitación de repetición de 2, Play Mode Continuous, Scope Global, y activaremos las transiciones tipo Trigger Rate con duración de 10 segundos, en las cuales activaremos la aleatoriedad con un rango mínimo de -2 y máximo de 10 segundos.


Como sugerencia, activen la aleatoriedad del ajuste Low-Pass Filter para dar un sentido de distancia más variado a nuestros sonidos de truenos de distintas intensidades, los cuales buscaré a través de la libreria Soundly y que posteriormente importaré al proyecto Wwise.


Los invito a que hagan pruebas con diferentes valores de la aleatoriedad del trigger rate para que lleguen al resultado que más les guste.




Vamos a vincular este recién creado random container al RTPC “Horas_del_Dia”. Para ello, haremos click en nuestro random container Truenos para seleccionarlo e iremos a la pestaña RTPC. En ella encontraremos un boton con dos flechas >> en la parte izquierda de la ventana. Al hacer click, nos mostrará un menú desplegable con una lista de todos los ajustes que podemos manipular con un RTPC, en este caso, elegiremos Voice Volume, haremos click en las siguientes flechas para elegir nuestro RTPC “Horas_del_Dia”.



Al hacer click, nos mostrará un menú desplegable con una lista de todos los ajustes que podemos manipular con un RTPC.



En este caso, elegiremos Voice Volume, haremos click en las siguientes flechas a la derecha para elegir nuestro RTPC “Horas_del_Dia”.



Una gráfica aparece con una línea roja, la cual podremos manipular para controlar el volumen a través del rango de valores que hemos establecido previamente.


Al haber elegido Voice Volume la gráfica nos muestra los valores preestablecidos del RTPC que van de 0 a 24 en su eje X y en el eje Y podremos observar los valores en decibeles. Estos valores son de tipo offset y son sumados o restados de los valores en los ajustes que se hagan desde el Property Editor. Si se mantiene la recta completamente horizontal en -0.0 significa que no hay alteración al volumen establecido en los ajustes del Property Editor.



Nuestro objetivo es que los truenos se escuchen más intensamente entre las 10 y las 15 horas por lo que manipularemos esta línea para que los truenos se vayan integrando naturalmente a nuestro ambiente. Al hacer click sobre la recta, nuevos puntos de inflexión aparecen, generaré una grafica la cual genere un fade in de las 8 a las 10 horas, y un fade out  de las 15 a las 17 horas para que los truenos vayan paulatinamente desapareciendo.


En la gráfica podemos ver que del valor 0.0 al 8.0 del eje X el volumen se encuentra a -200 dB, lo que es práticamente imperceptible. Podemos observar un Fade-In de las 8 a las 10, alcanzando volumen máximo (-0.0 dB) de las 10 a las 15 hrs, y presentando un Fade-Out de las 15 a las 17 hrs, para bajar hasta los -200 dB y mantenerse ahí hasta las 24 hrs.
En la gráfica podemos ver que del valor 0.0 al 8.0 del eje X el volumen se encuentra a -200 dB, lo que es práticamente imperceptible. Podemos observar un Fade-In de las 8 a las 10, alcanzando volumen máximo (-0.0 dB) de las 10 a las 15 hrs, y presentando un Fade-Out de las 15 a las 17 hrs, para bajar hasta los -200 dB y mantenerse ahí hasta las 24 hrs.

Al hacer la prueba, podremos escuchar cómo los truenos comienzan a aparecer desde las 8 horas encontrando su volumen máximo entre  las 10 y las 15 horas como lo planeamos, y desvaneciéndose entre las 15 y las 17 horas, para dar lugar a una lluvia más tranquila durante el resto del día.


En esta sección del video tutorial podremos escuchar el resultado final de la integración de los truenos:



Te preguntarás como haremos para que los truenos y la lluvia se mezclen y respondan al mismo tiempo al cambio de los valores del parámetro RTPC "Horas_del_Dia". Pues ese es precisamente nuestro último paso.


Para ello, recordemos que una de las propiedades fundamentales del blend container es la reproducción simultánea de contenedores. Así que crearemos un nuevo blend container llamado Ambiente General, en él, arrastraremos ambos contenedores, el blend container Tormenta y el random container Truenos.



Para tener el control sobre el comportamiento del audio de ambos contenedores hijos a través de las horas del día, repetiremos uno de los pasos aprendidos en este capítulo: Iremos a la pestaña RTPC de nuestro recién creado blend container Ambiente General, haremos click en las dos flechas >>, elegiremos Voice Volume de la lista del menú desplegable, después haremos click en las dos flechas a la derecha >> para elegir nuestro RTPC “Horas_del_Dia”, lo que generará que la gráfica con la línea roja aparezca. Esta la dejaremos como una linea recta sobre los -0.0, como se muestra.



Al seleccionar el blend container Ambiente General y presionar la barra espaciadora,  los dos contenedores hijos Truenos y Tormenta se reproducirán y es a través de pestaña  RTPC que podremos audicionar el comportamiento de nuestro ambiente de lluvia moviendo la barra para viajar a traves de los diferentes valores del RTPC mezclando dinámicamente nuestros dos contenedores hijos.


¡Ahora ya puedes controlar el sonido del clima en tiempo real! Podrán escuchar el resultado final en esta sección del video tutorial:



Con esto damos por terminado el analisis del Blend Container. No se pierdan el siguiente capítulo donde abordaremos el Switch Container y temas relevantes a su funcionamiento!   


¡Nos vemos pronto! Sound on!

Comentarios


bottom of page