Silnik gier: muzyka sama schodzi pod dialog (auto-sidechain)
Gdy dodawaliśmy do silnika gier ducking, obiecaliśmy „co dalej": automatyczne wyzwalanie, gdy zagra dźwięk na kanale dialogu. Jest. Auto-sidechain to ten „radiowy" miks znany z każdej dobrej gry: postać zaczyna mówić — muzyka schodzi; kończy — muzyka wraca. Tyle że teraz nie piszesz tego przy każdej kwestii.
Skonfiguruj raz
mp.set_sidechain("dialogue", "music", 0.3, 0.1, 0.5)
Czyli: każdy dźwięk zagrany na magistrali dialogów przycisza muzykę do 30% — zejście w 0,1 s, utrzymanie tak długo, jak długo trwa kwestia, powrót w 0,5 s. Od tej pory mp.play_sound('kwestia.ogg', 'dialogue') załatwia wszystko: silnik sam wie, kiedy linia się zaczęła i kiedy skończyła.
Nakładające się kwestie? Muzyka wraca dopiero po ostatniej. Dwie linie z krótką przerwą? Muzyka zostaje ścichnięta między nimi — żadnego „pompowania" głośności w górę i w dół, które natychmiast słychać.
Ręczne wodze, gdy trzeba
mp.sidechain_hold()/mp.sidechain_release()— przytrzymaj ścichnięcie na czas cutscenki albo rozmowy, niezależnie od tego, co akurat gra.- Ręczny
mp.duckz głębszym poziomem wygrywa na czas swojego trwania (dramatyczne przyciszenie w kulminacji sceny), a po nim sidechain płynnie wraca do swojej roboty. mp.clear_sidechain()— wyłącza całość, z płynnym powrotem głośności.
Pod maską: zero drugiego systemu
Sidechain nie ma własnej obwiedni — jeździ na tej samej maszynie co ręczny ducking, z jednym sprytnym oznaczeniem, po którym silnik odróżnia „swoje" ścichnięcie od ustawionego ręcznie. Dzięki temu oba światy współistnieją bez konfliktów: sidechain nigdy nie ucina ręcznego przyciszenia, a ręczne mp.stop_duck nie zrywa utrzymania pod trwającym dialogiem. Pauza zamraża obwiednię, spowolnienie ją rozciąga — jak wszystko w czasie gry.
Co dalej
W kolejce: presety miksu (jedno wywołanie przełącza głośności wielu magistral naraz, np. „menu" / „rozgrywka" / „cutscenka").