Dźwięk silnika w TGF/MMF: Różnice pomiędzy wersjami
(Przydałby się ktoś, kto by sprawdził czy wszystko jest OK. W oryginalnym arcie Alicja nieco się pogubiła.) |
|||
Linia 115: | Linia 115: | ||
}} | }} | ||
Później możecie sami łatwo dodać blokowanie i odblokowywanie sterowania samochodem przy pomocy flagi 0 tegoż samochodu. Życzę udanych rajdów. | Później możecie sami łatwo dodać blokowanie i odblokowywanie sterowania samochodem przy pomocy flagi 0 tegoż samochodu. Życzę udanych rajdów. | ||
+ | [[Kategoria:Kursy i tutoriale]] | ||
+ | [[Kategoria:Kursy i tutoriale dla użytkowników MMF]] | ||
+ | [[Kategoria:Kursy i tutoriale dla użytkowników TGF]] | ||
+ | [[Kategoria:Artykuły dla średniozaawansowanych]] |
Wersja z 19:58, 20 lis 2006
Alicja
Ten krótki kurs dla TGF oraz MMF, ma nas nauczyć dodawania dźwięków do naszych wyścigówek. Wielu klikowców ma problem z zsymulowaniem odpowiedniego dźwięku silnika. Można by i odtwarzać odpowiednią próbkę dla danej prędkości, ale zajmowały by one trochę więcej, a efekt byłby średni. Potrzebne składniki do kursu to: DMC2 object, TGF lub MMF i krótki jednolity dźwięk silnika. Na przykład weźmy Engine.wav z gry Genne Rally (do ściągnięcia prawie wszędzie, jest to mała gra freeware). A teraz przejdźmy już do samego kursu.
Wprowadzenie
Posiadając odpowiednią wiedze z lekcji fizyki, jesteśmy przygotowani na to że będziemy musieli zmienić częstotliwość dźwięku. Na szczęście twórcy DMC2 nie omieszkali dać i takiego narzędzia. Tak więc mając już gotowy samochód z ruchem wyścigowym, pliki Engine.wav i bass.dll w folderze z plikiem gam, oraz wstawiony DMC2 object, otwieramy edytor zdarzeń. Na początek musimy otworzyć naszą próbkę, co chyba dla wszystkich jest dziecinnie proste.
Jak to zrobić?
Jako obiekt A oznaczymy DMC2, a jako obiekt B - samochód.
N | Zdarzenia |
1 |
Jak pewnie zauważyliście, zapętlamy próbkę, co powinno być oczywiste. Teraz czas na regulację próbki względem prędkości pojazdu. Dodajemy warunek Always czyli "zawsze" i wybieramy zdarzenie z DMC2 "Set SampleFreq". Teraz zastanówmy się nad wartością. Oczywiście pobierzemy wartość prędkości, tyle, że częstotliwość byłaby w takim wypadku za mała. Mnożymy więc wartość prędkości razy 300 (ja doszłam do tego eksperymentalnie, wy też popróbujcie). Testujemy poziom.
W sumie wszystko wypada pomyślnie, jednak coś tu jest nie tak. Przy prędkości zero nie słychać silnika (300*0 = 0). Zazwyczaj samochód na postoju automatycznie nie wyłącza silnika, robi to kierowca. Musimy więc ustalić początkową wartość częstotliwości, którą dodamy do naszego działania (i wtedy przy prędkości zero 300*0+x=x). Najlepiej dobrać sobie według uznania, mi wypadło 1000. Przypatrzmy się kodowi:
1 |
2 |
Włączanie i wyłączanie silnika
Mamy już to co potrzeba, ale czy nie fajnie by było gdyby ten samochód ładnie się uruchamiał i gasił za naszym pozwoleniem? Nic trudnego! Pożyczymy sobie jedną wartość samochodu (o ile nie użyliście jej na uszkodzenia, wtedy weźcie sobie inną, bądź wyprodukujcie licznik ) oraz flagę - flaga 0 niech będzie flagą stanu silnika. Cała zabawa polega na tym by nie wyłączać od razu dźwięku, a płynnie go zmienić. Wystarczy więc zamiast 1000 dodawać wartość A, i regulować nią w razie zmiany flagi stanu. Zaraz rozjaśnię wam ten bajzel. Ustalając za klawisz włącznika [enter] przystępujemy do modyfikacji kodu.
1 |
Tradycyjnie na starcie ładujemy bibliotekę i odtwarzamy próbkę. Dodatkowo ustalamy flagę 0 samochodu na wyłączoną (auto jest wyłączone).
Zawsze ustalamy częstotliwość dźwięku silnika jako prędkość autka raz 300 plus wartość A samochodzika. To powinno być jasne. Teraz poregulujmy wartość A.
3 |
4 |
5 |
Ostatnie zdarzenie zapobiega wystąpieniu błędu. Jako twórcy gier powinniśmy o tym pamiętać - by zapobiegać prostym błędom. Teraz względy sterowania:
Później możecie sami łatwo dodać blokowanie i odblokowywanie sterowania samochodem przy pomocy flagi 0 tegoż samochodu. Życzę udanych rajdów.