viernes, 23 de marzo de 2018

Integración de Wwise en proyectos de Unity

No suelo escribir este tipo de cosas técnicas en este blog, pero como es una información que suelo repetir unas cuantas veces al año, he decidido recogerla aquí de forma resumida.

Wwise es un middleware de audio que te permite englobar todo los assets y lógica relativos a música, diálogos y efectos de sonido de tu proyecto. Esto permite que los diseñadores de sonido y los músicos (o la única persona que se encargue de todo el apartado sonoro, como es habitual en los proyectos en los que participo) trabajen de forma independiente, sin tener que tocar en exceso prefabs, escenas, etc. Además permite tener un proyecto de sonido en el que se recoja todo el material de forma muy versátil, ofreciendo un marco de organización de assets bastante eficaz. Wwise puede integrarse con gran diversidad de motores de juego, pero me centraré en su integración con Unity en este post.

Con respecto al uso de Wwise en Unity diferenciaremos tres elementos:
  • Wwise launcher: es una herramienta tipo hub en la que podremos realizar tareas como:
    • Gestionar las diferentes versiones de la herramienta de authoring que tengamos o que queramos tener instaladas.
    • Gestionar la integración de Wwise en diferentes proyectos de Unity: instalar, actualizar, etc.
    • Conocer las últimas novedades relativas a este software.
    • Como Unity Hub no me funciona, yo también la utilizo para abrir directamente todos los proyectos de Unity que tengo con su versión específica :)
  • Herramienta de authoring: es el software en el que trabajan los diseñadores de sonido y desde el que se generan los bancos de sonido.
  • Plug-in para Unity: es el conjunto de librerías y funcionalidades que se integran en Unity.
Aquí está la información oficial que ofrece Audiokinetic con respecto a la instalación. A continuación una guía rápida y resumida de integración en Unity:
  1. Lo primero que tenemos que hacer es instalar precisamente el launcher desde esta página
  2. Hacemos una rama estable del proyecto para realizar todo el proceso de integración (ej: feature/wwise).
  3. Abrimos el launcher (puede ser buena idea hacerse una cuenta en audiokinetic) y en la pestaña "Wwise" elegimos una versión y presionamos "install". Suele ser bastante acertado instalar la última disponible. En este momento tendremos que elegir una ruta y tendremos que elegir las plataformas para las cuales queremos desplegar nuestro proyecto (ej: Android, Windows, etc.). Si se te olvida alguna plataforma, no te preocupes, podrás instalarla más adelante.
  4. En el siguiente paso nos darán la opción de instalar algunos plug-ins. Mi consejo aquí es que, si piensas utilizar la versión gratuita de Wwise o simplemente estás empezando, los desmarques todos. Al final de esa página puedes volver a hacer click en "install".
  5. En este punto ya tenemos instalada la herramienta de authoring. A continuación la abriremos y crearemos un nuevo proyecto, que utilizaremos en nuestro juego de Unity. La ruta que yo utilizo normalmente es una carpeta llamada "WwiseProject" dentro de la carpeta del proyecto de Unity. Puede que te salga algún mensaje relativo a la licencia del software, que de momento ignoraremos. Con el proyecto creado, lo guardamos vacío y salimos de la herramienta. En este momento podemos subir a nuestra rama nuestros cambios, porque no debería haberse roto nada todavía :)
  6. Comenzamos con la instalación del plug-in. Volvemos al launcher y en la pestaña "Unity" debería aparecernos nuestro proyecto. Si no aparece, puedes hacer click en el icono que aparece junto a "Recent Unity Projects" y buscar utilizando "Browse for project...". Cuando aparezca podemos presionar "Integrate Wwise into Project". Es obligatorio tener Unity cerrado en este paso.
  7. En las opciones de integración, de nuevo dejamos todas las opciones por defecto, marcando las plataformas que nos interesen. En "Wwise Project Path" ponemos la ruta en la que hemos colocado nuestro proyecto de Wwise (paso 5). El instalador ofrece dos opciones: "Install files into a copy of the Unity project directory, then apply changes if succesful (recommended)" y "Install files directly into the Unity project directory". A mi siempre me ha dado mejor resultado la opción no recomendada y es la que utilizo. A fin de cuentas, al tenerlo todo versionado, tampoco se pierde nada si hubiera algún problema. Hacemos click en "Integrate".
  8. Este proceso tardará más o menos dependiendo del tamaño de tu proyecto.
  9. Wwise está integrado en tu proyecto.
Notas adicionales:
  • El paso intermedio de crear el proyecto ANTES de instalar el plug-in ha sido el movimiento preventivo necesario para evitar algunos fallos que hemos tenido en algunos juegos. Quizás en las últimas versiones no sea necesario.
  • De cara a actualizar la versión de Wwise, se recomienda igualmente actualizar primero el proyecto, abriéndolo desde la versión correspondiente, y luego el plug-in de Unity.
  • Puedes solicitar una licencia gratuita para proyectos con ciertas características en la página de Audiokinetic (con la limitación de que hay un máximo de 500 assets por proyecto). 
  • Es recomendable que incluso los programadores del proyecto tengan instalada la herramienta de authoring, para poder regenerar los soundbanks desde Unity usando el Wwise Picker (Window/WwisePicker).
  • Si no has creado ningún Soundbank al crear el proyecto, Unity te dará un error del tipo "Failed to set soundbanks base path", pero es normal. Con que la persona responsable cree un soundbank de prueba, será suficiente para arreglarlo.
  • Has de solicitar las licencias mediante la plataforma de audiokinetic.
Eso es todo: es un proceso muy sencillo, pero espero que este texto pueda servirle a alguien que esté un poco perdido.

No hay comentarios:

Publicar un comentario