12.07.2026 02:44

Silnik gier: muzyka, która ścisza się pod dialogiem (ducking)

⏱️ 2 min read
Share:

Silnik gier 2D Moonlight Studio dostał ducking — automatyczne przyciszenie jednej kategorii dźwięku na czas, z płynną obwiednią. To ten mało zauważalny, a wszechobecny zabieg: gdy postać zaczyna mówić, muzyka schodzi o kilka decybeli, a po kwestii wraca. Bez tego dialog ginie w podkładzie.

Jedna linijka przed dialogiem

mp.duck("music", 0.3, 0.1, 1.0, 0.5)

Czyli: przycisz „music" do 30% w 0,1 s, potrzymaj 1 s, i przez 0,5 s wróć do pełnej głośności. Efekty i głosy grają przez ten czas bez zmian — ściszasz tylko wskazaną kategorię.

Do sterowania w locie:

mp.stop_duck("music")     -- natychmiast zacznij powrót
local trwa = mp.is_ducking("music")

Osobna oś od suwaka gracza

Najważniejszy szczegół jest niewidoczny: ducking nie walczy z ustawieniem głośności z opcji. Gracz może mieć muzykę na 60%, a ducking i tak przyciszy ją względem tego — dwa niezależne mnożniki. Gdyby ducking i suwak dzieliły jedno pokrętło, ruszenie suwaka w trakcie ściszania zdejmowałoby duck na jedną klatkę i słychać by było „pyknięcie". Tutaj to po prostu nie może się zdarzyć — pod maską jedna wspólna formuła liczy końcową głośność każdego dźwięku z obu osi naraz.

Zaprojektowane, by nie „pyknąć"

  • Ponowny duck w trakcie startuje z bieżącego poziomu, nie od zera — kilka nakładających się wyzwoleń (np. seria szybkich kwestii) nie robi skoku głośności w górę.
  • Powrót jest dokładny — obwiednia wraca do pełnej głośności co do joty, bez dryfu, który po wielu duckach zostawiłby muzykę odrobinę za cicho na zawsze.
  • Liczy się w czasie gry — pauza zamraża obwiednię, spowolnienie ją rozciąga; ściszenie zachowuje się jak reszta świata.

Co dalej

Fundament jest gotowy. W kolejce: automatyczne wyzwalanie ducka, gdy zagra dźwięk na kanale dialogu (sidechain), oraz więcej kategorii do osobnej regulacji.

📚 Related posts

27.08.2026 20:55

Data, której nie cofniemy nawet my

Każdy certyfikat autorstwa dostaje datę zapisaną w blockchainie Bitcoina — takiej nie podważy nikt, my też nie. Sprawdzisz ją bez konta i bez Moonligh...
Continue reading →
27.08.2026 19:35

Twój kolor, wszędzie

Trzy tryby i siedem akcentów, wspólnych dla strony i Moonlight Animate. Motyw jedzie z kontem, profil pokazuje gościom Twoje kolory, a harmonogram sam...
Continue reading →
27.08.2026 18:31

Kto moderuje i na jakiej podstawie

Moderator to teraz osobna rola z własnym zakresem, a nie administrator w przebraniu. Odrzucenie treści wymaga powodu, który trafia do autora razem z d...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.