Если вы хотите работать над этим учебным пособием над одним и тем же проектом пошагово, в пакете с рабочими файлами вы найдете документ "PSD_C4D_R14_Aerodynamik_start.c4d", который является нашей общей отправной точкой.
Лист бумаги - это простой параметрический объемный объект, который имеет достаточное сегментирование для деформации с помощью Dynamics. Чтобы было легко увидеть положение по боковой поверхности и чтобы сцена стала немного ярче, бумага окрашена в два цвета.
Решетчатое покрытие состоит из двух Atom Arrays, основанных на двух плоских объектах. Чтобы более точно рассчитать столкновения, мы работаем здесь с двумя различными объектами. Поддон выполнен не как объект плоскости, а как полигональный объект, чтобы на дне было отверстие для шахты, также полигональный объект, мог быть создан.
Оборудование динамическими свойствами
Начнем с решетчатого покрытия вентиляционного шахта. Как уже упоминалось, мы контролируем столкновения бумаги с решеткой здесь с помощью двух различных объектов и также с помощью тегов Dynamics Body. Для этого мы выбираем два Atom Arrays в Менеджере объектов и назначаем им тег Dynamics Body как объект столкновения через контекстное меню правой кнопкой мыши или через меню Теги>Теги симуляции в Менеджере объектов.
Мы выбираем оба тега Dynamics Body в Менеджере объектов, чтобы можно было установить настройки для обоих тегов сразу. На странице Dynamics диалогового окна настроек мы оставляем стандартные значения.
На странице столкновений в диалоговом окне настроек мы можем оставить Форму столкновения как Авто, так как мы используем два отдельных объекта для решетки. Мы увеличиваем значение Трения до 80%, чтобы бумажные листы только слегка скользили при столкновении.
Продолжим с землей. Также полигональный объект земли получает тег Dynamics Body через контекстное меню правой кнопкой мыши или через меню Теги>Теги симуляции в Менеджере объектов чтобы быть объектом столкновения.
Для тега Dynamics Body земли мы также можем оставить стандартные настройки на странице Dynamics диалогового окна.
На странице столкновений настроек мы должны просто настроить Трение в соответствии с нашими потребностями. Увеличивая значение Трения до 150%, мы не дадим бумажным листам слишком далеко уползти.
Наконец, перейдем к бумажному листу, который мы потом заставим многократно падать сверху через систему частиц. Сначала мы займемся его динамическими свойствами. Для этого мы назначаем ему тег Dynamics Body через контекстное меню правой кнопкой мыши или через меню Теги>Теги симуляции в Менеджере объектов, как мягкое тело.
После выбора тега Soft Body уже настройки заданы на странице Dynamics диалогового окна. Дополнительно мы чуть повышаем порог линейной скорости, чтобы бумажные листы на земле при некотором времени успокоились.
На странице столкновений настроек мы выбираем Форму столкновения - движущуюся сетку. Это обеспечивает точный расчет столкновения.
Мы уменьшаем эластичность до 5%; в конце концов лист бумаги после падения на землю или решетку не должен еще и подпрыгивать. Трение в 50% хорошо сочетается с уже наложенными значениями трения на решетке или на земле.
Через Плотность на странице Масса диалогового окна мы определяем массу листа бумаги, который позже через систему частиц многократно падает на землю. Чтобы симуляция поняла, что это очень легкий объект, мы выбираем Своя плотность и назначаем небольшое значение 2.
На стороне сил настройки мы наконец переходим к некоторым ключевым параметрам для этого учебного пособия - аэродинамика. Поскольку наши бумажные листы наткнутся на небольшое сопротивление во время полета и при воздействии ветра, устанавливаем значение для сопротивления воздуха на низкие 5%.
Напротив, мы хотим, чтобы листы встали и поднялись даже при слабом ветре; здесь имеет смысл установить поддерживающее значение примерно 70% для подъема. Опция с обеих сторон гарантирует, что не только верхняя, но и нижняя сторона бумаги будут распознаны и обработаны как атакующие поверхности.
Чтобы наш лист бумаги мог себя вести как бумага, мы определили его как эластичный объект Soft Body, то есть как упругое, гнущееся тело. На стороне настроек для эластичного тела мы определяем близкие свойства.
Чтобы не повысить время расчетов больше, чем необходимо, сначала мы отключаем в разделе Soft Body точный алгоритм Solver. При возникновении ошибочных вычислений мы всегда можем внести доработки здесь.
Продолжаем с определением свойств бумаги. Структурные пружины обеспечивают жесткость материала, поэтому мы установим здесь относительно высокое значение в 300, с 50% демпфирования. Возможность деформации после перегрузки, так называемый предел упругости, мы установим на уровне 800%
Это гарантирует, что не каждый наступающий на землю лист бумаги сразу будет лежать морщинисто. Чтобы бумага не просто сложилась, мы повышаем значение для сдвиговых пружин на 100.
Согласно природе, у бумаги не много сопротивления к изгибу, поэтому это значение остается относительно низким. Здесь также используем предел упругости, но немного ниже, чтобы допустить возможность морщин.
Через сохранение формы мы определяем, насколько эластичный объект Soft Body старается вернуться к изначальному состоянию. Разумный низкий показатель для жесткости достаточен, т.к. от бумаги тут не ожидается сильного сопротивления.
Предел эластичности снова устанавливаем выше, чтобы бумага, перешагнув этот предел, могла просто оставаться деформированной.
Структура системы частиц для падающих листов бумаги
После этого марафона параметров все соответствующие объекты обладают динамическими свойствами. Сейчас мы займемся системой частиц, которая создает бумажные листы и раскидывает их по земле.
Для этого мы берем эмиттер из меню Симуляция> Система частиц в сцену.
Чтобы лист бумаги мог действовать как частица, мы делаем его подобъектом в эмиттере. С помощью значения Y-координат мы перемещаем эмиттер частиц примерно на 300 см вверх; позиция над вентиляционным отверстием вполне устраивает.
В настройках объекта эмиттера мы управляем через частицы эмиссией частиц. Не используйте здесь слишком высокие скорости рождения, потому что так как это объекты Soft Body, вычисление действительно трудоемкое. Но не волнуйтесь, даже с кажущимися маленькими скоростями рождения (как мои 10) можно собрать много бумаги.
Чтобы анимация закончилась на кадре 500 и к этому моменту каждый лист лежал на земле, мы завершаем производство частиц кадре 400.
Вариация скорости и дополнительный поворот на 180° придает выстрелу частиц естественность. Опция Представление объектов гарантирует, что мы действительно видим падение листьев бумаги в редакторе и при рендеринге.
На стороне эмиттера настроек управляем размером эмиттера. Указанный размер достаточен для заполнения сцены и вентиляционного отверстия достаточным количеством бумаги.
Наконец, мы тестируем это, нажимая на кнопку Воспроизвести и снова увеличиваем масштаб вентиляционного отверстия в редакторе. Листы бумаги падают сверху вниз и сталкиваются, как задумано, с решетчатым покрытием и землей.
Включение потока воздуха из вентиляционного отверстия
Пока что еще не так много видно аэродинамического эффекта; это изменится, когда мы добавим поток воздуха, выходящий из вентиляционного отверстия, в симуляцию. Для этого мы берем модификатор частиц Ветер из меню Симуляция> Система частиц в нашу сцену.
Так как поток воздуха должен выйти из вентиляционного отверстия, позиция на источнике уже корректна. Однако нам нужно повернуть ветер через угол наклона W.P на 90°, чтобы поток воздуха направлялся в Y-направлении вверх.
В диалоговом окне параметров объекта ветра на странице объекта мы находим параметры для скорости ветра и для турбулентности. В ближайшее время мы сделаем так, чтобы скорость ветра контролировалась случайным образом, поэтому на первые тесты мы установим значение 50 м. Вихревое движение из-за турбулентности вполне желательно (в конце концов, ветер пронизывает решетку), но особенно важно активировать режим аэродинамического ветра, который может влиять на аэродинамические свойства наших бумажных листов.
На стороне испарения мы выбираем форму шар в качестве формы исчезновения. Хотя эта форма не полностью заполняет углы, но это скорее всего в нашем стиле, так как это ближе к реальной ситуации и оставляет немного места для бумаги, чтобы развернуться на решетке.
Круглая форма шара также позволяет избежать того, чтобы поднятые вихревые листья оставались "лежать" на краю модификатора и безучастно парить. Мы устанавливаем испарение на 10% и выбираем для функции исчезания опцию Inv. квадрат.
Нажатие на кнопку воспроизведения показывает, как направленный ветер начинает влиять на падающие бумажные листы. Однако поток воздуха в настоящее время еще слишком однороден.
Управление потоком воздуха с помощью XPresso
С помощью небольшой схемы XPresso мы придаем воздушному шлюзу внезапные порывы ветра, не анимируя какие-либо параметры.
Для этого нам нужно создать выражение XPresso, которое мы лучше всего присвоим объекту ветра в качестве носителя. Найдем выражение либо через Kontextmenü с помощью правой кнопки мыши в разделе тегов CINEMA 4D, либо в меню теги>CINEMA 4D теги менеджера объектов.
Мы открываем редактор XPresso, дважды щелкнув по значку XPresso-выражения в менеджере объектов, чтобы построить там нашу схему. Чтобы иметь доступ к объекту ветра, нам нужно его в редакторе XPresso. Поэтому мы просто перетаскиваем его из менеджера объектов в редактор XPresso с помощью Drag&Drop.
На синей кнопке входного порта узла ветра мы выбираем параметр скорость ветра в меню свойств объекта, чтобы предоставить его в качестве входного порта.
Сгенерированная скорость ветра должна находиться как в предварительно заданном диапазоне значений, так и не иметь неприемлемых скачков значений, а также регулярно увеличиваться и уменьшаться. Для этих требований отлично подходит узел Noise, который мы получаем через контекстное меню правой кнопкой мыши в редактор XPresso.
На выходном порту у узла шума мы уже имеем шумовой порт. Проводим соединение шумового порта с входным портом скорости ветра узла объекта ветра.
Таким образом, параметр скорости ветра теперь контролируется текстурой шума. Эту текстуру и ее обработку можно настроить в диалоговом окне параметров узла шума.
Мы выбираем волновую турбулентность, и, отключив опцию Абсолютные значения, разрешаем использование отрицательных значений. С помощью параметра размер мы масштабируем шум, чтобы создать плавные переходы. Частотой мы управляем частотой изменений шума со временем.
Относительно низкое значение 0,5 гарантирует, что порывы ветра не будут слишком часто повторяться. Амплитуда умножает результат шума на значение шума, которое передается. Здесь мы устанавливаем значительные колебания на 150 единиц. Начальное значение 0 позволяет нашему ветрогенератору начать с полного безветрия.
В диалоговом окне параметров объекта ветра управление скоростью ветра через XPresso проявляется изменением поля параметров. При щелчке на кнопку воспроизведения мы можем хорошо видеть, как значение скорости ветра меняется со временем - и также в редакторе мы видим шумовое вращение модификатора ветра.
Активация объекта ветра по изображению
Чтобы дать бумажным листьям возможность устанавливаться и собираться на решетке, мы включаем объект ветра только на изображении 150. Мы сделаем это с помощью небольшой анимации параметров.
Для этого мы устанавливаем ползунок времени на изображение 0 или 1, выключаем объект ветра через параметр Активировать на Базовой странице и щелкаем с зажатой клавишей Ctrl- или Strg-; на круглом параметре, чтобы сохранить ключевой кадр для этого значения.
Затем мы устанавливаем регулятор времени на изображение 150 и создаем ключевой кадр для параметра включения при включенном объекте Ветер.
Больше ничего не нужно делать при этой небольшой анимации параметров. Лопасти объекта Ветер остаются неподвижными до изображения 149 и начинают двигаться только на изображении 150.
Проверьте настройки динамики
Если вы использовали мою исходную сцену для воссоздания этого учебника, то здесь не должно быть необходимости в изменениях. В настройках проекта в меню Правка мы находим на странице Динамики несколько параметров, которые помогают солверу динамики в выполнении задачи и избегании ошибок.
В разделе Общие настроек динамики нужно лишь убедиться, что гравитация и плотность имеют глобальное значение. Для аэродинамического моделирования важен параметр плотности воздуха.
В разделе Эксперт мы можем помочь солверу динамики, уменьшив масштабирование. Мы имеем дело в основном с бумажными листами размером 20 см x 30 см, которые деформируются и должны точно сталкиваться друг с другом. Значение 5 см обеспечивает лучшее понимание размера для движка динамики.
Теперь мы можем запустить окончательное моделирование и рендеринг. В нескольких порывах ветра собранные на сетке бумажные листы благодаря аэродинамике снова и снова поднимаются вверх…
… и, наконец, могут удерживаться только в защищенных от ветра зонах на сетке.