Wyświetlanie filmów w trakcie misji.

Zaglądnij tutaj, jeśli masz pytania lub uwagi dotyczące różnorodnych aspektów tworzenia misji w edytorach DromEd i T3Ed, jak też związanego z nimi oprogramowania i sprzętu.

Moderator: peter_spy

Awatar użytkownika
timon
Garrett
Posty: 3883
Rejestracja: 12 sierpnia 2002, 19:07

Wyświetlanie filmów w trakcie misji.

Post autor: timon »

Aby uzyskać efekty wyświetlanych filmów w misji musimy posiadać zainstalowane odpowiednie skrypty. Istnieją dwa rożne pakiety autorstwa Toma N Harrisa (Telliamed) które to umożliwiają : Public script oraz tnhscript
Należy je pobrać z tego linku http://whoopdedo.org/projects.php?scripts, rozpakować do dowolnego katalogu i użyć zawartych w tym zipach aplikacji setup.exe i postępować zgodnie z poleceniami na ekranie.

Wybór odpowiedniego z pakietów skryptów to sprawa indywidualna, zależna od tego co jeszcze zamierzamy uzyskać w misji, najlepiej zapoznać się z opisem poszczególnych pakietów i wybrać właściwy. Oczywiście istnieje możliwość użycia obu tych pakietów jednocześnie.
Dokumentację obu można znaleźć tu : http://dromed.whoopdedo.org/

Poszczególne pakiety ładujemy do misji poleceniem
script_load script
lub
script_load tnhScript
Pierwsze polecenie załaduje public script drugie tnhscript .
Czynność tą wykonujemy w misji tylko raz. Zawsze w trakcie misji możemy sprawdzić jakie mamy załadowane pakiety skryptów wprowadzając w polu komend polecenie
script_dump_files
Polecenie to wpisuje w pliku monolog, który znajduje się w katalogu głównym thiefa, listę załadowanych skryptów.
W przypadku NewDarka sprawa jest łatwiejsza, lista pakietów wyświetlana jest w oknie monologu zawsze po zładowaniu misji.

Do dalszych celów przyjąłem, że w kalalogu /MOVIES istnieją filmy, które chcemy wyświetlić w trakcie misji,o nazwie film1.avi i film2.avi.

W pakiecie tnhScript istnieje skrypt o nazwie ControlComand, który pozwala m.in. na wyświetlenie filmu. W tym celu możemy zastosować dwie różne metody.
Pierwsza to stworzenie markera, nadanie mu skryptu ControlComand a w polu Editor : Design Note wpisanie on='movie film1.avi'. Teraz należ połączyć ten marker z dowolnym buttonem linkiem ControlDevice. Oczywiście nic nie stoi na przeszkodzie aby użyć levera i móc przypisać filmy do sytuacji zarówno włączania jak i wyłączania danego urządzenia. Wtedy w polu Design Note należy wpisać on='movie film1.avi'; off='movie film2.avi'
Druga metoda to użycie konwersacji. Aktorowi występującemu w niej przypisujemy skrypt CommandControl i w dowolnym z kroków konwersacji wybieramy akcję "Script message", w polu argument 1 wpisujemy "ScriptControl", w polu argument 2 "movie film1.avi". Stosując tą metodę należy zawsze pamiętać o zasadach dotyczących kolejności wykonywania poszczególnych kroków w konwersacji.

W przypadku pakietu Public script używamy skryptu trapcinema. Analogicznie jak w metodzie pierwszej opisanej powyżej tworzymy marker, w polu script pisujemy trapcinema a w polu Design Note należy wpisać movie='film1.avi'. Jak widać nie ma możliwości wyboru filmu w zależności od przesyłanego sygnału, jest to metoda prostsza ale i mniej elastyczna.

Kwestię sposobu wyświetlania filmu, jego formatu i parametrów pozostawiam innym do opisania.
Tutorial ten powstał dzięki pomocy Telliameda.

W załączniku jest przykład z zastosowaniem poszczególnych skryptów, filmy zastosowane są oryginalne.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Zezwierzęcony, o zdradzieckiej mordzie, umysłowo niestabilny. Kanalia. Patologiczny element czyli OBYWATEL. Nie należący do ich wspólnoty narodowej. Hołota chamska. "Nie kocha Polski i Pana Boga"
Obcy kulturowo prezesowi
Awatar użytkownika
Juliusz
Złodziej
Posty: 2774
Rejestracja: 04 stycznia 2004, 11:28
Lokalizacja: Dublin
Kontakt:

Re: Wyświetlanie filmów w trakcie misji.

