Animowanie myśliwca przy pomocy Constraints i Controllers.
W tej lekcji, użyjesz constraints i controllers, w animacji lotu myśliwca.
Konfiguracja.
Otwórz plik flyingspacefighter03.max.
Scena zawiera następujące elementy:
Lot trzech myśliwców, FlightLeader, Wingman01 i Wingman02.
Sztuczny przedmiot, Spaceship Control.
Dwa tory ruchu, flightpath (widoczny) i wingmanpath (ukryty).
Kamerę (ukryta), SpaceCam.
Użycie Dummy Object, by kontrolować lot.
Obiekty Dummy są bardzo przydatne przy kontrolowaniu animacji. Poprzez animowanie obiektu Dummy możesz skupić się na animacji bez spowolnienia Twojego systemu. Animując obiekty Dummy nadajesz w prosty sposób ruch obiektom użytym w scenie.
Połączenie myśliwców z obiektem Dummy.
Aktywuj okno ekranu Top i w pasku narzędzi kliknij ikonkę Select And Link.
Zaznacz obiekt Flight Leader i przeciągnij kursor na obiekt Dummy, Spaceship Control.
Puść przycisk myszki
FlightLeader jest teraz połączony z Spaceship Control. Gdziekolwiek przemieścisz obiekt Dummy, tam też zostanie przemieszczony obiekt myśliwca.
Zrób to sam z obiektem Dummy i z obiektami myśliwców: Wingman01 i Wingman02.
Dodaj ścieżkę do obiektu Dummy.
Pracując nadal w oknie ekranu Top, klknij ikonkę Zoom Extents Selected i zaznacz obiekt Spaceship Control.
Z menu Animation wybierz Constraints > Path Constraint. Przemieść kursor nad ścieżkę flightpath i kliknij na niej.
Ścieżka dostępu została połączona z obiektem Dummy.
W rolecie Path Parameters, poczyń następujące zmiany.
Zaznacz okienka Follow, Bank i Constant Velocity.
W grupie Axis zaznacz oś Y i okienko Flip.
Ustaw wartość Bank na 7,0 i Smoothness na 1.0.
Aktywuj okno ekranu SpaceCam i odtwórz animację.
Wszystkie trzy myśliwce przemieszczają się wzdłuż ścieżki.
Zapisz swoją scenę pod nazwą, MyFlight01.max.
Użycie kamery przy użyciu Action.
W ćwiczeniu tym przy użyciu Link Constraint uczynisz kamerę. Możesz kontynuować od ostatniej lekcji, lub wczytać plik flyingspacefighter04.max.
Dodanie kamery:
Przejdź do panelu Display i odznacz okienko Cameras w rolecie Hide by Category. W oknach ekranu ukaże się kamera, SpaceCam.
W oknie ekranu Top, zaznacz obiekt Camera Target.
Pamiętaj aby wodzik czasu ustawiony był na klatce 0.
W menu głównym, wybierz, Animation > Constraints > Link Constraint. kliknij obiekt flightpath, by ustawić pierwszy Link Parameter, w klatce zero.
Przemieść wodzik czasu do klatki 80 i kliknij przycisk Add Link, w rolecie Link Params kliknij Spaceship Control.
Aktywuj i powiększ okno ekranu SpaceCam i odtwórz animację.
Cel kamery jest połączony w klatkach od 0 do 79 z obiektem flightpath a od klatki 80 kamera zaczyna śledzić obiekt Spaceship Control.
Zapisz pracę pod nazwą, MyFlight02.max.
Orientation Constrain:
W tym ćwiczeniu, użyjesz Orientation Constrain, by kontrolować obrót obiektu spacefighter w czasie lotu. Pracę możesz kontynuować od ostatniego ćwiczenia lub wczytaj plik flyingspacefighter05.max.
Aktywuj okno ekranu Top i kliknij ikonkę Region Zoom, rozciągnij ramkę wyboru na wszystkich trzech myśliwcach powiększając je a następnie ikony Select Obiect
i wciśniętego klawisza CTRL zaznacz wszystkie myśliwce tak, by każdy był zaznaczony białą ramką.
Utwórz nowy obiekt Dummy, w pobliżu obiektu FlightLeader i nazwij go barrelroll.
Kliknij ikonkę Select And Link i połącz obiekty barrelroll z Spaceship Control.
Z menu Tools wybierz polecenie Algin i klknij obiekt Spaceship Control.
Ukaże się okno Align Selection (Spaceship Control).
W grupie Align Orientation (Local) zaznacz okienka osi X, Y i Z a następnie kliknij przycisk OK.
W panelu Motion rozwiń roletę Assign Controller i zaznacz pozycję kontroli Rotation: Euler XYZ.
W rolecie tej kliknij ikonkę Assign Controller, by otworzyć okno Assign Rotation Controller. W oknie tym zaznacz pozycję TCB Rotation i kliknij OK.
Ten wybór będzie ważny dopiero później.
Tworzenie beczki zwycięstwa:
W oknie ekranu Top zaznacz obiekt FlightLeader.
W menu Animation wybierz Constraints > Orientation Constraint. Przemieść kursor na obiekt Dummy barrelroll i zaznacz go.
Otworzy się panel Motion, w rolecie Orientation Constraint widać że barrelroll dodany został do listy Orientation Constraint Target.
Zaznacz obiekt Dummy barrelroll i przesuń wodzik czasu do klatki 0.
Wciśnij przycisk Set Key a następnie kliknij ikonkę Set Keys.
Przesuń wodzik czasu do klatki 110 i ponownie kliknij ikonkę Set Keys.
Dodałeś dwa identyfikatory zapisu, w których lot FlightLeader, będzie normalny od klatki 0 do 110.
Teraz aktywuj okno ekranu Space Cam i przesuń wodzik czasu do klatki 130.
W pasku narzędzi kliknij ikonkę Select And Rotate, by zmienić Reference Coordinate System w opcję rotacji.
Zaznacz obiekt Dummy i w osi Y wpisz wartość 180 stopni a następnie przyciśnij ikonkę Set Keys.
Przesuń wodzik czasu do klatki 150 i obróć obiekt Dummy o kolejne 180 stopni w osi Y poczym kliknij ikonkę Set Keys. Na koniec wyłącz przycisk Set Key.
Zapisz pracę pod nazwą MyFlight03.max a następnie odtwórz animację.
Symulowanie awarii jednego z myśliwców.
Kiedy FlightLeader wykonuje wyczyny kaskaderskie, Wingman01 wydaje się mieć jakiś kłopot. Jego lot nie jest tak gładki jak lot pozostałych. W tym ćwiczeniu, użyjesz Noise Controller, by dodać turbulencję do obiektu Wingman01w dynamice lotu. Kontynuuj od ostatniej lekcji albo załaduj plik flyingspacefighter06.max.
Jeśli kontynuujesz od ostatniej lekcji to pamiętaj, by wodzik czasu znajdował się w klatce 0.
Tworzenie turbulencji obiektu:
Aktywuj okno ekranu Top i wciśnij ikonkę Region Zoom, by powiększyć obiekty trzech myśliwców. Zaznacz obiekt Wingman01.
Z menu Animation wybierz Position Controllers > Noise.
Gdy to wykonasz zostanie dodana automatycznie lista Position List z Linear Position i nowym sterownikiem Noise Position z ustawieniem domyślnym Weight o wartości 100,0.
Odtwórz animację obserwując lot obiektu Wingman01. Zatrzymaj odtwarzanie i zmień wartość Weight na 25 w Noise Position i w Linear Position.
Zapisz swoją prace pod nazwą, MyFlight04.max.
Zmiana kierunku.
Teraz obiekt Wingman02 zmieni kierunek swojego lotu. Wykonasz to przy pomocy Link Constraint.
Możesz kontynuować od ostatniego ćwiczenia lub wczytać plik flyingspacefighter07.max.
Zmiana kursu obiektu Wingman02:
Ustaw wodzik czasu w klatce 0 i aktywuj okno Top.
Utwórz obiekt Dummy w pobliżu obiektu Wingman02 i nazwij go WingmanControl.
Otwórz panel boczny Display i w rolecie Hide wciśnij przycisk Unhide By Name.
W oknie Unhide Objects zaznacz wingmanpath i kliknij przycisk Unhide.
Żółta ścieżka dostępu ukazuje się z przodu obiektu Wingman02.
Upewnij się czy obiekt Dummy WingmanControl jest zaznaczony i z menu Animation wybierz Constraints > Path Constraint. Przemieść kursor na żółtą ścieżkę wingmanpath i kliknij na niej.
Obiekt Dummy przemieścił się na początek tej ścieżki.
W rolecie Path Parameters dokonaj następujące zmiany.
Zaznacz okienka Follow, Bank i Constant Velocity.
W grupie Axis zaznacz oś Y i okienko Flip.
Wpisz wartości Bank Amount na 7,0 i Smoothness na 1.0.
Jeśli odtworzysz animację to zobaczysz że WingmanControl znajduje się na ścieżce dostępu.
Wingman02 zmienia ścieżkę dostępu:
W oknie ekranu Top zaznacz obiekt Wingman02 i kliknij ikonkę Select And Unlink.
Teraz obiekt ten nie jest połączony z obiektem Dummy SpaceshipControl.
W menu Animation wybierz Constraint > Link Constraint i zaznacz Spaceship Control.
Wingman02 będzie wykonywał lot tak jak poprzednio ale czyni to elastyczne wiązanie dla innej ścieżki dostępu.
Przesuń wodzik czasu do klatki 45 i kliknij przycisk Add Link w rolecie Link Params w panelu Motion.
Kliknij obiekt Dummy WingmanControl.
Zauważ że WingmanControl dodany został do listy Target w klatce 45 i rozpoczyna od tej klatki lot za obiektem Dummy po innej ścieżce dostępu.
Zapisz plik pod nazwą, MyFlight05.max i odtwórz animację.
Mmmm
Cofnij wodzik czasu do klatki 0.
Utwórz inny obiekt Dummy w pobliżu Wingman02 i nazwij go wingmanroll.
Jeśli nowy obiekt Dummy został umieszczony nie w tym miejscu gdzie zamierzałeś go umieścić, to przy użyciu narzędzia Select And Move możesz dokonać poprawki.
Obejrzyj scenę w oknach Front i Right, by być pewnym że scena jest dobrze zorganizowana.
Kliknij ikonkę Select And Link i połącz wingmanroll z WingmanControl.
Z menu Tools wybierz Algin i kliknij WingmanControl.
Pokaże się okno Align Selection (WingmanControl).
W oknie tym w grupie Align Orientation (Local), zaznacz osie X, Y i Z po czym kliknij OK.
W panelu Motion rozwiń roletę Assign Controller i zaznacz z listy pozycję Rotation: Euler XYZ.
Kliknij ikonkę Assign Controller i w oknie Assign Rotation Controller wybierz z listy pozycję TCB Rotation.
Pamiętaj że: jeśli nie zaznaczysz kontrolera TCB Rotation, nie będziesz w stanie obrócić myśliwca wzdłuż osi.
Zaznacz obiekt Wingman02, w oknie Top.
Z menu Animation wybierz Constraints > Orientation Constraint. Przemieść kursor na wingmanroll i zaznacz go.
Zobacz że wingmanroll dodany został do listy Orientation Constraint.
W oknie ekranu Top zaznacz obiekt wingmanroll.
Wciśnij przycisk Set Key i kliknij ikonkę Set Keys.
Zaznacz obiekt Wingman02.
Przesuń wodzik czasu do klatki 60 i kliknij ikonkę Set Keys ponownie.
Dodałeś dwa identyfikatory zapisu, w klatkach tych myśliwiec będzie leciał normalnie.
Aktywuj okno ekranu kamery i przesuń wodzik czasu do klatki 85.
Kliknij narzędzie Select And Rotate.
W tym kroku wykonasz dwa obroty.
W oknach Coordinate Display Type wpisz wartość w osi X na -15 po czym kliknij ikonę Set Keys.
Teraz w osi Y wpisz wartość na 90 i kliknij ikonkę Set Keys.
Przesuń wodzik do klatki 100, by wykonać następne dwa obroty.
W osi Z wpisz wartość 5 stopni i wciśnij ikonkę Set Keys.
W osi Y wpisz wartość 90 stopni i wciśnij ikonkę Set Keys.
Przesuń wodzik czasu do klatki 115, by wykonać następne dwa obroty.
W osi Z wpisz wartość 5 stopni i wciśnij ikonkę Set Keys.
W osi Y wpisz wartość 90 stopni i wciśnij ikonkę Set Keys.
Wyłącz przycisk Set Key i zapisz pracę pod nazwą MyFlight06.max.