Gość Diegtiariow Opublikowano 3 Maja 2023 Zgłoś Udostępnij Opublikowano 3 Maja 2023 NAZWA: Dodajemy nowy dźwięk TWÓRCA: AziatkaVictor Od twórcy: „To jest mały przewodnik po wprowadzaniu nowych dźwięków do Stalkera. Jest kilka podstawowych pojęć, o których po prostu musisz wiedzieć - bez nich nic nie będzie działać”. PRACA W EDYTORZE AUDIO: Spoiler Pierwsze, co trzeba wiedzieć, to jaki dokładnie dźwięk jest nam potrzebny. Prościej mówiąc, należy określić, w jaki sposób dźwięk będzie odtwarzany. Jest to ważne na początku pracy. To typ dźwięku. Są dwa możliwe warianty, od których będzie zależeć efekt: Mono. Taki typ jest potrzebny w celu odtwarzania dźwięków przedmiotami, bronią, itd. To wszystko z powodu tego, że dźwięk jest odtwarzany w jednym z uszu z określoną głośnością. Pozwala to stworzyć efekt 3D. Natomiast dla stereo to nie pasuje, ponieważ w stereo dźwięk jest odtwarzany różnie w każdym z uszu, a tutaj jest całkiem inna zasada działania. Stereo. Ten typ jest wykorzystywany w celu odtwarzania dźwięków u "GG w głowie", tzn. dźwięk będzie odtwarzany z jednakową głośnością w trybie stereo. Jest to wykorzystywane dla dźwięków GG, lektora SMS i ambientów. UWAGA: Nie róbcie Stereo dla dźwięków, które będą odtwarzane z przedmiotów w przestrzeni 3D. Jeśli dźwięk jest w Stereo, to jest tak, jakbyście go nie ustawiali - będzie on odtwarzany w głowie, a wy będzie mówić, że jest nie w porządku. Wszystko jest proste. Wybieramy typ dźwięku, dla naszych potrzeb i eksportujemy wybrany dźwięk w formacie *.wav. UWAGA: Częstotliwość dźwięku powinna być 44100 Hz. PRACA W SDK: Spoiler Aby SDK zobaczył nasz dźwięk, trzeba go dodać do folderu "rawdata/sounds". Później uruchamiamy SDK i otwieramy zakładkę "Sounds/Sound Editor". To panel, który pomoże nam w ustawieniu dźwięku. Poszczególne parametry oraz to, za co odpowiadają: Quality - szerokość pasma częstotliwości, otaczająca centralną częstotliwość (dla bardziej płynnego zanikania dźwięku lub jego stabilności) MinDis - odległość, od której głośność dźwięku będzie się obniżać (im niższa do MaxDist, tym płynniejsze przejście, ale Quality trzeba zwiększyć) MaxDist - maksymalna odległość, z której dźwięk będzie słyszeć GG MaxAIDist - maksymalna odległość, z której dźwięk będzie słyszeć NPC BaseVolume - głośność GameType - element wpływający na reakcję NPC. Parametry zostały wzięte z Wiki Dla dźwięku, który będzie odtwarzany w głowie GG, większości parametrów nie trzeba ustawiać. Można od razu z edytora audio eksportować do formatun *.ogg. A dla dźwięku mono, ustawiamy potrzebne parametry, naciskamy "ОК" i nasze dźwięki pojawiają się w folderze "gamedata/sounds" w formacie *.ogg. Czeka nas później praca z konfigami. PRACA Z KONFIGAMI: Spoiler Aby gra widziała nasz dźwięk i nie było wylotu do pulpitu podczas próby odtworzenia, trzeba go dopisać w konfigu "script_sound_lokacja". Jeśli utworzysz ten plik specjalnie dla swojej lokacji, to trzeba dołączyć go do głównego konfigu "script_sound", pisząc w nim: #include "script_sound_lokacja.ltx" Również dołączamy listę: [list]: list_music_and_stories, list_script_sound_zaton, list_script_sound_jupiter, list_script_sound_pripyat, list_script_sound_underpass, list_script_sound_lokacja Następnie dopisujemy dźwięk w konfigu. Trzeba go dopisać do listy i stworzyć jego sekcję. Np. chcemy dodać muzykę dla radia. Dopisujemy w konfigu to: [list_script_sound_lokacja] nasz_dźwięk [nasz_dźwięk] type = 3d npc_prefix = false path = music\nasz_dźwięk shuffle = loop idle = 0,0,100 Parametry z sekcji: Type Actor - określa dźwięk odtwarzany od strony aktora. To dźwięki z PDA, wszelkiego rodzaju wiadomości SMS-owe, rozmowy pilotów - wszystko, czego potrzebujesz, aby grać bez utraty głośności od usunięcia źródła. Za inicjalizację i odtworzenie dźwięku odpowiada skryptowa klasa actor_sound. 3D - określa dźwięk odtwarzany przez obiekty. Skryptowa klasa object_sound odpowiada za inicjalizację i odtwarzanie dźwięku. NPC - określa dźwięk odtwarzany przez NPC. Skryptowa klasa npc_sound odpowiada za inicjalizację i odtwarzanie dźwięku. Path - ścieżka do dźwięku w folderze "sounds" npc_prefix - jeśli "true" i "type = aktor" lub "false" i "type = npc", to do wartości ścieżki do dźwięku zostanie dodane "characters_voice" na początku. Jeśli true i type = npc, to zostanie dodane coś w rodzaju "character_voice\human_01\bandit", to znaczy zawartość npc:sound_prefix(). Wartość domyślna to false. Shuffle - wartością domyślną jest rnd. rnd - wybiera losowy plik z tablicy dźwięków seq - odtwarza w kolejności do końca stołu, loop - tak samo jak seq, przeskakuje po końcu tablicy tylko do pierwszego dźwięku w tablicy dźwięków. Wartość domyślna to 3,5,100. idle - trzy liczby oddzielone przecinkami. Parametry odtwarzania dźwięku Pierwsza wartość - minimalny odstęp między dźwiękami. Druga wartość - maksymalny interwał (w sekundach). Trzecia wartość - prawdopodobieństwo, z jakim dźwięk zostanie odtworzony, gdy nadejdzie jego czas. Parametry z Wiki "I to wszystko. Następnie wykorzystujemy dźwięk do własnych celów, odtwarzamy go za pomocą logiki lub skryptów lub umieszczamy w SDK." ŹRÓDŁO: https://ap-pro.ru/forums/topic/245-добавляем-новый-звук/ Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
OldMan Opublikowano 9 Listopada 2023 Zgłoś Udostępnij Opublikowano 9 Listopada 2023 @Wojownik Jestem w trakcie tłumaczenia moda Чужой среди чужих Epizod 2. Problemem nie jest samo tłumaczenie ale to, że autor wprowadził takie rozwiązanie w którym dialogi są tylko czytane. Nie ma do nich zapisów w plikach tekstowych. I w większości sytuacji pomaga operowanie na plikach: gamedata\configs\misc\closecaption.ltx Przykładowy wpis: ["characters_voice-scenario-escape-tot_sidor"] = {-4, 4000, "ui_inGame2_Hero", "stalker", "Bumer"}, gamedata\configs\text\pol\st_closecaption.xml <string id="characters_voice-scenario-escape-tot_sidor"> <text> Ten sam Sidorowicz, o którym mi mówili? Interesujące... </text> </string> To rozwiązanie działa w przypadku wiadomości przychodzących - wychodzących, dialogów, komentarzy ale nie zawsze. Wyświetlenie napisów w takim rozwiązaniu związane jest z rozpoczęciem odtwarzania pliku audio tot_sidor.ogm Są jednak takie miejsca gdzie dźwięk (zanim pojawi się np. dialog) jest odtwarzany 7 sek. Tu taki przykładowy problematyczny plik eto_kto_tam.ogg: Spoiler eto_kto_tam.ogg Tekst musiałby być wyświetlany przez 24 sek. Żeby to dobrze wyszło trzeba podzielić plik na cztery części. Spoiler eto_kto_tam.ogg eto_kto_tam_1.ogg eto_kto_tam_2.ogg eto_kto_tam_3.ogg I pytanie jak zmusić moda, żeby odtwarzał 3 nowe pliki i wyświetlał do tego tekst ? eto_kto_tam_1.ogg eto_kto_tam_2.ogg eto_kto_tam_3.ogg Wpis w gamedata\configs\misc\closecaption.ltx ["characters_voice-scenario-escape-eto_kto_tam_1"] = {-4, 11000, "ui_inGame2_Hero", "stalker", "Bumer"}, ["characters_voice-scenario-escape-eto_kto_tam_2"] = {-4, 3000, "ui_inGame2_Hero", "stalker", "Bumer"}, ["characters_voice-scenario-escape-eto_kto_tam_3"] = {-4, 2000, "ui_inGame2_Hero", "stalker", "Bumer"}, Wpis w gamedata\configs\text\pol\st_closecaption.xml <string id="characters_voice-scenario-escape-eto_kto_tam_1> <text> Text Text Text Text Text Text Text Text Text </text> </string> <string id="characters_voice-scenario-escape-eto_kto_tam_2> <text> Text Text Text Text Text Text Text Text Text </text> </string> <string id="characters_voice-scenario-escape-eto_kto_tam_3> <text> Text Text Text Text Text Text Text Text Text </text> </string> W pliku script_sound_escape.ltx dodałem nazwy plików eto_kto_tam_1.ogg eto_kto_tam_1.ogg eto_kto_tam_1.ogg i skopiowałem wpis [eto_kto_tam] type = actor npc_prefix = false path = characters_voice\scenario\escape\eto_kto_tam shuffle = seq idle = 0,0,100 x3 ze zmienianym [eto_kto_tam] na [eto_kto_tam_1] potem z dwójką i trójką i zmienianymi ścieżkami path = characters_voice\scenario\escape\eto_kto_tam na path = characters_voice\scenario\escape\eto_kto_tam_1 potem z dwójką i trójką Wszystkie wpisy powodują to, że pierwszy plik jest poprawnie odtwarzany (tu nie powinno być napisów). Potem jest cisza brak napisów ale po odpowiednim czasie potrzebnym na odtworzenie _1 _2 _3, mod działa i akcja toczy się normalnie dalej. Używanie do rozwiązania problemu pliku game_tutorials.xml nie wchodzi w grę. Nie wiem czy dobrze powiązałem problem z tematem wątku? A piszę ogólnie bo może ktoś jeszcze coś od siebie doda. W załączniku dwa pliki na których pracuję. closecaption.ltx st_closecaption.xml 2 1 Cytuj Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.