Wwise possède de nombreuses fonctionnalités ; mais en début de développement, lorsque vous ne disposez pas de suffisamment d'informations sur la manière de l'utiliser, il est possible qu'il ne fonctionne pas comme prévu. Je ne veux pas que vous ayez l'impression que Wwise soit difficile à utiliser simplement à cause d'une difficulté rencontrée au départ, alors permettez-moi de vous guider à travers un processus qui fonctionnera sans problème, tant que vous suivrez les étapes décrites ci-dessous.
Dans ce premier article, j'irai jusqu'à jouer des sons avec Unreal Engine.
Les versions que j'ai utilisées pour vérifier que ce processus fonctionne :
- Wwise 2023.1.1.8417
- Unreal Engine 5.3.2
Notez que si vous utilisez une autre version, il est possible que les choses fonctionnent différemment.
Table des matières
Créer un projet
Créer un projet Unreal
Effectuer l'intégration Unreal
Configuration initiale de Wwise
Configuration initiale d'Unreal
Programmer des sons dans le projet Wwise
Créer des UAssets
Jouer des sons depuis un Blueprint
Quelques considérations
Annexe - Exemple de configuration de dossier
Tout inclure dans le projet Unreal
Placer le projet Wwise en-dehors du projet Unreal
Annexe - Comment créer des UAssets
Annexe - Moyens rapides de jouer des sons
Jouer des sons en utilisant AkAmbientSound
Jouer des sons à l'aide d'un Blueprint
Jouez des sons en utilisant C++
Créer un projet
Créer un projet Unreal
1. Ouvrez Unreal Engine et sélectionnez « GAMES – Third Person ».
2. Spécifiez le nom du projet.
• Dans mon exemple, j'ai nommé le projet « ThirdPerson_Tutorial ».
3. Cliquez sur le bouton « Create » pour créer un nouveau projet.
4. Après avoir créé le projet, la vue de l'éditeur d'Unreal Engine s'ouvrira, mais gardons-la pour fermée l'instant.
Effectuer l'intégration Unreal
1. Ouvrez l'Audiokinetic Launcher, et ouvrez l'onglet Unreal.
2. Cliquez sur le bouton « Integrate Wwise in Project... » du projet « ThirdPerson_Tutorial » que vous venez de créer.
3. Assurez-vous de sélectionner la plateforme que vous voulez intégrer.
4. Si vous ne spécifiez pas de chemin pour le projet Wwise, un projet Wwise sera automatiquement créé à l'intérieur du projet Unreal.
• Si vous avez déjà créé un projet Wwise quelque part, spécifiez-le ici pour l'utiliser.
5. Cliquez sur le bouton « Integrate ».
6. L'intégration est maintenant terminée.
7. Ensuite, afin de mettre à jour votre projet Wwise, cliquez sur « Open in Wwise – Wwise 2023.1.1.8417 ».
Configuration initiale de Wwise
1. Allez dans le menu « Project – Project Settings – SoundBanks », et cochez « Enable Auto-Defined SoundBanks ».
2. Sauvegardez le projet Wwise et relancez Unreal Engine.
Configuration initiale d'Unreal
1. Ouvrez le menu « Edit – Project Settings.... »
2. Allez dans « Wwise – User Settings – WAAPI », et activez l'option « Auto Connect to WAAPI ».
3. Allez dans le menu « Wwise – Integration Settings – Installation – Root Output Path », et spécifiez la localisation du dossier « GeneratedSoundBanks » de votre projet Wwise.
• Si vous laissez ce champ vide, il référencera le dossier « Content » et ne sera pas en mesure de jouer des sons correctement.
4. Lorsque vous ouvrez Unreal Engine, l'outil de création Wwise affichera la fenêtre de dialogue contenant l'avertissement « External Project Changes ». Cliquez sur le bouton « Reload ».
5. Un avertissement apparaîtra dans le Wwise Browser vous indiquant que les métadonnées des SoundBanks n'ont pas été trouvées, mais ne vous inquiétez pas, et cliquez simplement sur le bouton « Generate SoundBanks... ».
6. Dans la boîte de dialogue « Generate SoundBanks », cliquez sur le bouton « Generate » pour générer les SoundBanks et afficher la configuration de répertoire dans le Wwise Browser.
Programmer des sons dans votre projet Wwise
Essayons maintenant de jouer un son d'ambiance.
Nous allons utiliser un son se trouvant dans le dossier « IntegrationDemo » :
•<Wwise>\SDK\samples\IntegrationDemo\WwiseProject\Originals\SFX
1. Faites un glisser-déposer sur le fichier « waves.wav » depuis ce dossier vers la Default Work Unit de l'Actor-Mixer Hierarchy, ce qui affichera la boîte de dialogue « Audio File Importer ».
2. Cliquez sur le bouton « Import », et le fichier sera enregistré en tant qu'objet Sound SFX nommé « waves ».
3. Dans le Project Explorer, sélectionnez l'objet Sound SFX « waves » que vous venez de créer pour afficher des informations d'objet sur la droite.
4. Dans l'onglet « General Settings », il y a un paramètre « Loop ». Activez-le.
5. Faites un clic droit sur l'objet Sound SFX « waves » et créez les Events suivants depuis le menu « New Event » :
•Play_waves : Joue l'objet Sound SFX « waves »
•Stop_waves : Stoppe l'objet Sound SFX « waves »
6. Une fois ces étapes terminées, sauvegardez le projet Wwise et relancez Unreal Engine.
Création des UAssets
Afin de jouer le son, vous devez créer un asset Unreal Engine, ou « UAsset ».
Il y a plusieurs manières de le faire, mais laissez-moi vous montrer la méthode utilisant la fonctionnalité « Reconcile ».
1. Tout d'abord, créez une SoundBank incluant les Events que vous venez de créer.
2. Ensuite, dans le Wwise Browser, cliquez sur le bouton « Reconcile ».
3. Vérifiez que la colonne « UAsset Operation » soit réglée sur « Create » et cliquez sur le bouton « Reconcile Unreal Assets ».
4. Les UAssets viennent d'être générés. Dans le Wwise Browser, vérifiez la colonne « Wwise UAssets Status ».
Jouer des sons depuis un Blueprint
Dans cette section, je vais vous montrer comment jouer des sons à partir d'un Blueprint.
1. Depuis le menu, sélectionnez « Open Level Blueprint ».
2. Faites un clic droit sur la vue Blueprint pour créer un événement « BeginPlay ».
3. Faites glisser un connecteur depuis l'événement « BeginPlay » pour créer un module « PostEvent ».
4. Dans la zone « Ak Event », sélectionnez « Play_waves ».
5. Compilez le Blueprint.
6. Sans rien changer d'autre, cliquez sur le bouton « Play ».
7. Vous devriez maintenant entendre le bruit des vagues !
Quelques considérations
J'ai suivi moi-même les étapes de cet article pour m'assurer de leur bon fonctionnement. Cependant, certaines étapes ou captures d'écran peuvent être différentes avec les futures mises à jour. Si vous remarquez des comportements différents de ceux que j'ai décrits ici, veuillez m'en faire part dans la section Commentaires.
S'il y a d'autres fonctionnalités que vous aimeriez voir, veuillez également les indiquer dans les Commentaires.
Annexe - Exemple de configuration de dossier
Tout inclure dans le projet Unreal
Vous pouvez inclure le dossier « Generated SoundBanks » dans le projet Wwise, et placer l'ensemble du projet Wwise à l'intérieur du projet Unreal.
• Avantage : Tout est réuni dans un seul dossier/Repository.
• Inconvénient : Les personnes n'étant pas concepteurs sonores doivent tout de même télécharger le projet Wwise (bien qu'elles n'aient pas besoin de l'outil de création Wwise).
Placer le projet Wwise en-dehors du projet Unreal
Vous pouvez placer le dossier « Generated SoundBanks » à l'intérieur du projet Unreal, et placer le projet Wwise à l'extérieur du projet Unreal.
• Avantage : Les personnes n'étant pas concepteurs sonores n'ont pas besoin de télécharger le projet Wwise.
• Inconvénient : Tout est divisé entre plusieurs dossiers/Repository.
*ASTUCE : Pour que cette configuration fonctionne dans l'éditeur Unreal, le minimum requis se résume aux fichiers localisés directement dans le dossier « Generated SoundBanks » et au dossier Windows.
Annexe - Comment créer des UAssets
A) Dans le Wwise Browser, glissez-déposez un Event dans la fenêtre de navigateur de contenu (« Content Browser »).
B) Faites un clic droit et sélectionnez « Import Selected Assets » dans le menu déroulant.
• Vous pouvez spécifier plusieurs Events ou dossiers à la fois.
C) Vous pouvez également créer des UAssets en faisant un glisser-déposer des Events depuis le Wwise Browser vers la zone de propriété de l'acteur, ou vers un composant du Blueprint ciblé.
D) Seulement dans le cas des Events, vous pouvez les glisser-déposer depuis le Wwise Browser vers la fenêtre de visualisation (« Viewport ») pour générer des UAssets en même temps que des AkComponents.
Lorsque vous effectuez les étapes C ou D, les UAssets seront générés à l'emplacement spécifié dans le menu Edit – Project Setting – Wwise – Integration Settings – Asset Creation – Default Asset Creation Path :
Annexe - Moyens rapides de jouer des sons
Jouer des sons en utilisant AkAmbientSound
1. Placer un acteur AkAmbientSound.
2. Définissez l'Event que vous désirez jouer dans le menu « Ak Event ».
3. Activez l'option « Auto Post ».
4. Réglez l'option « Obstruction Occlusion - Refresh Interval » sur 0.0.
Jouer des sons à l'aide d'un Blueprint
1. Sélectionnez le menu « Open Level Blueprint ».
2. Créez un événement « BeginPlay ».
3. Créez un module « Post Event » depuis l'évènement « BeginPlay ».
4. Définissez l'Event que vous désirez jouer dans le champ « Ak Event » du « Post Event ».
Jouer des sons en utilisant C++
Vous pouvez effectuer un Post Event en utilisant la méthode UAkAudioEvent, définie dans AkAudioEvent.h.
1. Vous pouvez effectuer un Post Event sur l'acteur, le composant ou le GameObject spécifié.
- AkPlayingID UakAudioEvent::PostOnActor()
- AkPlayingID UakAudioEvent::PostOnActorAndWait()
- AkPlayingID UakAudioEvent::PostOnComponent()
- AkPlayingID UakAudioEvent::PostOnComponentAndWait()
- AkPlayingID UakAudioEvent::PostOnGameObject()
- AkPlayingID UakAudioEvent::PostOnGameObjectAndWait()
- AkPlayingID UakAudioEvent::PostOnGameObjectID()
2. Vous pouvez utiliser un GameObject fictif.
- AkPlayingID UakAudioEvent::PostAtLocation ()
- AkPlayingID UakAudioEvent::PostAmbient()
3. APIs that manage data loading:
- void UakAudioEvent::LoadData()
- void UakAudioEvent::UnloadData()
- bool UakAudioEvent::IsDataFullyLoaded()
- bool UakAudioEvent::IsLoaded()
Commentaires