|
|
| |
| ZASOBY |
| |
| |
|
|
|
| |
|
| NASZ BUTTON |
|
|
| |
|
|
| |
|
| |
|
TUTORIALE - MAPPING
|
[ Dodaj ]
|
|
Scenka kamery znana z d1_trainstation_04
| [ 2009-07-13 15:50:24 Dodał:
FenixGman Wyświetleń: 1247 Komentarzy: 3 ]
|
|
WAŻNE !
Jeśli chceż uzyskać taki efekt na silniku OrangeBoxa [Episode 2] musisz pobrać podmiankę modelu blackout.mdl, więcej informacji o tym na początku 2 punktu.
W tym tutorialu opisze jak zrobić animację "wstawania","podnoszenia się z podłogi" czy jak to nazwać .
W HL2 widzieliśmy taką animację na początku gry (mapa d1_trainstation_04) kiedy Alyx uratowała Gordona przed combinatem.
No więc do dzieła
Łądujemy jakąś mapkę. ( Ja dla tutoriala użyłem sdk_3d_skybox.vmf )
1. Ustawienie gracza
( NIE jest to konieczne ale jeśli chcecie zrobić efekt rozjaśniania ekranu to taki zabieg może zapobiec mignięciu ekranu na słabszych komputerach )
Pierwsze co zrobimy to przeniesiemy gracza "poza" mapkę do małego ciemnego pomieszczenia.
Pomieszczenie nie musi być duże byle żeby gracz się w nim zmieścił
DODATKOWO : Zalecam stworzenie pomieszczenia przy pomocy tekstury "nodraw"
[Nie zapominamy o zrobieniu ścian "Make Hollow"]
Przenosimy byt info_player_start do środka naszego nowego pomieszczenia i wypełniamy wnętrze pomieszczenia teksturą "vgui/black".
( Jeżeli mamy mapkę z kilkoma bytami info_player_start ustawiamy temu flagę "Master" )
Teraz tworzymy na około gracza bryłę pokrytą teksturą "Trigger" i przekształcamy ją w trigger_teleport następnie ustawiamy następujące wartości :
(Notka : wartości nazw można dać własne należy jednak pamiętać aby dobrze je "zlinkować" z innymi bytami)
Name : Intro_Teleport_Trigger01
Start Disabled : Yes
Remote Destination : Intro_Teleport_Cel01
WAŻNE : Zaznaczamy w flagach [Clients]
Teraz gdzieś na mapce; gdzie gracz ma się "pojawić" po wstaniu z podłogi wstawiamy byt info_teleport_destination i nadajemy mu
nazwę [Name] Intro_Teleport_Cel01
Ok to start gracza mamy już ustawiony teraz przejdziemy do kamery
2. Kamera
Aby wykonać efekt podnoszenia się z podłogi wcale nie jest nam potrzebny func_tanktrain czy path_track, path_corner zamiast tego użyjemy specjalnie przygotowanego modelu przez VALVE.
WAŻNE : Niestety w Episode 2 VALVE zamiast dodać nowy model/animację do istniejącego już modelu zmienili wszystkie animację usuwając animację wstawania
Ale na wszystko jest sposób wystarczy z plików GCF z czystego HL2 wypakować model blackout.mdl do katalogu naszego moda.
Dla oszczędności waszego czasu zrobiłem to dla was model można pobrać STĄD w środku znajduję się instrukcja gdzie wypakować.
Pamiętajcie aby podmieniać/wypakować model do katalogu NASZEGO MODA nigdy do folderu EP2!
Podmianka tego modelu w katalogu Ep2 uszkodzi kamerę podczas scenek w Episode 2
PS : Użytkownicy starego silnika source [HL2/Episode1] nie muszą się tym martwić
No to przechodzimy dalej...
Na początku opiszę co robi model blackout.mdl.
Model posiada "kość" do której przypisujemy kamerę, coś podobnego znajduje się w modelach buggy czy prisoner pod.
Dana "kość" posiada 2 animację;
enter1 - animacja upadania na podłogę
exit1 - animacja wstawania z podłogi ( my zajmiemy się tą )
Czas wrócić do HAMMERA...
Tworzymy teraz byt prop_dynamic i ustawiamy następujące wartości :
World Model : models/blackout.mdl
Name : Kamera01_Animacja01
Collisions : Not Solid
Klikamy Apply/Zastosuj
Teraz najtrudniejsza część w tym tutorialu, jak pewnie zauważyliście model jest prawie niewidzialny co utrudnia umieszczenie go na mapce.
Dlaczego prawie ? jak model nie jest zaznaczony a w edytorze macie włączoną opcję pokazywania siatek modelów to w widokach; z góry, z boku i z przodu widać małą kostkę.
Ta mała kosteczka nieco nam pomoże w ustawieniu modelu na mapce
Model wsadzamy "między nogi" bytu info_teleport_destination (Tak wiem jak to brzmi...) tak aby kostka była dokładnie pod nogami zielonego gordona
W tym momencie nie musimy przykładać tak wielkiej wagi na "idealne" położenie tych modeli, zawsze można przesunąć lub obrócić model pod koniec tutoriala.
Teraz stworzymy byt point_viewcontrol nie jest ważne gdzie go stworzymy ale zalecam dać go gdzieś blisko aby go nie szukać
Gdy mamy już byt point_viewcontrol ustawiamy w nim następujące wartości :
Name : Kamera01
Parent : Kamera01_Animacja01
I w flagach zaznaczamy :
Freeze Player - Zamrozi to gracza
Infinite Hold Time - Nieskończony czas kamery, wyłączymy kamerę ręcznie
Snap to goal angles - Zablokuje to obrót kamery od pitch/yaw/roll.
Reszta flag ma być odznaczona !
Teraz przechodzimy do finałowego etapu w którym przypiszemy kamerę i uruchomimy scenkę
3. Aktywatory,Triggery
Tworzymy byt logic_auto i w zakładce outputs wstawiamy następujące wartości :
My output named : OnMapSpawn
Targets entities named Kamera01
Via this input SetParentAttachment
With a parameter override of vehicle_driver_eyes
After a delay in seconds of 0.20 <- WAŻNE
|
Tym wpisem przypiszemy kamerę do "kości". Co to za kość opisałem wyżej . WAŻNE : aby ustawić jakieś opóźnienie np 0.20 sek gdyż w przeciwnym wypadku po uruchomieniu mapki gra może najpierw chcieć przypisać kamerę do kości a dopiero potem do prop_dynamic co w efekcie wywali w konsoli błąd że nie można znaleźć 'vehicle_driver_eyes'. Dlatego pamiętajcie zawsze przypisujcie kamerę do kości danego prop_dynamic DOPIERO PO ustawieniu tego prop_dynamic jako parenta kamery.
My output named : OnMapSpawn
Targets entities named Kamera01
Via this input Enable
With a parameter override of
After a delay in seconds of 0.40
|
Tym wpisem włączymy naszą kamerę po 0.40 sek. Te opóźnienie jest kolejnym kluczowym elementem aby kamera się nie włączyła zanim zostanie przypisana. W niektórych wypadkach nic się nie stanie jak włączymy ją pierwszą ale z moich własnych doświadczeń wiem że włączenie kamery przed jej przypisaniem do kości może 'bugować' kamerę
My output named : OnMapSpawn
Targets entities named Kamera01_Animacja01
Via this input SetAnimation
With a parameter override of exit1
After a delay in seconds of 5.00
|
Tym wpisem po 5 sek. uruchomimy animację 'exit1' która jest animacją podnoszenia się z podłogi. Czas tutaj można dać dowolny zależy od tego jak długo gracz ma leżeć na podłodze.
Powinniście mieć coś takiego :
Teraz klikamy na byt prop_dynamic o nazwie Kamera01_Animacja01 który stworzyliśmy w 2 punkcie i przechodzimy do zakładki "outputs" i wstawiamy :
My output named : OnAnimationDone
Targets entities named Intro_Teleport_Trigger01
Via this input Enable
With a parameter override of
After a delay in seconds of 0.00
|
Tym wpisem po zakończeniu animacji włączymy "Intro_Teleport_Trigger01" który przeniesie gracza do info_teleport_destination
My output named : OnAnimationDone
Targets entities named Kamera01
Via this input Disable
With a parameter override of
After a delay in seconds of 0.00
|
Tym wpisem po zakończeniu animacji wyłączymy kamerę.
My output named : OnAnimationDone
Targets entities named Kamera01
Via this input Kill
With a parameter override of
After a delay in seconds of 0.10
|
Tym wpisem po zakończeniu animacji i 0.10 sek usuniemy kamerę z gry. Można ja zostawić ale po co zostawiać syf na mapce
Powinniście mieć coś takiego :
No i to w zasadzie wszystko kamera powinna działać zaraz po uruchomieniu mapki i wyłączać/kasować się po zakończeniu animacji wstawania
Dodatkowo można też dodać rożne efekty dla przykładu pokaże jak prawidłowo dodać efekt rozjaśnienia ekranu
Tworzymy byt env_fade i ustawiamy odpowiadające nam wartości ja dla przykładu ustawiłem takie :
Name : Intro_Rozjasnienie
Duration : 2
Hold Fade : 2
WAŻNE : aby ustawić flagę 'Fade From' która z ściemniana ekranu zrobi rozjaśnianie ekranu
Przechodzimy do bytu logic_auto i w zakładce outputs wstawiamy wartość :
My output named : OnMapSpawn
Targets entities named Intro_Rozjasnienie
Via this input Fade
With a parameter override of
After a delay in seconds of 0.00
|
No to mamy wszystko, wystarczy uruchomić mapkę i cieszyć się efektem
Używając outputów z różnych bytów możemy uruchomić więcej efektów. (dźwięki, teksty, efekty świetlne albo nawet scenka z facepostera)
Zamieszczam również mapkę stworzoną podczas tego tutoriala.
Mam nadzieje że opisałem wszystko jasno i że nie będzie żadnych problemów 
DOŁĄCZONE PLIKI: SMC_KAMERA.ZIP ( 7 KB )
|
|
|
| |
| KOMENTARZE |
|
| [ 2009-07-13 16:32:20 Dodał:
Tracha ]
|
|
|
Wkońcu dodali ten tutek |
| |
| [ 2009-07-13 17:41:16 Dodał:
ghost ]
|
|
|
Nie wiedziałem, że tyle z tym roboty.
Dzięki za tutorial. |
| |
|
|
Genialne! Zawsze byłem ciekaw jak to zrobili
Dzięki
Btw. Co do ep2, to ja zamieniłem po prostu nazwę blackout.mdl na blackout2.mdl |
|
|
|
|
|
| |
|
|
| |
| SHOUTBOX |
|
Tracha: Royal Sperm <3 |
|
MoonBlaze: uwaga wirus |
|
Elektryk: Link |
|
MoonBlaze: btw to nie wiedziałem, że tusk i palikot są razem, po palicocie bym się spodziewał, ale po matole to nie :( |
|
pulka103: Ja was też <3 moi mili ; *** |
|
MoonBlaze: ty prowokancie ;* |
|
Dabu: Tusk i Palikot <3 |
|
Tracha: Link Yep |
|
MoonBlaze: &Palicot |
|
Tracha: Fuck Tusk |
|
| |
|
|
|