Aby uzyskać wrażenie z tego samouczka, najlepiej obejrzeć odpowiadające mu wideo.
W pliku projektowym PSD_C4D_R12_Dyn_Motor_Auto_Start.c4d najważniejsze elementy sceny zostały już przygotowane, dzięki czemu możemy od razu przejść do pracy z Dynamiką. Ponieważ zaczynamy od montażu małego pojazdu zabawkowego, wszystkie elementy zakłócające scenę zostały tymczasowo ukryte za pomocą przełączników świateł w Managerze Obiektów.
Budowa Sceny
Przyjrzyjmy się krótko kompozycji sceny. Oprócz samochodu, znajduje się tam również obiekt Kuli jako przeszkoda, obiekt HyperNURBS z wbudowanym obiektem Terenu oraz obiekty Podłoże, Niebo i oświetleniowe do otoczenia i oświetlenia w scenie.
Aby uproszczony i przejrzysty sposób na budowę pojazdu, auto składa się tylko z nadwozia i czterech kół. Łącznie cztery obiekty Rury pełnią funkcję kół, które zostały wyrównane w pozytywnym kierunku osi X i umieszczone na odpowiednich miejscach przy aucie.
Aby ułatwić sobie później integrację łączników i silników, przypisano każdemu kole jedno z oznaczeń pozycji (np. vl = przednie lewe).
Nadwozie generuje obiekt Ekstrude-NURBS z Splinu. Oczywiście można użyć inny samochód lub inne nadwozie; ważne jest później poprawne uwzględnienie poprzez łącznik lub Tag Dynamicznego Ciała.
W Ustawieniach obiektu Ekstrude-NURBS jest szerokość naszego pojazdu. Wynika to z przesunięcia w osi X podczas extruzji. Za naturalny, realistyczny wygląd odpowiadają zaokrąglenia krawędzi nadwozia.
Zakamuflowane w obiekcie HyperNURBS jest obiekt Terenu, dostarczający nam przydatnego terenu do offroadowego przejazdu auta. Dzięki podziałowi HyperNURBS, możemy oszczędzać na segmentacji terenu, nie otrzymując zbyt kanciastego terenu.
Aby podczas jazdy przez teren była trochę więcej akcji, integrujemy kilka przeszkód. W moim przypadku proste obiekty Kuli o promieniu 50 cm, które zostaną później rozproszone za pomocą MoGraph na terenie lub obiekcie Terenu.
Budowa Pojazdu z Łącznikami i Silnikami
Zajmijmy się najpierw zabawkowym autem. Jakie funkcje musi spełniać dla naszych celów?
Najpierw koła muszą być obracalne i przymocowane do pojazdu; ponadto potrzebny jest napęd na koła, aby w ogóle mogło się poruszać. Oraz oczywiście musi rozpoznawać kolizje - zaczynając od chwili, gdy koła stoją na ziemi.
Aby zapewnić tę funkcjonalność za pomocą nowych Dynamicznych w CINEMA 4D, elementy zaangażowane muszą mieć Tagi Dynamicznego Ciała, aby w ogóle zostały zaakceptowane przez silnik Dynamiczny.
Rozpoczynamy od czterech kół, które wszystkie zaznaczamy w Managerze Obiektów i definiujemy jako Ciało Sztywne poprzez menu Simulacja>Dynamiczne.
Ponieważ wszystkie cztery koła oczywiście otrzymują te same właściwości dynamiczne, zaznaczamy cztery Tagi Dynamicznego Ciała i ustalamy pożądane parametry.
Na stronie Dynamicznej możemy przyjąć domyślne ustawienia. Ważne jest natychmiastowe spowodowanie, aby koła miały od razu kontakt z podłożem.
Na stronie Kolizji wspomagamy wykrywanie kolizji przez Dynamiczne, ustawiając jako Formę Oś Cylindra X. Odpowiada to ostatecznie kształtowi koła i zwiększa wydajność obliczeń Dynamicznych. Aby pojazd delikatnie odbijał się od ziemi w przypadku uderzenia, ustawiamy lekką elastyczność na 10%. Z kolei zwiększamy tarcie na 120%, aby koła mogły solidnie trzymać się ziemi.
Przechodzimy do kolejnego elementu pojazdu, nadwozia. Niestety Obiekt Ekstrude-NURBS ze względu na swoje niekorzystne położenie osi nie nadaje się jako punkt odniesienia dla nadwozia, więc po prostu używamy nadrzędnego Obiektu Null Auto. Jego oś jest w środku auta.
Zatem przypisujemy Obiektowi Null Auto poprzez menu Simulacja>Dynamiczne Tag Dynamicznego Ciała jako Ciało Sztywne.
W oknie dialogowym Dynamiczne ciało ustawiamy także dla samochodu natychmiastowe wywołanie.
Na stronie Kolizja musimy uwzględnić hierarchię naszego pojazdu, aby karoseria w ogóle mogła zostać wykryta. Ustawiamy hierarchię na Forma kolizji złożona i wybieramy najlepszą formę, czyli otoczkę wypukłą lub mesh ruchomy.
Pozostałe właściwości kolizji można zostawić; przecież pojazd w gruncie rzeczy będzie stał na czterech kołach i niekoniecznie przewróci się.
Aby upewnić się, że jako środka ciężkości dla naszego pojazdu jest używana pożądana przez nas oś, musimy krótko przełączyć się na stronę Masa.
Aktywujemy opcję Własny środek masy - ale ponieważ nie chcemy odbiegać od zdefiniowanej osi, pozostajemy przy wartościach przesunięcia w osi X, Y i Z równe 0.
Jeśli teraz uruchomilibyśmy animację, nasz pojazd po prostu by się złożył. Nic w tym dziwnego, ponieważ zakładamy jedynie pięć Dynamicznych ciał, a Cinema 4D jeszcze (jak na razie) nic nie wie o związkach konstrukcyjnych.
To zmieniamy teraz za pomocą Łączników. Przy ich pomocy przytwierdzamy koła do pojazdu, umożliwiamy obrót wokół osi koła oraz jednocześnie realizujemy akceptowalne zawieszenie kół na przejazd przez teren.
Pobierzmy pierwszy Łącznik z menu Animacja>Dynamiczne.
Każde koło otrzymuje swoją własną przymocowaną do niego konnęktora. Zacznijmy od przedniego lewego koła i przemianujmy nowo utworzony Łącznik odpowiednio. Aby konnęktor przejął pozycję koła, aktywujemy narzędzie Przypisanie z menu Funkcje i przeciągamy Koło vl do pola Obiekt dla przejęcia.
Po kliknięciu przycisku Przypisz konnęktor znajduje się na tej samej pozycji co określone koło.
W ten sam sposób tworzymy następny konnęktor; tym razem dla przedniego prawego koła. Również dla tego konnęktora przyporządkowujemy pozycję odpowiedniego koła za pomocą polecenia Przypisanie.
Zanim przejdziemy do tylnych kół, ustawiamy konnęktory na przednich kołach poprawnie. Selekcjonujemy konnęktor i obracamy go za pomocą Kąt nagłówka w Managerze atrybutów z zaznaczoną żółtą częścią zawiasu na zewnątrz. Dla prawego przedniego koła kąt wynosi 90°, dla lewego przedniego koła -90°.
Z tą samą metodą możecie teraz zaopatrzyć oba tylne koła w konnęktory na odpowiedniej pozycji i odpowiednio obrócić. Na poniższym obrazku pokazano cztery umieszczone konnęktory z widoku z góry.
Aby konnęktory były widoczne nawet po odznaczeniu ich, aktywujecie po prostu opcję Zawsze widoczny na stronie Wyświetlanie w Dialogu ustawień konnęktora. Zmniejszcie również rozmiar konnęktorów, co sprawi, że lepiej będą pasować do pojazdu.
Teraz powinniśmy wreszcie ustalić poprawną funkcję dla konnęktorów; przecież chcemy amortyzowane osie, a nie zawiasy w samochodzie. Robimy to na stronie Obiekt, gdzie ustawiamy typ Federacja koła dla wszystkich czterech konnęktorów.
Przytrzymujemy jeszcze zaznaczone cztery konnęktory, bo kolejne ustawienia możemy zrobić dla wszystkich czterech amortyzatorów. Jako pierwszy obiekt do Uziemienia konnęktorów przeciągamy obiekt Auto bez wartości do pola Obiekt A.
Jako Twardość sprężyny wybieramy wartość 20, a dla Tłumienia sprężyny, czyli szybkości, z którą sprężyna powraca, przyjmujemy wartość 20%.
Aktywujemy Dolny i Górny limit w kierunku Y, z przesunięciem na 20 cm. Mimo że mało prawdopodobne, że nasz pojazd do tego zasięgnie, scena stanie się bardziej czytelna.
Teraz zajmiemy się poszczególnymi konnęktorami lub amortyzatorami kół. Jedyną dostosowaniem, które musimy zrobić dla każdego konnęktora, jest wybór drugiego obiektu do uziemienia. W tym celu przeciągamy odpowiednie koło przypisane do konnęktora do pola Obiekt B.
Po zainstalowaniu wszystkich czterech konektorów lub zawieszeń kół, integrujemy je także w hierarchię obiektów w pojeździe. Umieszczamy je w pobliżu kół jako podobiekt w zerowym obiekcie "Samochód".
Co jeszcze brakuje naszej zabawkowej samochodzie, to napęd umożliwiający mu samodzielne poruszanie się. Chociaż dla terenu byłby pożądany napęd na cztery koła, w naszym przykładzie mają być napędzane tylko dwa przednie koła. Dwa silniki dlatego, że wtedy przeniesienie mocy na poszczególne koła przebiega fizycznie poprawniej.
Instalujemy pierwszy silnik przez menu Simulacja>Dynamika do sceny.
Na zasadzie analogicznej do konektorów, odpowiednio nazywamy również silnik zgodnie z kołem, które ma napędzać. Tutaj silnik ma napędzać lewe przednie koło.
Za pomocą narzędzia Przyjmij z menu Funkcje, dajemy silnikowi położenie koła do przejęcia. Po kliknięciu przycisku Przypisz, silnik znajduje się we właściwym miejscu i musi zostać tylko wyrównany.
To wykonujemy za pomocą Menadżera atrybutów na stronie Współrzędnych. Obracamy silnik o kąt obrotu 90°, aby kierunek żółty pokrywał się z kierunkiem obrotu koła.
Silnik jest związany poprzez pola Obiekt w swoim oknie ustawień. W naszym przypadku przeciągamy przednie lewe koło do pola Obiekt A. Dla napędu dajemy silnikowi zieloną prędkość kątową 400° i moment obrotowy 50.
W ten sam sposób instalujemy teraz kolejny silnik do napędu prawego przedniego koła. Nazywamy go odpowiednio i ponownie przekazujemy pozycję odpowiedniego koła do silnika za pomocą narzędzia Przyjmij.
Również drugi silnik obracamy przy pomocy Menadżera atrybutów w odpowiedni kierunek i tym razem przekazujemy przednie prawe koło jako Obiekt A.
Drugi silnik otrzymuje oczywiście identyczne parametry dla zielonej prędkości kątowej i momentu obrotowego.
Tak więc napęd został teraz poprawnie zainstalowany w pojeździe. Zalecam umieszczenie silników jako podobiektów w hierarchii obiektów pojazdu, aby Edytor pozostał przejrzysty także podczas symulacji.
Zanim nasz samochód wreszcie ruszy, potrzebujemy solidnej powierzchni, bo w przeciwnym razie zabawkowy samochód po prostu spadłby w próżnię.
Na nasz pierwszy test i jako warstwa podstawowa na przyszłość, robimy z podłogi obiekt kolizyjny. Wybierając Obiekt podłogi i nadając mu odpowiednie Tag Dynamicznego ciała przez menu Simulacja>Dynamika.
Jak to jest w przypadku czystego obiektu kolizyjnego, okno ustawień jest dość przejrzyste. Interesuje nas przede wszystkim współczynnik tarcia. Ustawiamy go na 100%, aby koła szybko się zatrzymały i mogły porządnie przyspieszyć.
Gdy nacisniesz teraz przycisk odtwórz, zabawkowy samochód zacznie już sam ruszać. Później wyposaży nasz samochód w małe sterowanie; teraz jednak zajmujemy się terenem.
Rozbudowa sceny z elementami Dynamics i MoGraph
Dotychczas niewidoczny, ponieważ jako obiekt parametryczny wyłączony przez Menadżera obiektów, Obiekt krajobrazowy ma teraz być użyty jako pagórkowaty teren. Podobnie jak w przypadku Obiektu podłogi, musimy najpierw zdefiniować teren jako obiekt kolizyjny. Przypisujemy do niego nadrzędny Obiekt HyperNURBS za pomocą menu Simulacja>Dynamika, jako Tag Dynamicznego ciała do obiektu kolizyjnego.
Również dla tego obiektu kolizyjnego, w menu ustawień kolizji ważna jest warstwa kolizji. Potrzebujemy tutaj siatkę statyczną, aby samochód mógł później rozpoznać każdy garb na powierzchni. Podobnie jak w przypadku Obiektu podłogi, nadajemy tu również wysoki współczynnik tarcia 100%.
Sprawdźmy teraz, jak nasz samochód radzi sobie w terenie. Najpierw jednak przesuniemy całą grupę samochodową do wartości osi Z w Zarządzaniu atrybutami na 3000 cm. W ten sposób samochód jest gotowy do jazdy i może z impetem podążać w stronę terenu.
Po kliknięciu przycisku odtwarzania możemy zobaczyć, jak nasz samochód zabawka dzielnie przemierza swą drogę przez pagórkowaty krajobraz. Aby jeszcze bardziej uatrakcyjnić scenę, dodajemy dodatkowe przeszkody.
Baza dla naszych przeszkód już istnieje w postaci obiektu kuli. Aby sklonowane kule nie tylko stały na drodze samochodu, ale również były odepchnięte, musimy zdefiniować je jako Rigid Body. W zasadzie nieważne jest, czy kula sama czy obiekt klonu otrzymuje Tag Ciała Dynamicznego. Lepiej jest skorzystać z pierwszej opcji, ponieważ każdemu rodzajowi klonu można nadać własne właściwości dynamiczne.
Przypisujemy więc potrzebny Tag Ciała Dynamicznego jako Rigid Body do obiektu kuli; znajdziemy go jak zwykle w menu Animacja>Dynamiczne.
W oknie ustawień Tagu Ciała Dynamicznego dla kuli ustawiamy na stronie Dynamic Wyzwalacz na Przy Kolizji. Dzięki temu kule nie zaczną samorzutnie się poruszać, lecz zareagują dopiero w momencie, gdy samochód lub inna kula spowoduje kolizję.
Dzięki prostej formie obiektu, możemy polegać na automatycznym wykrywaniu kolizji; zwiększone tarcie na poziomie 80% utrzymuje kule zazwyczaj na ziemi, zatem poruszają się po terenie bez niechcianych skoków.
Teraz kule zostały wyposażone w właściwości dynamiczne, dlatego możemy je rozłożyć po terenie. W tym celu używamy obiektu klonów z menu MoGraph.
Za pomocą Menadżera Obiektów przypisujemy obiekt kuli jako klon do obiektu klonu. Ponieważ używamy kuli parametrycznej, która ma środek jako punkt odniesienia, umieszczenie klonów kuli oznaczałoby, że wszystkie klony w połowie byłyby zakopane w terenie.
Aby temu zapobiec i odpowiednio podnieść kule o wartość promienia, znajdziemy w oknie ustawień na stronie Transformacja możliwość ustawienia przesunięcia. Przesuwamy kule w kierunku osi Z o 50 cm, czyli o promień kuli.
Rzeczywiste ustawienia duplikacji i rozmieszczenia klonów dokonujemy na stronie Obiekt okna ustawień.
Najpierw wybieramy tryb Obiekt; w końcu chcemy użyć obiektu krajobrazu do rozmieszczenia klonów. Wspomniany obiekt krajobrazu przeciągamy następnie do pola Obiekt.
Rozmieszczenie klonów ma odbywać się na powierzchni obiektu, możecie oczywiście sami określić ilość. Aby uniknąć konieczności, aby samochód przesuwał zbyt wiele kul z drogi, zalecane jest rozłożenie maksymalnie 80 klonów.
Na poniższym obrazie widzimy aktualny stan renderingu. Kule zostały dobrze rozmieszczone na obiekcie krajobrazu, ale wciąż patrzą w tę samą stronę. Dzięki efektorowi losowemu to małe problem zostanie szybko rozwiązany.
Aby przypisać efektor losowy do obiektu klonu już podczas dodawania go do sceny, zaznaczamy obiekt klonu w Menadżerze Obiektów, zanim sięgniemy po efektor losowy z menu MoGraph>Effektory.
W oknie ustawień efektora znajdziemy na stronie Parametry parametry transformacji. Ponieważ kule powinny obracać się tylko wokół wszystkich osi, potrzebujemy zmienionych parametrów kąta. Kąt wynoszący 90° w każdej osi wystarczy, aby zapewnić wystarczający zakres różnych rotacji.
Testowy render pokazuje, że dzięki efektorowi losowemu kule są teraz zupełnie losowo rozłożone na krajobrazie.
Jest najwyższy czas wypuścić nasz samochodzik zabawkowy na przeszkody. Ponieważ w przyszłości musimy się liczyć z większą liczbą kolizji, warto zajrzeć do Ustawień Dynamiki pod Ustawieniami Dokumentu, zależnie od wielkości lub skalowania przeszkód.
Ponieważ wielkość kulek, kół oraz samochodziku zabawkowego jest bardzo blisko przewidzianego skalowania lub dobrze radzi sobie z tolerancją kolizji, w moim przykładzie nie są wymagane żadne dostosowania.
Aby zabawkowy samochodzik nie zniknął z pola widzenia zaraz po rozpoczęciu jazdy, wśród elementów sceny w Menadżerze Obiektów znajduje się Kamera Docelowa, która automatycznie ustawia się na samochodzik. W jej Wyrażeniu Ustawienia zapisano, że nie może stracić obiektu Auto z oczu.
Aktywujemy ją, klikając na białym symbolu koronek w Menadżerze Obiektów.
Teraz możesz nacisnąć przycisk odtwarzania i obserwować samochodzik w jego przejeździe przez teren wypełniony przeszkodami.
Instalacja prostego sterowania dla samochodziku za pomocą XPresso
Oczywiście byłoby piękniej, gdyby samochodzik nie jechał po prostu prosto przez teren, lecz gdybyśmy jako użytkownicy mieli możliwość sterowania.
W naszym przykładzie wystarczy prosta możliwość skrętu w lewo lub w prawo za pomocą suwaka. Chociaż powinniśmy sterować dwoma obiektami (kołami lub łącznikami), a chcielibyśmy mieć wygodny regulator, po prostu integrujemy własny parametr sterowania w formie Danych Użytkownika.
Wybieramy Grupę Auto i dodajemy własne Dane Użytkownika poprzez menu Użytkownik w Menadżerze Atrybutów.
W oknie Zarządzania Danymi Użytkownika, znajdziesz wszystkie indywidualne Dane Użytkownika należące do obiektu. Nowo utworzony wpis zmieniamy odpowiednio na Skręt i określamy w polu Właściwości, w jaki sposób ma wyglądać parametr.
Jako Interfejs wybieramy Suwak zmiennoprzecinkowy w jednostkach Stopni. Aby mieć do czynienia z czytelnymi krokami, wybieramy Krok o wartości 1°.
Aby zapobiec zbyt dużemu skręceniu kół i zawieruszeniu się z pojazdem, ograniczamy minimalny skręt do -30°, maksymalny skręt do 30°. Wartość domyślna 0° sprawia, że koła są na początku ustawione prosto.
Po zamknięciu okna dialogowego za pomocą OK i utworzeniu Danych Użytkownika, znajdziesz na stronie Danych Użytkownika naszego samochodzika utworzony przez nas parametr Skręt jako suwak, zgodnie z naszymi życzeniami.
Stworzyliśmy więc możliwość sterowania własnym parametrem. Teraz musimy go tylko przekazać we właściwe miejsce w konstrukcji pojazdu.
To zadanie idealnie nadaje się dla XPresso. Na początek potrzebujemy Tagu XPresso, który najlepiej przypisać poprzez menu kontekstowe prawym przyciskiem myszy w podmenu CINEMA 4D Tags.
Jako podstawę tej Wyrażenia oczywiście doskonale nadaje się nasza Grupa Auto.
Podwójne kliknięcie w Tag XPresso otwiera Edytor XPresso. Jako pierwszy wpis lub Węzeł przeciągamy Obiekt Null Auto z Menadżera Obiektów do okna XPresso Editora.
Aby udostępnić nasz stworzony własny Parametr jako Port dla połączenia, klikamy na czerwony przycisk Portów Wyjściowych i wybieramy Port Skręt z podmenu Dane Użytkownika.
Chcemy, aby parametr Skręt wpływał na kąt skrętu Konnektorów Zawieszenia Koła. Aby mieć dostęp do tych parametrów w Edytorze XPresso, wyszukujemy w Menadżerze Obiektów oba Konnektory przedniego koła lewego i prawego, a następnie przeciągamy oba obiekty do Edytora XPresso.
Ponieważ chcemy przekazać wartość do obu Konnektorów, potrzebujemy Parametrów Kąta Skrętu na Portach Wejściowych. Aby to zrobić, klikamy na niebieski przycisk Portów Wejściowych w węzłach Konnektora i wybieramy odpowiednio w podmenu Właściwości Obiektu port Kąt Skrętu.
Teraz musimy połączyć oba porty kątów sterowania z portem kierowniczym samochodu. Wystarczy przeciągnąć myszką z jednego Portu na drugi.
Niestety, nasza krótka przygoda z XPresso już się skończyła, więc możemy zamknąć Edytor XPresso. Aby nie musieć ciągle szukać Obiektu zerowego i jego wpisu Danych użytkownika przy sterowaniu samochodem, po prostu zintegrujemy suwakowe sterowanie ze Szybkiego ekranu (HUD) okna edytora.
W tym celu klikamy prawym przyciskiem myszy na pozycję parametru Kontrola w Menedżerze atrybutów i wybieramy z menu kontekstowego opcję Dodaj do HUD.
Aby przesunąć wpis HUD w edytorze, po prostu kliknąć i przytrzymać klawisz (Strg)- lub (Ctrl)- na elemencie HUD i przesunąć go myszą w odpowiednie miejsce.
Aby element HUD nie był widoczny tylko wtedy, gdy wybieramy nasz pojazd, należy kliknąć prawym przyciskiem myszy odpowiednie menu kontekstowe i wybrać w menu Pokaż opcję Zawsze.
Teraz możecie kliknąć przycisk odtwarzania i wysłać samochód w dowolne miejsce za pomocą suwaka. Upewnijcie się, że przy każdym rozpoczęciu jazdy wyprostujecie Kierownicę, aby samochód nie przekręcił się.
Jeśli chcesz później zamienić tę przygodową podróż w animację, po prostu utrwal kluczowe punkty sterowania Klatki kluczowe dla odpowiedniego Wartości kierowania. Miłej zabawy podczas jazdy po terenie!