Для того щоб отримати уявлення про результат цього уроку, найкраще переглянути відповідне відео.
В рабочому файлі PSD_C4D_R12_Dyn_Motor_Auto_Start.c4d вже підготовлені найважливіші елементи сцени, що дозволяє нам одразу розпочати роботу з динамікою. Оскільки ми почнемо із збільшення невеликого іграшкового автомобіля, всі завадливі елементи сцени тимчасово вимкнені через перемикачі світлофору в Об'єкт-менеджері.
Побудова сцени
Давайте швидко розглянемо склад сцени. Окрім автомобіля тут є також куля-об'єкт як майбутній перешкода, HyperNURBS-об'єкт з інтегрованим земельним об'єктом, а також підлога, небо і светро-об'єкти для оточення та освітлення сцени.
Для того щоб спростити побудову автомобіля та зробити його легким у розумінні, авто складається лише з кузова та чотирьох коліс. У ролі коліс є всього чотири об'єкти-трубки, які спрямовані в позитивному напрямку по осі X та розміщені на відповідному місці на автомобілі.
Для того щоб у майбутньому легше було підключити конектори та мотори, до кожного колеса додано його позицію у вигляді абревіатури (пл = переднє ліве).
Кузов генерує об'єкт-здійснення-NURBS із сплайна. Звісно, ви також можете використовувати інший автомобіль або інший кузов; важливо лише правильне включення за допомогою конектора або тегу Dynamics Body.
Прихований всередині об'єкта HyperNURBS лежить земельний об'єкт, який надає нам діючу територію для однієї з відзнак авто у стилі офф-роуд. Завдяки підділі здійснення HyperNURBS ми можемо економити при деталізації території, не отримуючи при цьому занадто кутової місцевості.
Щоб під час поїздки по терену було трохи більше динамізму, ми встановлюємо декілька перешкод. У моєму випадку це прості кульові об'єкти з радіусом 50 см, які пізніше, за допомогою MoGraph, розміщуються випадковим чином на терені чи на земельному об'єкті.
Побудова авто з конекторами та моторами
Почнемо з іграшкового автомобіля. Які функції він повинен виконувати для наших цілей?
Спочатку, колеса повинні бути можливість повороту вкріплені до транспортного засобу; також воно повинне мати привід на колесах, щоб взагалі рухатися самостійно. І, звісно, воно повинно виявляти зіткнення – це починається вже з того, що колеса стоять на землі.
Для того щоб ми могли задовольнити ці функції за допомогою нової системи динаміки в CINEMA 4D, всі залучені елементи повинні мати теги Dynamics Body, щоб їх взагалі приймала Двигун динаміки.
У діалозі настройок Тіло динаміки ми також налаштовуємо авто на негайний спрацювання.
На сторінці зіткнень ми повинні враховувати ієрархію нашого автомобіля, щоб кузов взагалі міг бути виявлений. Для цього ми встановлюємо ієрархію на об'єднану форму зіткнень та обираємо краще використовувати кутовий оболонковий макет або рухливу сітку.
Інші властивості зіткнень можуть залишитися; власне кажучи, автомобіль переважно буде стояти на чотирьох колесах і не обов'язково перекидатися.
Щоб переконатися, що для розрахунку центра мас нашого автомобіля ми використовуємо вісь, яку ми обрали, нам треба на короткий час переключитися на сторінку Маса.
Тут ми активуємо опцію Власний центр маси - проте оскільки ми не хочемо відхилятися від визначеної вісі, значення зміщення по X, Y та Z залишаються на 0.
Якщо ми зараз почнемо анімацію, наш автомобіль просто розпадеться. Це не дивно, адже ми визначили лише п'ять тіл динаміки, а причинові взаємозв'язки CINEMA 4D (ще) нічого не знає.
Ми виправимо це за допомогою з'єднувачів. З їх допомогою ми кріпимо колеса до автомобіля, дозволяємо обертання навколо осі колеса та одночасно реалізовуємо прийнятну амортизацію для руху по майданчику.
Давайте взяли перший з'єднувач з меню Симуляція>Динаміка.
Кожне колесо має власний з'єднувач. Ми починаємо з переднього лівого колеса, надаючи новому створеному з'єднувачу відповідну назву. Щоб з'єднувач взяв позицію колеса, ми активуємо інструмент Приймання з меню Функції і перетягуємо ліве переднє колесо до поля Об'єкт для прийняття.
Після натискання на кнопку Призначити з'єднувач буде знаходитися у тій же позиції, що й вказане колесо.
Тим же способом ми створюємо наступний з'єднувач; цього разу для правого переднього колеса. Цьому з'єднувачу також відводимо позицію відповідного колеса через Команду Прийняття.
Перш ніж перейти до задніх коліс, ми вирівнюємо з'єднувачі на передніх колесах правильно. Для цього виділяємо з'єднувач та обертамо його за допомогою Кутового кута у Менеджері атрибутів з жовтим шарнірним елементом зовнішньо. Для правого переднього колеса отримаємо кут 90°, для лівого переднього колеса - кут -90°.
За допомогою такого ж методу ви можете обладнати обидва задні колеса з'єднувачами на правильній позиції та іншою орієнтацією. Нижче зображення показує чотири розміщені з'єднувачі з виду зверху.
Щоб з'єднувачі були видимі навіть тоді, коли вони не були виділені, активуйте на сторінці Представлення діалогового вікна Налаштування з'єднувача опцію Завжди видимий. Зменште розмір з'єднувачів, щоб вони краще вписувалися до автомобіля.
Тепер ми нарешті повинні визначити правильну функцію для з'єднувачів; зрештою, ми хочемо пружинні вісі, а не рухомі з'єднання на автомобілі. Це робиться на сторінці Об'єкт, де ми встановлюємо тип Вісь підвіски для всіх чотирьох з'єднувачів.
Ми досі тримаємо виділенні чотири з'єднувачі, оскільки всі наступні налаштування можна зробити для всіх чотирьох пружинних вісей. Як об'єкт для Прив'язки з'єднувачів, ми перетягуємо нуль-об'єкт Авто у поле Об'єкт А.
Для Жорсткості пружини обираємо значення 20, для Опору пружини, тобто швидкість, з якою пружина повертається назад, беремо значення 20%.
Ми активуємо нижній та верхній ліміт у напрямку Y, із зміщенням в 20 см кожен. Хоча малоймовірно, що наш автомобіль дійде до цих меж, сцена стане більш зрозумілою.
Тепер ми займаємося окремо кожним з'єднувачем або пружинною віссю. Єдине налаштування, яке нам треба зробити для кожного з'єднувача, це другий об'єкт для прив'язки. Для цього ми перетягуємо колесо, що відповідає кожному з'єднувачу, у поле Об'єкт В.
Коли ми налаштували всі чотири конектори або пружини коліс, ми також інтегруємо їх в ієрархію об'єктів у автомобіль. Ми поміщаємо їх біля коліс як підоб'єкт до нуль-об'єкта "Авто".
Що ще не вистачає нашому іграшковому автомобілю - це привід, щоб він міг рухатися самостійно. Для місцевості було б бажано масти ліптовий привід, але в нашому прикладі тільки два передні колеса будуть приводитися двигунами. Два двигуни, тому що так краще фізично передається потужність на окремі колеса.
Ми встановлюємо перший двигун через меню Симуляція>Динаміка в сцену.
Аналогічно до конекторів, ми також перейменовуємо двигун відповідно до привідного колеса. В даному випадку двигун повинен приводити переднє ліве колесо.
За допомогою інструменту Прийняти з меню Функції ми передаємо двигуну позицію колеса. Після натискання на кнопку Призначити, двигун розміщується в потрібному місці та йому потрібно лише вирівняти.
Ми робимо це через Менеджер властивостей на сторінці координат. Ми повертаємо двигун під кутом відхилення від 90°, щоб жовта ручка збігалася з рухом вращання колеса.
Двигун зв'язується за допомогою Полів об'єкта у його діалозі налаштувань. У нашому випадку ми перетягуємо переднє ліве колесо у поле Об'єкт А. Для приводу двигуну ми встановлюємо кутову швидкість обертання на 400° та момент обертання на 50.
Так само ми тепер встановлюємо ще один двигун для приводу переднього правого колеса. Ми перейменовуємо його відповідно та знову передаємо позицію відповідного колеса двигуну за допомогою інструменту Прийняти.
Другий двигун також повертаємо за допомогою Менеджера властивостей у правильному напрямку обертання та віддаємо на цей раз переднє праве колесо як Об'єкт А.
Другому двигуну, звичайно ж, надаємо ідентичні параметри для Кутової швидкості обертання та Моменту.
Тепер привід встановлено правильно в автомобіль. Рекомендую включити двигуни як підоб'єкт в ієрархію об'єктів автомобіля, щоб редактор був зрозумілим під час симуляції.
Перш ніж ми можемо нарешті відправити наше авто у рух, нам потрібен міцний ґрунт, оскільки досі іграшкове авто просто впаде вниз.
Для нашого першого тесту та як підлоговий шар на майбутнє ми перетворюємо ґрунт на колізійний об'єкт. Для цього ми вибираємо об'єкт підлоги та присвоюємо йому відповідний тег Корпуса динаміки через меню Симуляція>Динаміка.
Як у випадку чистої колізійного об'єкта, діалогове вікно налаштувань виглядає досить зрозуміло. Нам цікавий, перш за все, Коефіцієнт тертя. Ми піднімаємо його до 100%, щоб колеса швидко зупинялися і можна було гарно прискорювати.
Якщо натиснути тепер кнопку Відтворення, іграшкове авто вже самостійно їде. Пізніше ми ще додамо автомобілю невеликий управліннєвий прилад, але зараз ми спокійно стурбовані про ґрунт.
Розвиток сцени з елементами Dynamics та MoGraph
Досі невидимий, оскільки відключений як параметричний об'єкт через Менеджер об'єктів, об'єкт ландшафту має бути використаний як хвилястий ландшафт. Подібно до об'єкта підлоги, ми повинні спочатку визначити ландшафт як колізійний об'єкт. Для цього ми присвоюємо батьківському об'єкту HyperNURBS через меню Симуляція>Динаміка тег Корпусу динаміки як колізійний об'єкт.
Так само як у випадку цього колізійного об'єкту, сторона зіткнення діалогового вікна налаштувань є особливо важливою. Тут нам потрібна форма зіткнення як статична мережа, щоб автомобіль міг розпізнати будь-яке узвишшя на поверхні. Аналогічно до об'єкта підлоги, також тут присвоюється високий коефіцієнт тертя від 100%.
Перевіримо, як наше авто справляється в гелендвагені. Для цього спочатку ми повністю зміщуємо групу авто по координаті Z в Attribute-Manager на 3000 см. Таким чином автомобіль готовий вирушити вперед і вирушити на гелендваген.
Після натискання на кнопку відтворення ми можемо побачити, як наша іграшкова машина відважно прокладає шлях через пагорбисту місцину. Щоб трохи рознообразити сцену, ми також розмістимо перешкоди.
Вихідна позиція для наших перешкод вже є у формі кульового об'єкта. Щоб пізніше клоновані кулі не лише перешкоджали автомобілю, а й відштовхували їх, нам потрібно визначити їх як тверде тіло (Rigid Body). Засадове значення має те, чи сама куля, чи клонований об'єкт отримає вказівку тіла динаміки (Dynamics Body-Tag). Зручніше використовувати перший варіант, оскільки ви таким чином можете надати кожному типу клону власні динамічні властивості.
Таким чином, ми присвоюємо кульовому об'єкту потрібний тег тіла динаміки (Dynamics Body-Tag) як тверде тіло (Rigid Body); ми знаходимо його як завжди в меню Simulation>Dynamics.
В діалозі налаштувань тегу тіла динаміки (Dynamics Body-Tag) для кули ми встановлюємо на сторінці динаміки спрацьовування на При зіткненні. Це дозволяє кулям не рухатися самостійно, а реагувати лише тоді, коли автомобіль або інша куля викликає зіткнення.
Ми сподіваємось на автоматичне виявлення зіткнень через просту форму об'єкту; підвищене тривання (Friction) на рівні 80% утримує кулі практично на землі, щоб вони без ненавмисних стрибків просто котилися по місцевості.
У цей момент кулю обладнано динамічними властивостями, щоб ми могли розподілити їх по місцевості. Для цього ми використовуємо клонований об'єкт з меню MoGraph.
Через Об'єкт-менеджер ми призначаємо кулевий об'єкт клонованому об'єкту як клонуємо. Так як ми використовуємо параметричну кулю, яка використовує середину кулі як точку посилання (Bezugspunkt), розміщення клона кулі зараз означало б, що всі клони на ґрунті стоять наполовину.
Щоб цього уникнути і відповідно підняти кулі на радіус угору, ми знаходимо на сторінці трансформації діалогового вікна можливість встановити зміщення. Ми переміщуємо кулі у напрямку Z на 50 см, тобто радіус кулі.
Справжні налаштування для дублювання та розподілу клонів ми проводимо на сторінці Об'єкта діалогового вікна налаштувань.
Спочатку ми обираємо режим Об'єкт; нарешті, ми хочемо використовувати Об'єкт пейзажу для розподілу клона. Даний Об'єкт пейзажу ми потім перетягуємо до відповідного поля Об'єкт.
Розподіл клонів повинен відбуватися на поверхні об'єкта; кількість можна визначити самостійно. Для того, щоб авто не було змушено рухати надто багато куль, було б рекомендовано встановити кількість не більше 80.
На зображенні нижче ви бачите поточний стан у рендерингу. Кулі ретельно розподілені на об'єкті пейзажу, але всі вони спрямовані в однаковому напрямку. Цю невелику проблему легко виправити за допомогою ефектора випадковості.
Щоб призначити ефектор випадковості клонованому об'єкту як місце дії в сцені, виділіть клонований об'єкт у Об'єкт-менеджері, перед тим як виділити ефектор випадковості з меню MoGraph>Ефектори.
У діалозі налаштувань ефектора, ми знаходимо на сторінці Параметри параметри трансформації. Оскільки кулі мають бути просто обернені навколо всіх осей, нам потрібні тільки змінені параметри кутів. Достатньо кутів по 90°, щоб надати достатньо простору для різноманітних обертань.
Тестовий рендеринг показує, що за допомогою ефектора випадковості кулі тепер розташовані на ландшафті забрамиць випадковим чином.
Тепер вже високий час випустити нашу іграшкову машину на перешкоди. Оскільки ми маємо розраховувати на більше зіткнень у майбутньому, варто крім того, посмотріти на параметри динаміки в налаштуваннях документа, залежно від розміру або масштабу перешкод.
Так як розмір куль, колес і також іграшкової машини дуже близький до заданого масштабу і гарно працює з толерантністю зіткнень, у моєму прикладі тут не потрібні адаптації.
Тримайте ваше іграшкове авто завдяки камері-цілі, яка автоматично націлюється на авто, не дозволяючи втратити з виду об'єкт. Дозвольте це скрізь у менеджері об'єктів.
Тепер ви может давити кнопку відтворення та спостерігати за авто під час його подорожі через утруднену місцину.
Встановлення простого управління автомобілем з XPresso
Буде чудово, якщо автомобіль не тільки буде прямувати через місцину, але також ми, як користувачі, матимемо можливість керувати ним. Для нашого прикладу вистачить простого керування вліво чи вправо за допомогою повзунка. Хоча насправді нам потрібно керувати двома об'єктами (колесами або з'єднувачами), але ми хочемо використовувати лише один зручний повзунок, просто додамо власний параметр керування у формі користувацьких даних. Для цього виділіть групу автомобілей та додайте свої власні дані через меню користувача, у менеджері атрибутів.
Після того як ми увімкнемо «будь-що», ми знайдемо відповідний параметр керування у списку користувачів нашого авто. Тепер ми створили можливість керування власним параметром. Це лише необхідно перенести на потрібне місце в будові нашого автомобіля.
Потужне завдання для XPresso. Спочатку нам потрібно метку XPresso, яку ми легко призначимо через контекстне меню правою кнопкою миші в підрозділі мітки CINEMA 4D. Звісно, наша група автомобілей - відмінне місце для цього.
Подвійним клацанням на мітці XPresso ми відкrijмемо редактор XPresso. В якості першого запису або вузла переносимо нульовий об'єкт Auto з менеджера об'єктів в вікно редактора XPresso.
Щоб надати нашому власно створеному параметру доступ до порту для зв'язку, клацніть на червоному прапорці виходного порту й оберіть порт керування з підменю користувацьких даних.
За допомогою параметру керування ми хочемо впливати на кут кермування коннекторів колісної підвіски. Для доступу до цих параметрів у редакторі XPresso шукаємо дві коннектори лівого та правого передніх коліс у менеджері об'єктів та також перетягуємо обидва об'єкти в редактор XPresso.
Оскільки ми хочемо передати значення на обидва коннектори, нам знадобляться параметри кришталевого кута на вході. Для цього клацніть на блакитному прапорці вхідного порту вузлів коннекторів і оберіть відповідно порт кришталевого кута з підменю атрибутів об'єкта.
Тепер нам лишається лише з'єднати два порти кута керування з портом керування автомобілем. Просто утримуючи кнопку миші натиснутою, ми просто перетягнемо з одного порту на інший.
Наша коротка подорож в XPresso вже завершена, тому ми можемо закрити редактор XPresso. Щоб не постійно шукати нульовий об'єкт та його вхідні дані користувача для керування автомобілем, ми просто інтегруємо панелі керування регулятором в Head-Up Display (HUD) вікна редактора.
Для цього клацнемо правою кнопкою миші на параметрі керування в менеджері властивостей і в контекстному меню виберемо команду Додати до HUD.
Щоб перемістити елемент HUD у редакторі, просто утримуйте натиснутою клавішу (Ctrl)- або (Ctrl) на елементі HUD та рухайте його за допомогою миші на зручне місце.
Більше того, щоб елемент HUD був видимим не лише тоді, коли ви вибрали наше авто, ми викликаємо контекстне меню, утримуючи праву кнопку миші, і вибираємо в меню Показати опцію Завжди.
Тепер ви можете клацнути кнопку відтворення і вільно направляти автомобіль по майданчику за допомогою регулятора. Обов'язково зверніть увагу, що на початку кожної поїздки повертайте керування, щоб автомобіль не перевертався.
Ті, хто бажає потім створити анімацію з пригодницької поїздки, можуть просто додати Ключові кадри для кожного конкретного значення керування. Насолоджуйтесь повзанням по майданчику!