Чтобы мы могли полностью сосредоточиться на работе с Dynamics и MoGraph, вы найдете все остальные элементы сцены в рабочем файле "PSD_C4D_R12_Dyn_RigidB_Konnektoren_Start.c4d".
Достаточно трехлопастного вращающегося колеса и сферического объекта; остальное мы сделаем с помощью клонирования в MoGraph или с помощью частицемиттера.
Структура сцены с клонами MoGraph
Тремя главными объектами в нашей сцене являются шар, вращающееся колесо и наклонная плоскость, на которой позже должны опускаться шары. За исключением лопастей вращающегося колеса, все объекты уже имеют материал. По желанию можно настроить сцену с использованием других материалов.
Для шаров мы используем простой, параметрический объект сферы, который затем будет клонирован. Радиус 7 см соответствует нашему вращающемуся колесу и плоскости, нижний край которой должен как можно лучше удерживать шары.
Вращающееся колесо создается экструзией объекта булавочного сплайна с помощью NURBS-генератора экструзии. Для трех лопастей вращающегося колеса количество листьев было соответственно уменьшено. Внутренний радиус достаточно большой, чтобы вставленная ось (простой цилиндрический объект) имел достаточно места.
По желанию можно также поэкспериментировать с четырьмя или даже пятью лопастями.
NURBS-генератор экструзии обеспечивает трехмерную форму заданного булавочного сплайна. Глубина вращающегося колеса определяется параметром смещения.
Над вращающимся колесом находится уже упомянутый цилиндрический объект. Он будет использоваться для динамики как ось вращения для коннектора.
Наконец, перейдем к плоскости, которая по сути является объектом экструзии-NURBS, который преобразует заданный сплайн-путь (в данном случае L-сплайн) в трехмерный объект путем экструзии.
Такова структура стартовой сцены. Мы начнем с вращающихся колес и будем использовать MoGraph, чтобы получить достаточное количество копий или клонов для нашей плоскости.
Для этого нам понадобится объект клона из меню MoGraph.
В диалоговом окне настроек объекта клона сначала устанавливаем режим сетка.
Теперь в соответствующих параметрах мы можем определить количество и размер клонов, образующихся сетке. Так как сетка должна состоять из одного слоя в направлении x, мы оставляем это количество копий равным 1, в направлении Y мы создаем 6 или 5 клонов в показанных размерах.
Чтобы объект клона знал, какие объекты дублировать, мы помещаем полную иерархию вращающегося колеса в качестве подобъекта в объект клона в менеджере объектов. В соответствии с нашими желаниями объект клона производит нам вращающиеся колеса в форме сетки.
Теперь мы разместим клонированные вращающиеся колеса на плоскости. Поскольку угол поворота плоскости составляет 40°, мы также применяем эту величину к объекту клона, здесь в качестве угла отклона – 40°.
Для того чтобы точно разместить сетку клонов с вращающимися колесами на плоскость, лучше переключиться в вид сбоку, активировать глобальное выравнивание оси и переместить вращающиеся колеса вдоль своей оси близко к плоскости. Поскольку ось вращающихся колес немного выходит назад, она легко может погрузиться в плоскость.
Вращающиеся колеса установлены и могут вернуться как подобъекты в группу "скатывающихся" объектов. В настоящее время довольно беспокоит слишком идеальное, полностью одинаковое выравнивание вращающихся колес. Чтобы избавиться от этой монотонности, мы добавляем случайный эффектор.
Мы находим его в меню MoGraph>Effektoren и добавляем в нашу сцену. Тот, кто выбирает Объект Клона в Менеджере Объектов перед вызовом случайного эффектора, автоматически назначает этот эффектор данному объекту клона.
В диалоговом окне настроек Случайного эффектора мы сначала настраиваем случайные повороты вертушек. Для этого разворачиваем поле Трансформации в разделе Параметры и активируем опцию Угол для трансформации. Чтобы повернуть вертушки вокруг своего угла наклона, указываем здесь значение. Угол 60° дает вертушкам достаточно свободы при вращении.
Поскольку мы хотим использовать Случайный эффектор также для цвета вертушек в их Материале, мы также разворачиваем поле Цвета и активируем режим цвета. В параметрах родительского эффектора Случайного эффектора можно экспериментировать с начальным значением, используя случайные значения. Об этом позже.
В Режиме Редактирования изменения, вызываемые эффектором, обычно немедленно видны. При условии, что Объекту Клона был соответствующим образом назначен Случайный эффектор при его создании. Если этого не произошло, мы можем быстро исправить это в диалоговом окне настроек Объекта Клона через раздел Эффекторы. Из Менеджера Объектов мы перетаскиваем сюда все эффекторы, которые должны воздействовать на Объект Клона или иметь к нему доступ.
Чтобы разнообразить сцену, мы раскрашиваем вертушки в разные цвета. Случайный эффектор поможет нам в этом. Сначала мы создаем Новый Материал, по выбору через соответствующую команду меню в Менеджере Материалов или двойным щелчком на свободном месте менеджера.
Чтобы Случайный эффектор мог влиять на цвет в Цветовом канале, мы создаем Цветовой шейдер из подменю MoGraph в меню с кнопкой стрелки текстуры.
После щелчка по кнопке Цветового шейдера мы попадаем в довольно простое диалоговое окно настроек Цветового шейдера. Здесь убеждаемся, что для канала выбрана опция Цвет.
Теперь нам просто нужно назначить Материал для вертушек Extrude-NURBS-объекту крыла. Для этого перетаскиваем его из Менеджера Материалов на объект крыла вертушки в Менеджере Объектов. Тот, кому комбинация цветов для вертушек еще не нравится, может изменить параметр начального значения в Случайном эффекторе, пока ему не понравятся случайно выбранные цвета.
Строительство Системы Динамики с Коллизионными Объектами и Жесткими Телами
Теперь сцена подготовлена настолько, что мы можем включить элементы, участвующие в Симуляции, в систему Динамики. Начнем с чистых Коллизионных объектов, то есть объектов, как плоскость и пол, которые не динамичны, а лишь участвуют в системе для обнаружения столкновений.
Через меню Симуляция>Динамика оба определяются с помощью команды Создать Коллизионный объект как Коллизионный объект.
С помощью этой команды выбранным объектам был назначен Тег Динамики, в диалоговом окне которого для нас автоматически была отключена динамическая функциональность и включено обнаружение столкновений. В разделе Столкновение мы устанавливаем Упругость и Трение по 30% каждый, чтобы ударные шарики не прыгали наверх, а медленно скатывались.
Ситуация немного иная с вторым Коллизионным объектом, плоскостью для шариков. Здесь в разделе Столкновение нам нужно выбрать форму Статической сетки в качестве формы столкновения. Благодаря контуру Л плоскости гарантируется, что форма объекта будет правильно использована для расчета столкновения. Параметр Трение для плоскости может быть установлен немного выше, чтобы шарики не скользили слишком быстро по паркуру вертушек.
В отличие от чистых Коллизионных объектов, вертушки активно участвуют в динамическом процессе. Поскольку они также являются твердыми (жесткими) телами, мы определяем их как Жесткие Тела. Для этого выбираем объект крыла из иерархии структуры клонов и создаем его через команду Создать Жесткое Тело из меню Симуляция>Динамика как Жесткое Тело.
Также поведение вращающихся колес при столкновении отличается. Чтобы не возникало нежелательного беспокойства в сетке клонов, прежде чем произойдет реальное столкновение, мы устанавливаем в диалоговом окне настроек тега Динамическое тело срабатывание динамических свойств на При столкновении.
На странице столкновения речь идет о настройке деталей свойств столкновения. Здесь установка Авто в качестве формы столкновения гарантирует использование необходимой оптимальной оболочки столкновения для особой формы вращающихся колес. Чтобы предотвратить отскок ударяющихся шаров после столкновения, мы уменьшаем упругость до 20%. Высокий коэффициент трения 80% также обеспечивает потерю энергии у шаров при каждом соприкосновении с вращающимися колесами.
Использование собственной массы рекомендуется всегда, когда необходимо согласовать сталкивающиеся объекты разной массы. Поскольку шары и вращающиеся колеса различаются не столько по размеру, сколько по массе, мы устанавливаем здесь собственную массу 8. Коэффициент ротации 80% облегчает вращение колес.
Чтобы иметь еще большее влияние на текущую энергию и добиться того, чтобы симуляция успокоилась в разумные сроки, мы дополнительно ослабляем имеющиеся на вращающихся колесах силы.
На странице силы диалогового окна настроек вращающимся колесам назначаются линейное затухание 60% и затухание вращения 80%. Даже после сильного удара шаров вращающиеся колеса быстро успокоятся.
Функциональное расширение вращающихся колес с помощью коннекторов
Если бы мы запустили симуляцию, нажав на кнопку воспроизведения, то вращающиеся колеса при первом столкновении бесшумно скатились и уползли вниз по плоскости. Хотя они оптически застряли своей осью в плоскости, в нашей симуляции оси пока не играют никакой роли. Чтобы установить связь между вращающимися лопастями колес и осью, используем так называемые коннекторы. Найти их можно в меню Симуляция>Динамика.
Принципиально важно, где размещается коннектор в менеджере объектов или в иерархиях в Менеджере объектов. Однако, чтобы сохранить логику в нашей сцене, мы корректно комбинируем его с объектом цилиндра оси. Для удобства интеграции коннектора временно отключаем производство клонов через Менеджер объектов.
Если коннектор должен выполнять роль вращающейся оси, сначала ему нужно установить правильное положение и направление, то есть координаты и углы цилиндрической ось. Этот процесс упрощает нам команда Принять в меню Функции, которую мы вызываем, выделяя коннектор,.
В диалоговом окне настроек Инструмента Принять сначала назначаем объект цилиндра оси в качестве источника данных. Для этого перетаскиваем его из Менеджера объектов в соответствующее поле Принять от. Поскольку мы будем настраивать параметры прямо у коннектора, нажимаем на кнопку Назначить для принятия всех параметров на этом этапе.
Выделяем коннектор через Менеджер объектов и настраиваем его направление под вращающееся колесо. Как видно на рисунке ниже, угол наклона равен – 90°, а угол тангажа (согласно наклону плоскости) равен 40°. На странице Отображение можно уменьшить размер коннектора, чтобы он лучше подходил к вращающемуся колесу.
Фактическую функциональность коннектора мы задаем на странице Объект диалогового окна настроек. Тип Шарнир фиксирует связанные объекты на оси и позволяет только поворот вокруг предопределенной оси отсчета. В нашем примере с лопастями и осью на идентичной оси можно было бы быть еще более экономным, однако все же будет полезно работать максимально точно, особенно в более сложных сценариях, чтобы иметь возможность понять все позднее.
В качестве Объекта A для подключения мы перетаскиваем объект оси из Менеджера объектов в соответствующее Поле. Так как движение должно происходить вокруг X-оси, мы выбираем эту ось как Ось отсчета. В качестве Объекта B служит объект с лопастями и идентичной Осью отсчета. На этом этапе коннектору больше ничего не нужно.
После того как мы занялись реальной функцией коннектора, мы создаем его как подобъект оси вращающегося колеса. Поскольку ось функционально соединена с лопастями через коннектор, здесь коннектор находится в правильном месте.
Создание динамических шаров с помощью системы частиц
Игровое устройство полностью оборудовано и функционально, теперь нам просто нужны шары с динамическими свойствами, которые мы можем выпускать. Один шар у нас уже есть в сцене. Однако для правильного запуска игрового устройства мы даем возможность выпускать дополнительные шары из эмиттера частиц. Но сначала мы наделим шар нужными динамическими свойствами, чтобы он мог участвовать в симуляции вообще.
Для этого шару нужен Тег динамического тела с активированными динамическими свойствами. Поэтому мы назначаем шару через команду Создать жесткое тело из меню Симуляция>Динамика этот подходящий тег.
В диалоговом окне настроек Тега динамического тела на странице Динамика мы находим базовые свойства. Здесь устанавливаем разрешение на Сразу, чтобы шары могли сразу после появления в сцене начать действовать.
Обратимся к свойствам столкновения на странице Столкновение. Шар абсолютно не проблемен при вычислении столкновения; здесь работает автоматическое обнаружение. Упругость и трение шара остаются на средних значениях. Если шары впоследствии будут сталкиваться между собой, они также отскочат меньше.
Настроей на странице Масса взаимосвязаны с настройками оси вращателя. Мы установили собственную массу равной 8. Чтобы шары не ударили слишком сильно и тяжело по вращателям из-за слишком большой массы, устанавливаем массу шара на значение около 5.
Для того чтобы и шары (аналогично вращателям) относительно быстро после прогона успокоились, мы устанавливаем в диалоговом окне Силы затухание. Для линейного затухания и для вращательного затухания достаточно значения 20%, чтобы шары не уехали слишком далеко.
У шара теперь есть динамические свойства, но он все еще сам по себе. Чтобы производить больше шаров такого же типа, мы используем его в качестве частицы в системе частиц. Для этого нам нужен Объект-эмиттер, который генерирует и выпускает частицы. Мы находим его в палитре Объектов системы частиц.
В диалоговом окне настроек эмиттера частиц мы можем точно задать, сколько шаров и в какое время из какой точки должны быть произведены. Чтобы не перегружать игровое устройство, я решил установить скорость рождения двух частиц (в секунду). Эмиссию частиц начинаем сразу и завершаем через восемь секунд, т.е. на изображении 200. Достаточно высокое время жизни частиц важно, чтобы шары не исчезали с экрана раньше времени.
На странице Эмиттер диалогового окна настроек мы задаем форму и размер эмиттера. Поскольку выпускаемые шары должны использовать почти всю ширину игрового устройства, мы используем X-длину 145 см. Узкие 10 см в направлении Y гарантируют, что шары будут почти горизонтально выпущены и не упадут слишком с высоты.
Теперь размещаем готовый эмиттер частиц примерно вдоль верхнего края игрового устройства через Вид редактора или Менеджер координат. При ориентации всегда учитываем, что частицы должны быть направлены по ось Z.
Чтобы назначить круг в качестве частицы эмиттеру, мы просто устанавливаем ее ему через Менеджер объектов. Сам объект круга теперь исчез из Вида редактора и появляется только в форме выпущенных частиц.
Глобальные настройки динамики
По умолчанию в CINEMA 4D действует силовой закон, аналогичный земной притяжению. Эти и другие настройки мы находим в предустановках документа на странице Динамика.
На странице Эксперт можно дополнительно изменять некоторые стандартные значения, особенно для того, чтобы лучше настроить выявление столкновений в соответствии с элементами, участвующими в симуляции. В нашем случае целесообразно установить масштабирование на 10 см и сохранить толерантность к столкновениям как можно меньше.
Все подготовительные меры и настройки завершены, поэтому мы можем запустить динамическую симуляцию одним нажатием кнопки воспроизведения.
С этим готовым примером можно очень хорошо изучать влияние динамических свойств. С различными значениями массы, трения или даже затухания в отдельных тегах тела динамики элементы быстро приобретают совершенно другие свойства.
Приятного экспериментирования!