Intermediate - Banques de sons custom
Guide pour créer des banques audio custom avec Wwise.
Outils requis :
Wwise 2022.1.3À télécharger chez Audiokinetic. Utilise la version 2022.1.3. Les banques actuelles de League sont générées avec Wwise 2022.1, et celles d'autres versions risquent de ne pas charger.
Ressources utiles :
Wwise 101Le cours officiel pour débutants. Regarde-le pour apprendre à utiliser Wwise.
Wwise 201Le cours officiel avancé.
League Wwise Hierarchy ReferenceRegarde comment les banques officielles sont structurées et ce que tu peux réutiliser pour améliorer tes sons.
Custom Announcer Template par aurecueil et JessibeeTemplate gratuit. Dépose tes sons dedans pour construire une banque d'annonceur entièrement custom.
Ce guide explique comment construire des banques custom qui fonctionnent dans le système audio de League. Pour les bases de Wwise, commence par Wwise 101 ci-dessus.
Structure des banques et exports séparés
League sépare l'audio en deux fichiers distincts :
audio.bnk/audio.wpk: contient uniquement les médias (les fichiers audio.wembruts).events.bnk: contient la hiérarchie logique (events, séquences d'actions, containers, switches et routage des bus).
La hiérarchie de Wwise est plate. Chaque élément a un ID et un ParentID. Ça permet d'injecter de nouveaux éléments qui se rattachent à des parents existants dans la hiérarchie de League, sans remplacer tout l'arbre.
Séparer l'audio et les events dans tes banques custom
Quand tu génères des SoundBanks, Wwise peut regrouper la structure et les médias dans une seule banque. Tu peux, si tu veux, séparer l'audio des events et de la structure. Séparer permet aux autres d'éditer plus tard tes banques custom avec Quartz.
Si tu sépares, génère :
- Un
_audio.bnkqui contient uniquement les médias. - Un
_events.bnkqui contient la structure et les définitions d'events.
Si tu ne sépares pas, génère :
- Un
_events.bnkqui contient les médias, la structure et les définitions d'events. Bref, tout.
Bonnes pratiques pour la hiérarchie du projet
Évite de placer des objets sonores directement sous un Work Unit :
❌ Mauvais :
Work Unit -> Sound SFX
✅ Bon :
Work Unit -> Actor-Mixer -> Random / Sequence Container -> Sound SFXPourquoi utiliser des Actor-Mixers ?
Un Actor-Mixer sert de contrôleur central pour le kit d'un personnage ou un groupe de sorts. Tu définis les valeurs par défaut une seule fois sur l'Actor-Mixer :
- Routage du bus de sortie (
daad0rhmpour les SFX) - Sharesets d'atténuation
- Priorité de lecture
- Make-up Gain de base
Les containers enfants héritent automatiquement de ces réglages. Si un son a besoin d'un comportement spécial, active Override parent sur cet enfant précis.
Règle le volume avec le Make-up Gain
Pour équilibrer les niveaux dans Wwise, ajuste le Make-up Gain plutôt que le Voice Volume. Le Voice Volume interagit avec les faders au runtime et la marge de ducking. Le Make-up Gain te donne un gain statique propre et prévisible, sans saturation.
Ajouter une variation aléatoire du pitch
Riot applique souvent un léger changement de pitch aléatoire aux actions répétitives pour qu'elles sonnent naturelles (par exemple les variantes du W de Sett ou les procs de Poigne de l'immortel) :
- Sélectionne ton container ou ton objet sonore.
- Fais un clic droit sur l'icône à droite de Pitch.
- Règle une plage, par exemple de
-100à+100cents.
Routage audio : les bus de sortie
Tu ne peux pas modifier ni remplacer les bus existants du jeu. Par contre, tu peux router directement vers les bus existants ou créer tes propres bus enfants en dessous.
| Utilisation | Nom du bus |
|---|---|
| SFX de champion (lancers de sorts standards, impacts et auto-attaques) | daad0rhm |
| VO de champion | vo_champions |
| Annonces de l'annonceur | vo_announcer_default |
| Musique thème du champion (crée un bus enfant custom en dessous) | mus_champion |
| Musique de fond / de la carte | mus_map |
| Notifications et audio de l'UI | sfx_hud |
| Pings tactiques | sfx_pings |
| Sons d'ambiance et d'environnement | sfx_environment |
| Musique de Teamfight Tactics | tft_mus_default |
Les sons de combat des champions doivent toujours passer par daad0rhm. Les
bus wet passent par la reverb et les filtres de distorsion globaux de
l'environnement (comme la distorsion sonore du passif d'Evelynn). Router vers
daad0rhm garde tes SFX clairs.
Auto-ducking des bus officiels
Si ton son custom doit baisser l'audio de fond (par exemple une réplique spéciale sur l'ultime ou une musique custom) :
- Route ton son via un bus enfant custom.
- Dans l'onglet Auto-Ducking de ton bus custom, ajoute le bus officiel ciblé (par exemple
mus_map). - Règle le bus ciblé pour qu'il duck via Bus Volume, jamais via Voice Volume. Ducker le Voice Volume peut couper complètement les sons en cours de lecture.
Positionnement et atténuation
L'atténuation contrôle la façon dont le son diminue avec la distance. Sans atténuation, les sons jouent sur toute la carte à plein volume.
Réglages clés
- Unités de distance : Les unités de distance de Wwise correspondent directement aux unités de portée de League (la portée du Flash est de 400, les attaques à distance de base font entre 500 et 650).
- Désactive Height Spread : League se joue sur un plan plat avec une caméra isométrique. Désactive toujours Height Spread dans le positionnement 3D pour éviter les bugs de panoramique vertical.
- Reproduire les courbes officielles : Tu ne peux pas référencer les assets d'atténuation officiels par ID. À la place, consulte la League Wwise Hierarchy Reference pour voir la distance max, les courbes de roll-off et les cônes utilisés par les champions de base, puis recrée des courbes équivalentes dans les sharesets d'atténuation de ton projet.
Ordre de chargement et overrides via le .bin
Dans League, le premier chargé gagne. Si deux banques définissent le même élément, celui de la deuxième est ignoré sans avertissement.
Tu définis l'ordre de chargement dans le fichier .bin du skin :
bankPath: list[string] = {
"ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Custom_VO_audio.bnk" ← La banque custom charge en premier
"ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Base_VO_audio.bnk"
"ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Base_VO_audio.wpk"
"ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Base_VO_events.bnk"
}Règles de nommage des banques
- Remplacer des events officiels : Si tu remplaces seulement des events qui existent déjà dans le jeu de base, ta banque custom n'a pas besoin de
_eventsdans son nom de fichier. Le moteur a déjà enregistré ces noms d'events depuis la banque de base, donc ta banque les intercepte tant qu'elle charge en premier. - Ajouter de nouveaux events : Si tu ajoutes des events qui n'existent pas sur le champion de base, le nom de fichier de ta banque doit contenir
_events(par exempleYone_Custom_events.bnk). Le loader audio de League ne lit les définitions d'events que dans les banques qui ont_eventsdans leur nom. - States et switches custom : Créer des states ou des switches custom demande de générer et de charger un
Init.bnk. (Injecter ou renommer unInit.bnkcustom dans League est expérimental et non vérifié. Utilise les states et switches officiels existants quand c'est possible.)
Astuce : réglages de conversion
Tu peux utiliser des réglages de conversion custom dans ton projet Wwise (compression Vorbis, qualité ou fréquence d'échantillonnage plus basses) pour réduire fortement la taille finale de tes fichiers .bnk et .wem exportés.
Guide par aurecueil
