Napisano dnia: 2012-12-28 19:35:14
Animacje obiektów
Hello. Poruszając się po świecie w GTA SA można spotkać różnego rodzaju animowane obiekty. Jak np. obracający się hamburger nad barem czy obracający się znak x przy stacjach benzynowych. Takie animacje można tworzyć samodzielnie i w tym poradniku pokaże jak to robić.
Potrzebne programy
3ds max
Map edytor v0.21b
Skrypt do eksportu animacji i modelu
Dowolny model
Podstawowa znajomość obsługi 3ds Maxa
W 3ds max otwórz model, który chcesz animować. Ja na potrzeby tego poradnika przygotowałem sobie model w postaci koła zębatego.
Animacje powinno się dodawać tuż przed eksportem modelu więc obiekt odpowiednio przygotuj.
Przygotowanie obiektu do animacji
Żeby obiekt w grze był animowany musi być dodany do obiektu tak zwany uchwyt w postaci „dummy”. W tym celu kliknij kolejno w 3ds max na Create(1)>Helpers(2)>Dummy(3). Sam uchwyt"dummy” ustaw na środku modelu.
Kolejną ważną rzeczą jest połączenie uchwytu z obiektem. Żeby to zrobić z menu 3ds max wybierz Graph Editors>New Schnematic View
W wygenerowanym oknie obiekt i uchwyt ustaw w taki sposób jak pokazałem na obrazku poniżej. W tym samym oknie kliknij na „Connect”(1) i połącz uchwyt(dummy) z obiektem. Sam obiekt i uchwyt powinien mieć różne nazwy. np. uchwyt powinien nazywać się kolo_zebate1, a obiekt kolo_zebate1a.
Żeby animacja była poprawnie odtwarzana na pasku animacji należy ustawić jeszcze kilka opcji. Które opcje należy ustawić są pokazane na rysunku poniżej
Animacja obiektu
By animować obiekt kliknij na Set Key. Po tej operacji powinna się aktywować czerwona ramka pokazująca gotowość do nagrywania animowanego obiektu.
Żeby model np. obracał się w prawą stronę wykonaj następujące kroki. Mając ustawiony "suwak animacji" na początku "paska animacji" kliknij na "set keys". Następnie przesuń "suwak animacji" o 10 klatek i obróć model w prawą stronę o 90 stopni i ponownie kliknij na "set keys". W ten sposób została nagrana pierwsza klatka animacji" Gdy to zrobisz znowu przesuń "suwak animacji" o 10 klatek (czyli na 20) i znowu obróć model o 90 stopni i wciśnij "set keys" i tak postępuj aż dojedziesz do końca "paska animacji". Gdy zakończysz operacje powinieneś uzyskać mniej więcej coś takiego
Żeby sprawdzić jak została nagrana animacja kliknij na "play animation"(odtwarzanie animacji).
Eksport animacji
By wyeksportować animacje najpierw należy wyeksportować model. W tym celu uruchom skrypt o nazwie "export_DFF" i ustaw opcje w ten sposób jak pokazałem na obrazku poniżej. Gdy to zrobisz zaznacz uchwyt(sam uchwyt bez modelu) i kliknij na eksport. Eksportowany model zapisz pod nazwą uchwytu. Czyli w moim przypadku model będzie nazywał się "kolo_zebate1".
Przed dodaniem modelu nie zapomnij stworzyć kolizji i pliku z teksturami. Tej operacji nie będę tu opisywał ponieważ jest to dokładnie tak sama opcja co przy zwykłym modelu.
By wyeksportować animacje czyli stworzyć plik "ifp" uruchom skrypt o nazwie "map anim export". Mając zaznaczony uchwyt kliknij na "get hierarhy selected>export". Samą animacje zapisz pod dowolną nazwą np. "animacja_test"
Dodawanie animacji do gry
By animacja działała w grze dodaj wszystkie potrzebne pliki do archiwum img(col, txd, dff, ifp). Model ustaw tak jak zwykły model w grze np. po przez map edytor i sprawdzać czy działa. Jeżeli gra się uruchomi i model wyświetli się w ustawionym miejscu oznacza to że wszystko zostało dobrze zrobione. By aktywować animacje wyłącz grę i otwórz pliki "IDE" z dodanym modelem w dowolnym notatniku. Po otwarciu pliku powinieneś mieć tam mniej więcej coś takiego
Kod:
objs
18631, kolo_zebate1, kolo_zebate1, 299, 1
end
tobj
end
2dfx
end
anim
end
18631, kolo_zebate1, kolo_zebate1, 299, 1
end
tobj
end
2dfx
end
anim
end
i gdzieś w kodzie powinna być sekcja o nazwie
Kod:
anim
end
end
jeżeli jej niema dopisz do tego kodu taką sekcję. Gdy to zrobisz między anim i end dodaj taką linijkęj
18631, kolo_zebate1, kolo_zebate1, animacja_test, 299, 1
18631 – id pliku modelu
kolo_zebate1 – nazwa pliku dff
kolo_zebate1 – nazwa pliku txd
animacja_test – animacja obiektu, czyli plik ifp
299 – z jakiej odległości ma być widziany obiekt
1 – tutaj ustawia się parametry obiektu, w tym wypadku obiekt jest ustawiony jako renderowany. Czyli obiekt jest nieco ładniejszy.
Kod:
czyli po całej operacji kod powinien wyglądać tak
objs
18631, kolo_zebate1, kolo_zebate1, 299, 1
end
tobj
end
2dfx
end
anim
18631, kolo_zebate1, kolo_zebate1, animacja_test, 299, 1
end
objs
18631, kolo_zebate1, kolo_zebate1, 299, 1
end
tobj
end
2dfx
end
anim
18631, kolo_zebate1, kolo_zebate1, animacja_test, 299, 1
end
Teraz zostaje zapisać zmiany, włączyć grę i udać się tam gdzie ustawiłeś obiekt. Jeżeli postępowałeś z godnie tym poradnikiem powinieneś zobaczyć obracający się obiekt.
Uwagi
Jeżeli obiekt obraca się zbyt szybko można łatwo to poprawić. Gdzieś po prawej stronie na dole 3ds maxa powinien znajdować się przycisk o nazwie "time configuration". Gdy go uruchomisz w wygenerowanym oknie przy "end time" zmień ilość klatek z 100 np. na 200.
Po tej operacji wydłuży się "pasek animacji" i wystarczy wtedy "suwak animacji" ustawiać najpierw na 0 potem na 20, 40 itd.
Czyli im większe odstępy tym animacja będzie wolniejsza.
Poradniki napisany na podstawie poradnika Jurez za zgodą autora. Przeze mnie zostały doodane dokładniejsze zdjęcia i bardziej szczegółowy opis.