Divine Skins
Divine Skins Wiki

Intermediate - Własne banki

Poradnik o tworzeniu własnych banków audio w Wwise.

Potrzebne narzędzia:

Wwise 2022.1.3

Do pobrania od Audiokinetic. Użyj wersji 2022.1.3. Obecne banki League są budowane w Wwise 2022.1, a banki z innych wersji mogą się nie załadować.

Przydatne materiały:

Wwise 101

Oficjalny kurs dla początkujących. Obejrzyj go, żeby nauczyć się obsługi Wwise.

Wwise 201

Oficjalny kurs zaawansowany.

League Wwise Hierarchy Reference

Zobacz, jak zbudowane są oficjalne banki i co możesz wykorzystać, żeby twoje dźwięki brzmiały lepiej.

Custom Announcer Template od aurecueil i Jessibee

Darmowy szablon. Wrzuć do niego swoje dźwięki i zbuduj pełny własny bank announcera.

Info

Ten poradnik pokazuje, jak budować własne banki, które działają w systemie audio League. Podstawy Wwise znajdziesz w Wwise 101 powyżej.


Struktura banków i osobne eksporty

League dzieli audio na dwa osobne pliki:

  • audio.bnk / audio.wpk: zawiera tylko media (surowe pliki audio .wem).
  • events.bnk: zawiera hierarchię logiki (eventy, sekwencje akcji, kontenery, switche i routing busów).

Hierarchia Wwise jest płaska. Każdy element ma ID i ParentID. Dzięki temu można wstrzyknąć nowe elementy, które same podepną się pod istniejących rodziców w hierarchii League, bez podmieniania całego drzewa.

Rozdzielanie audio i eventów we własnych bankach

Przy generowaniu SoundBanków Wwise może spakować strukturę i media do jednego banku. Opcjonalnie możesz oddzielić audio od eventów i struktury. Rozdzielenie pozwala innym później edytować twoje banki w Quartzu.

Jeśli rozdzielasz, wygeneruj:

  1. _audio.bnk z samymi mediami.
  2. _events.bnk ze strukturą i definicjami eventów.

Jeśli nie rozdzielasz, wygeneruj:

  1. _events.bnk z mediami, strukturą i definicjami eventów. Krótko mówiąc, ze wszystkim.

Dobre praktyki w hierarchii projektu

Nie umieszczaj obiektów dźwiękowych bezpośrednio pod Work Unitem:

❌ Źle:
Work Unit -> Sound SFX

✅ Dobrze:
Work Unit -> Actor-Mixer -> Random / Sequence Container -> Sound SFX

Po co Actor-Mixery?

Actor-Mixer działa jak centralny kontroler dla zestawu umiejętności postaci albo grupy czarów. Ustawiasz domyślne wartości na Actor-Mixerze raz:

  • Routing busa wyjściowego (daad0rhm dla SFX)
  • Sharesety tłumienia (attenuation)
  • Priorytet odtwarzania
  • Bazowy Make-up Gain

Kontenery podrzędne automatycznie dziedziczą te ustawienia. Jeśli jeden dźwięk potrzebuje innego zachowania, włącz Override parent na tym konkretnym elemencie.

Głośność ustawiaj przez Make-up Gain

Przy balansowaniu poziomów w Wwise zmieniaj Make-up Gain zamiast Voice Volume. Voice Volume wchodzi w interakcję z faderami w runtime i zapasem na ducking. Make-up Gain daje czyste, przewidywalne, statyczne wzmocnienie bez przesterowania.

Losowa zmiana pitchu

Riot często dodaje lekką losową zmianę pitchu do powtarzalnych akcji, żeby brzmiały naturalnie (na przykład warianty W Setta albo procy Uścisku Nieśmiertelnego):

  1. Zaznacz swój kontener albo obiekt dźwiękowy.
  2. Kliknij prawym przyciskiem ikonę po prawej stronie Pitch.
  3. Ustaw zakres, na przykład od -100 do +100 centów.

Routing audio: busy wyjściowe

Nie możesz zmieniać ani podmieniać istniejących busów gry. Możesz za to kierować dźwięk bezpośrednio do istniejących busów albo tworzyć pod nimi własne busy podrzędne.

