Strona główna
Witaj, nieznajomy!

Animowanie obiektów

Poruszając się po świecie GTA San Andreas można spotkać różnego rodzaju animowane obiekty, np. obracający się hamburger nad barem, czy obracający się znak "x" przy stacjach benzynowych. Takie animacje można tworzyć stosunkowo łatwo i w tym poradniku pokażę, jak to robić.

Co będzie potrzebne?



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.

http://img805.imageshack.us/img805/3820/obrazek1g


Animację powinno się dodawać tuż przed eksportem modelu, więc obiekt należy odpowiednio przygotować.

Przygotowanie obiektu do animacji

Aby obiekt w grze był animowany, musi być dodany do modelu tzw. uchwyt w postaci "dummy". W tym celu kliknij kolejno w 3ds Max:
Kod:
Create(1) > Helpers(2) > Dummy(3)

Sam uchwyt "dummy" ustaw na środku modelu.

http://img707.imageshack.us/img707/9395/obrazek2lo


Kolejną ważną rzeczą jest połączenie uchwytu z obiektem. Aby to zrobić, z menu 3ds Max wybierz
Kod:
Graph Editors > New Schnematic View


http://img801.imageshack.us/img801/4443/obrazek3n


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.
Nazwa uchwytu: kolo_zebate1
Nazwa obiektu: kolo_zebate1a

http://img607.imageshack.us/img607/1856/obrazek4l


Aby animacja była poprawnie odtwarzana, na pasku animacji należy ustawić jeszcze kilka opcji, które są pokazane na rysunku poniżej.

http://img41.imageshack.us/img41/3451/obrazek5n


Animacja obiektu

Aby animować obiekt, kliknij na Set Key. Po tej czynności powinna się aktywować czerwona ramka pokazująca gotowość do nagrywania animowanego obiektu.

http://img9.imageshack.us/img9/1945/obrazek6yx


Przykładowo, aby model 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), znowu obróć model o 90 stopni i wciśnij "set keys". Postępuj tak dalej, aż dojedziesz do końca "paska animacji". Gdy zakończysz operację, powinieneś uzyskać mniej więcej coś takiego.

http://img88.imageshack.us/img88/7897/obrazek7w


Aby sprawdzić jak została nagrana animacja kliknij na "play animation" (odtwarzanie animacji).

Eksport animacji

Aby wyeksportować animację, 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 "Export". Eksportowany model zapisz pod nazwą uchwytu, czyli w moim przypadku model będzie nazywał się "kolo_zebate1".

http://img29.imageshack.us/img29/3483/obrazek8y


Przed dodaniem modelu nie zapomnij stworzyć kolizji i pliku z teksturami. Tej operacji nie będę tu opisywał, ponieważ jest to dokładnie taka sama opcja co przy zwykłym modelu.

Aby wyeksportować animację, czyli stworzyć plik "ifp", uruchom skrypt o nazwie "map anim export". Mając zaznaczony uchwyt, kliknij na
Kod:
Get hierarhy selected > Export

Samą animacje zapisz pod dowolną nazwą np. "animacja_test".

http://img836.imageshack.us/img836/7544/obrazek9i


Dodawanie animacji do gry

Aby 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. poprzez edytor map i sprawdź, czy działa. Jeżeli gra się uruchomi i model wyświetli się w ustawionym miejscu, oznacza to, że wszystko zostało dobrze zrobione. Aby aktywować animację, wyłącz grę i otwórz plik "IDE" z dodanym modelem w dowolnym edytorze tekstu. 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


Gdzieś w kodzie powinna być sekcja o nazwie:

Kod:
anim
end


Jeżeli jej nie ma, dopisz do tego kodu taką sekcję. Gdy to zrobisz, między anim i end dodaj taką linijkę:

Kod:
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

Po całej operacji kod powinien wyglądać mniej więcej tak:

Kod:
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ś zgodnie tym poradnikiem, powinieneś zobaczyć obracający się obiekt.

Uwagi

Jeżeli obiekt obraca się zbyt szybko, można łatwo to poprawić. Po prawej stronie na dole w okienku 3ds Maxa powinien znajdować się przycisk o nazwie "time configuration". Gdy go uruchomisz w wygenerowanym oknie przy "end time" zmień ilość klatek ze 100 na, przykładowo, 200.

http://img69.imageshack.us/img69/9981/obrazek10


Po tej operacji wydłuży się "pasek animacji" i wystarczy wtedy "suwak animacji" ustawiać najpierw na 0 potem na 20, 40 itd.

http://img507.imageshack.us/img507/8789/obrazek11


Czyli im większe odstępy, tym animacja będzie wolniejsza.

Poradniki napisany na podstawie poradnika Jurez za zgodą autora. Przeze mnie zostały dodane dokładniejsze zdjęcia i bardziej szczegółowy opis.

Autor: SabaruPL
Dodane przez: MakG
Created & Powered by MakG
Wszelkie prawa zastrzeżone