Post autor: Juliusz »

Ciekawa sprawa - dzięki Timon za tutoriala. Czyli można umieszczać pre-renderowane cutscenki, że tak powiem?
Czy gra się pauzuje na czas wywświetlania filmu, czy nie? (np. czy możemy być zaatakowani w tym czasie?)
Awatar użytkownika
timon
Garrett
Posty: 3883
Rejestracja: 12 sierpnia 2002, 19:07

Re: Wyświetlanie filmów w trakcie misji.

Post autor: timon »

Gra na czas filmu ulega zawieszeniu, tj. AI zamierają w bezruchu w pozie w jakiej ich zastało uruchomienie filmu, ale nie wiem jak to się ma do zegara w misji i elementów związanych z czasem, nie testowałem tego.
Zezwierzęcony, o zdradzieckiej mordzie, umysłowo niestabilny. Kanalia. Patologiczny element czyli OBYWATEL. Nie należący do ich wspólnoty narodowej. Hołota chamska. "Nie kocha Polski i Pana Boga"
Obcy kulturowo prezesowi
Awatar użytkownika
peter_spy
Złodziej
Posty: 2556
Rejestracja: 14 września 2002, 22:31
Lokalizacja: Łódź
Kontakt:

Re: Wyświetlanie filmów w trakcie misji.

Post autor: peter_spy »

timon pisze:Kwestię sposobu wyświetlania filmu, jego formatu i parametrów pozostawiam innym do opisania.
W trakcie naszych wspólnych poszukiwań z Timonem znaleźliśmy kilka ciekawych rzeczy:

Po pierwsze, wraz z nadejściem NewDarka gra zaczęła obsługiwać multum formatów i kodeków. DivX, Xvid, H.264 i inne pochodne .mp4, nawet popularny w branży gier format Rad Game Tools (.bik) również jest odtwarzany. Nasze eksperymenty prowadziliśmy podmieniając pliki które łatwo przetestować, czyli Intro, Death, Success i Credits.avi. Jedynym warunkiem poprawnego odtwarzania była zamiana rozszerzenia pliku na .avi właśnie. Rozdzielczość filmików może być "współczesna", formaty 720p i 1080p jak najbardziej wchodzą w grę :)

Po drugie, w pliku cam_ext.cfg znajduje się opcja crop_movies, która pozwala oglądać filmiki w formacie panoramicznym na całej powierzchni monitora. Aczkolwiek jej działanie jest póki co dość specyficzne:

a) z filmików dostarczonych z grą obejmuje wyłącznie briefingi (Br), cutscenki (Cs) i Intro, nie działa natomiast na Death, Success i Credits.avi. Aby to zmienić, należy dostawić średnik przed poleceniem movie_crop_exclude credits.avi+success.avi+death.avi.

b) filmiki w natywnym formacie panoramicznym, tj. 16:9 są przycinane niepoprawnie, a powiększenie jest zbyt duże. Aby temu zaradzić, należy taki filmik wyrenderować jako panoramiczny, ale stosując letterboxing. Czyli przykładowo, jeżeli nasz filmik był tworzony do rozdzielczości 1920x1080 (full HD), to renderujemy go w rozdzielczości 1440x1080 przy zachowaniu proporcji oryginału. W tym momencie jeżeli użyjemy funkcji crop_movies, to film zostanie dostosowany poprawnie do proporcji monitora 16:9.

To rozwiązanie ma sens o tyle, że w Thiefa wciąż grają osoby ze starym sprzętem, więc mogą korzystać jeszcze z rozdzielczości 4:3. Wtedy nie muszą korzystać z opcji crop_movies, a filmik będzie i tak widoczny w proporcjach panoramicznych, ze względu na wspomniany letterboxing. Krótko mówiąc wilk syty i owca cała :)
Awatar użytkownika
raven4444
Szaman
Posty: 1011
Rejestracja: 29 lipca 2007, 14:00
Lokalizacja: Poznań
Płeć:
Kontakt:

Re: Wyświetlanie filmów w trakcie misji.

Post autor: raven4444 »

Dekompresowane są wszystkie kodeki wspieranie przez ffdshow, sam już kilka miesięcy temu w T2X PL filmiki dałem w x264.
Awatar użytkownika
Juliusz
Złodziej
Posty: 2774
Rejestracja: 04 stycznia 2004, 11:28
Lokalizacja: Dublin
Kontakt:

Re: Wyświetlanie filmów w trakcie misji.

Post autor: Juliusz »

Dobrze wiedzieć - dzięki za info.
ODPOWIEDZ