ZastosowanieNazwa busa
SFX championa (zwykłe rzucanie czarów, trafienia i auto-ataki)daad0rhm
VO championavo_champions
Komunikaty announceravo_announcer_default
Motyw muzyczny championa (utwórz pod nim własny bus podrzędny)mus_champion
Muzyka w tle / na mapiemus_map
Powiadomienia i audio UIsfx_hud
Pingi taktycznesfx_pings
Dźwięki otoczenia i środowiskasfx_environment
Muzyka z Teamfight Tacticstft_mus_default
Info

Dźwięki walki championów zawsze kieruj do daad0rhm. Busy wet przechodzą przez globalny pogłos otoczenia i filtry zniekształceń (na przykład zniekształcenie dźwięku z pasywki Evelynn). Routing do daad0rhm utrzymuje twoje SFX czyste.


Auto-ducking oficjalnych busów

Jeśli twój dźwięk ma ściszać audio w tle (na przykład specjalna kwestia przy ulcie albo własna muzyka):

  1. Puść swój dźwięk przez własny bus podrzędny.
  2. W zakładce Auto-Ducking swojego busa dodaj docelowy oficjalny bus (na przykład mus_map).
  3. Ustaw ducking docelowego busa przez Bus Volume, nigdy przez Voice Volume. Ducking przez Voice Volume może całkowicie uciąć dźwięki, które już grają.

Pozycjonowanie i tłumienie

Tłumienie (attenuation) określa, jak dźwięk cichnie wraz z odległością. Bez tłumienia dźwięki grają na całej mapie z pełną głośnością.

Ustawienia pozycjonowania w Wwise Ustawienia tłumienia w Wwise

Najważniejsze ustawienia

  • Jednostki odległości: Jednostki odległości w Wwise odpowiadają bezpośrednio jednostkom zasięgu w League (zasięg Błysku to 400, podstawowe ataki dystansowe to od 500 do 650).
  • Wyłącz Height Spread: W League gra się na płaskiej powierzchni z kamerą izometryczną. Zawsze wyłączaj Height Spread w pozycjonowaniu 3D, żeby uniknąć błędów panoramy w pionie.
  • Odtwarzanie oficjalnych krzywych: Nie możesz odwołać się do oficjalnych assetów tłumienia po ID. Zamiast tego sprawdź w League Wwise Hierarchy Reference maksymalny dystans, krzywe roll-off i stożki używane przez bazowych championów, a potem odtwórz takie same krzywe w sharesetach tłumienia swojego projektu.

Kolejność ładowania i nadpisywanie przez .bin

W League wygrywa to, co załaduje się pierwsze. Jeśli dwa banki definiują ten sam element, ten z drugiego banku jest po cichu odrzucany.

Kolejność ładowania ustawiasz w pliku .bin skina:

bankPath: list[string] = {
    "ASSETS/Sounds/Wwise2016/VO/en_US/Characters/Yone/Skins/Base/Yone_Custom_VO_audio.bnk"  ← Własny bank ładuje się pierwszy
    "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"
}

Zasady nazywania banków

  • Nadpisywanie oficjalnych eventów: Jeśli podmieniasz tylko eventy, które już istnieją w grze, twój bank nie potrzebuje _events w nazwie pliku. Silnik ma już zarejestrowane te nazwy eventów z banku gry, więc twój bank je przechwyci, o ile załaduje się pierwszy.
  • Dodawanie nowych eventów: Jeśli dodajesz zupełnie nowe eventy, których bazowy champion nie ma, nazwa pliku twojego banku musi zawierać _events (na przykład Yone_Custom_events.bnk). Loader dźwięku w League czyta definicje eventów tylko z banków, które mają _events w nazwie.
  • Własne state'y i switche: Tworzenie własnych state'ów albo switchy wymaga wygenerowania i załadowania Init.bnk. (Wstrzykiwanie albo zmiana nazwy własnego Init.bnk w League jest eksperymentalne i niesprawdzone. Tam, gdzie się da, korzystaj z istniejących oficjalnych state'ów i switchy.)

Dodatkowa wskazówka: ustawienia konwersji

Możesz użyć własnych ustawień konwersji w projekcie Wwise (kompresja Vorbis, niższa jakość albo częstotliwość próbkowania), żeby mocno zmniejszyć rozmiar wyeksportowanych plików .bnk i .wem.


Poradnik: aurecueil