La dernière version de Wwise 2024.1 pour Godot est disponible, et elle apporte d'importantes améliorations et de nouvelles fonctionnalités pour optimiser le processus d'intégration. Conçue pour une meilleure ergonomie, cette mise à jour introduit des flux de travail similaires à ceux utilisés dans les intégrations Unity et Unreal existantes, ce qui facilite la prise en main pour les développeurs habitués à ces plateformes. Les principales modifications comprennent l'introduction de la WwiseProjectDatabase comme nouvelle source de données, la prise en charge des SoundBanks auto-définies, des Wwise Types, l'amélioration de la prise en charge des plugins sur toutes les plateformes supportées, et bien plus encore. Découvrez ci-dessous le détail complet de ces mises à jour et apprenez-en plus pour vous lancer.
Mises à jour importantes
WwiseProjectDatabase comme source de données
Dans les versions précédentes de l'intégration, WAAPI était utilisé pour générer des IDs Wwise compatibles avec Godot afin d'afficher les objets Wwise dans le Wwise Picker et le WAAPI Browser. Cependant, cette approche présentait plusieurs limites :
- Nécessité d'ouvrir le projet Wwise Authoring en même temps que l'éditeur Godot pour générer les IDs.
- Risques de conflits lors de la connexion à l'application Authoring si plusieurs projets étaient ouverts en même temps.
- Absence de vue d'ensemble de la hiérarchie du projet Wwise. Les objets étaient affichés sous forme d'une liste unique sans contexte (aucun dossier ni Work Unit n'était affiché dans le Picker, par exemple).
- Il fallait régénérer manuellement les IDs dans l'éditeur Godot à chaque mise à jour des SoundBanks.
Quelles sont les nouveautés ?
La WwiseProjectDatabase suit désormais toutes les données pertinentes du projet Wwise et se met à jour automatiquement en surveillant un répertoire SoundBank spécifié par l'utilisateur :
- Une ressource générée appelée
WwiseProjectDatapermet d'accéder facilement aux données relatives au projet Wwise et aux objets Wwise de base comme les Acoustic Textures, Bus Auxiliaires, SoundBanks, Events, Game Parameters, States, Switches et Triggers. Cet asset permet la récupération des données hiérarchiques des objets Wwise et est automatiquement rempli par la ProjectDatabase, garantissant ainsi que l'asset reste à jour avec les modifications apportées au projet Wwise. - Les composants de l'éditeur tels que le Wwise Picker et le nouveau Wwise Browser utilisent désormais ces données structurées à la place des IDs Wwise statiques, vous offrant ainsi un aperçu actualisé de votre projet Wwise sans étapes manuelles supplémentaires. Cette modification améliore l'ergonomie en fournissant une représentation plus fidèle du projet Wwise.
Le Browser et le Picker sont désormais tous deux mis à jour par les données de la ProjectDatabase.
Prise en charge des Wwise Types
Tout comme les Wwise Types de l'intégration Unity, les Wwise Type dans Godot sont un ensemble de classes représentant des objets fondamentaux dans Wwise, tels que les SoundBanks, les Events, les Game Parameters, les States et les Switches. Lorsqu'un Wwise Type est exporté dans un script Godot (c'est-à-dire sérialisé et rendu disponible dans l'Inspector pour que les utilisateurs puissent le modifier), un bouton apparaît dans l'Inspector de Godot, permettant aux utilisateurs de sélectionner l'objet requis via le Wwise Picker dédié :
En plus de représenter les objets Wwise, les Wwise Types sont dotés de fonctionnalités intégrées qui permettent aux développeurs d'interagir directement avec ces objets. Cela évite d'avoir à se fier uniquement aux fonctions exposées dans le singleton Wwise .
Par exemple :
- La classe
WwiseEventcomprend une méthodepostpermettant de publier des Events directement à partir de l'objet. - La classe
WwiseRTPCfournit une méthodeset_valuepour définir des valeurs de RTPC.
Ces exemples illustrent l'approche intuitive des Wwise Types pour interagir avec les objets Wwise.
Prise en charge des SoundBanks auto-définies
L'intégration prend désormais en charge les SoundBanks auto-définies (« Auto-Defined SoundBanks ») par défaut. Lorsqu'un objet WwiseEvent faisant référence à un Event non inclus dans une SoundBank définie par l'utilisateur est instancié dans le moteur, l'intégration prépare automatiquement l'Event à l'aide de l'API AK::SoundEngine::PrepareEvent après avoir chargé sa SoundBank. L'intégration annule la préparation de l'Event et décharge sa SoundBank correspondante lorsque le WwiseEvent est détruit et n'est plus référencé. C'est la ProjectDatabase qui détermine si un Event appartient ou non à une SoundBank définie par l'utilisateur.
À la suite de cette modification, le Node AkBank et le type WwiseBank ne permettront plus de sélectionner que des SoundBanks définies par l'utilisateur dans le Wwise Picker.
Amélioration de la prise en charge des plugins sur toutes les plateformes
Bien que l'intégration prenne déjà en charge les plugins, leur activation était un processus compliqué. Les utilisateurs devaient recompiler l'intégration et spécifier explicitement les plugins qu'ils souhaitaient utiliser (par exemple, AK Convolution Reverb). Ce processus a désormais été simplifié sur toutes les plateformes supportées :
- La ProjectDatabase identifie les plugins utilisés dans le projet.
- Lors de l'exportation, l'intégration copie automatiquement les plugins requis dans le répertoire d'exportation, ce qui permet au moteur audio de Wwise de les charger automatiquement.
- Lors de la prévisualisation du jeu dans l'éditeur,
AkInitSettings::szPluginDLLPathest utilisé pour spécifier le chemin d'accès aux bibliothèques partagées nécessaires au moteur audio. - Sur les plateformes comme iOS, les bibliothèques statiques et le code d'initialisation nécessaire sont ajoutés au projet Xcode lors de l'exportation. Cela est réalisé à l'aide des API d'exportation Godot telles que
EditorExportPlugin::add_ios_project_static_lib
etEditorExportPlugin::add_ios_cpp_code.
De plus, les utilisateurs peuvent désormais utiliser facilement leurs propres plugins personnalisés sans avoir à recompiler l'intégration. L'intégration détectera l'utilisation de plugins personnalisés dans le projet. Cependant, les plugins du moteur audio doivent être copiés manuellement dans le dossier DSP de la plateforme correspondante dans l'intégration. La page Wiki comprend un guide qui explique ce processus.
Objets Wwise en tant qu'assets
Lorsque vous sélectionnez un objet Wwise dans le Wwise Picker, une ressource Godot Asset correspondante est créée dans res://Wwise/resources. Les ressources stockent des informations telles que :
- Le nom, l'ID et le GUID de l'objet Wwise.
- Des métadonnées supplémentaires, par exemple si un Event est inclus dans une SoundBank définie par l'utilisateur.
Elles sont utilisées et référencées par des Nodes d'intégration tels que AkEvent3D, AkBank, AkSwitch, AkState etc. et par les Wwise Types exportés.
Il est important de noter que ces ressources ne sont créées que lorsque les utilisateurs les utilisent activement (par exemple, en les sélectionnant dans le Wwise Picker) et non pour tous les objets du projet Wwise.
Documentation accessible dans le moteur de jeu
Une documentation succincte et des extraits de code pour les fonctions des singletons Wwise et WAAPI , ainsi que divers Wwise Types, sont désormais accessibles directement dans l'éditeur. Les utilisateurs peuvent accéder à la page de documentation en appuyant sur CTRL et en cliquant sur une fonction :
Premiers pas avec Wwise et Godot
Voici comment configurer l'intégration Godot de Wwise en quelques étapes seulement :
Télécharger la dernière version
- Téléchargez la dernière version de l'intégration Godot de Wwise à partir de la page Releases de ce repository.
- Assurez-vous d'avoir installé Wwise 2024.1.1 et Godot 4.3 .
Installation et configuration
- Le Guide de démarrage vous guidera tout au long de la configuration initiale.
Explorer le Wiki
- La page Wiki propose des tutoriels complets et des exemples utiles qui vous aideront à tirer le meilleur parti de l'intégration.
Rejoignez la communauté Discord pour partager vos expériences et poser des questions.



Commentaires