Wojownik Posted May 3 Report Share Posted May 3 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-добавляем-новый-звук/ 1 1 Quote Link to comment Share on other sites More sharing options...
OldMan Posted November 9 Report Share Posted November 9 @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 3 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.