Десятая доля секунды после аварии
Рисунок 16.6. Десятая доля секунды после аварии (изображение отрендерено с помощью Motion Blur (Размытость при Движении)
А теперь кое-что новенькое. Никогда не пробовали в многослойном шейдере накладывать абсолютно прозрачный шершавый Phong на ярко-красный Blinn?
Толкаем вверх, тянем вниз
Динамика
Урок. 16. Крэш-тест Урок. 17. Извержение вулкана Урок. 18. Пусть они улягутся Урок. 19. Атака частиц Урок. 20. Толкаем вверх, тянем вниз Урок. 21. Пончо |
Крэштест
Крэш-тест
Как создать симуляцию крэш-теста, в которой автомобиль с водителем внутри разбивается о каменную стену?
Тема:
Динамика.
Используемые техники и инструменты:
Active Rigid Body (Активное Твердое Тедо), Passive Rigid Body (Пассивное Твердое Тело), Gravity (Гравитация).
Настоящие крэш-тесты очень дороги, поскольку в них разбиваются настоящие машины. Моделирование аварий также весьма дорого, но уже по другой причине. В отличие от реальных тестов компьютерную модель можно повторять бесконечное количество раз однако, они требуют очень мощных компьютерных ресурсов. Эти ресурсы необходимы, поскольку тесты имеют дело с еле заметными, крошечными изменениями материалов. Они не только тестируют типы материалов, из которых сделана машина, но также и качество их плавки и соединения. Эластичность - это определяющий фактор для таких тестов. Однако важна и специфичная точка , в которой каждая часть машины теряет эту эластичность и ломается. Когда она ломается, как она ломается? Что случается со сломанными частями, как они воздействуют на окружающие предметы? Начинают ли они цепную реакцию?
Мы не можем ответить на эти вопросы с помощью MAYA. Мы можем скопировать динамические отношения, но область строения материалов нам не доступна. Мы смоделируем крэш-тест только на простейшем уровне. Тем не менее он будет достаточно впечатляющим, чтобы вызвать у вас сочувствие к водителю.
Создайте сцену: улицу, стену, машину, водителя. Расположите стену вертикально, улицу горизонтально, поместите машину немного выше улицы и посадите водителя в машину (Рисунок 16.1).Здесь показаны несколько кадров сразу
Рисунок 16.3. Крэш-тест на скорости 36 км/ч (22 мили/ч). Здесь показаны несколько кадров сразу после столкновения автомобиля со стеной. Его отбрасывает в сторону. Через полсекунды после аварии водитель, переворачиваясь в воздухе, падает вниз
Крэштест стал более захватывающим
Рисунок 16.5. Крэш-тест стал более захватывающим со значением скорости 66 миль/ч и использованием более реалистичных значений параметра Mass (Масса). Водитель вылетает из машины по широкой дуге и переворачивается в воздухе несколько раз за доли секунды
Минимум затрат на моделирование стена улица машина пассажир
Рисунок 16.1. Минимум затрат на моделирование: стена, улица, машина, пассажир
Для крэш-теста вам не обязательно моделировать что-то очень красивое. Для создания машины достаточно будет использовать полигональный куб, разделенный на три секции вверху. Смаштабируйте машину так, чтобы ее длина составила примерно три клетки сетки. Теперь нам потребуется что-то вроде сиденья, куда можно поместить водителя. Для этого экструдируйте среднюю грань вниз для создания внутренней области машины. При моделировании водителя используйте NURBS-цилиндр, немного масштабировав его в соответствующих местах (Рисунок 16.2).
Самые важные параметры теста Initial Velocity (Начальная Скорость) и Mass (Масса)
Рисунок 16.4. Самые важные параметры теста: Initial Velocity (Начальная Скорость) и Mass (Масса)
Это округленно соответствует отношению веса реальной машины к весу среднестатистического водителя. Теперь, посмотрев крэш-тест (Рисунок 16.5 и 16.6), вы без труда сможете представить, что бы произошло с водителем, если бы все это случилось в реальности. Если вы собираетесь продолжить работать с подобного рода симуляциями, то вам следует поближе познакомиться с Динамикой Мягких Тел (Soft Body Dynamics), Пружинами (Springs) и, наконец, точной настройкой весов целевых объектов (Soft Body Goal) для разных частей «мягкого» тела.
Твердые тела не должны соприкасаться
Рисунок 16.2. Твердые тела не должны соприкасаться друг с другом в начале компьютерной модели. Поэтому водителя следует поместить немного над дном внутренней области машины, а машину немного выше улицы. На рисунке вы видите изображение в каркасном виде в окне Side View
Выделите стену и улицу и преобразуйте их в пассивные твердые тела. Для этого нужно нажать F4 и выполнить команду меню Soft/Rigid Bodies / Create Passive Rigid Body (Мягкие/Твердые Тела / Создать Пассивное Твердое Тело). Пассивное в данном контексте означает, что эти объекты будут вести себя так, будто у них твердая оболочка, которой они могут воздействовать на другие объекты, но сами не будут реагировать на воздействия других объектов. Это отражает реальность - стены и улицы совершенно не беспокоят сумасшедшие автомобили. Выделите водителя и машину и назначьте им обоим одно и то же поле гравитации. Выберите Fields / Gravity (Поля / Гравитация).
При воспроизведении анимации машина занимает свое место на улице, а водитель прямо сидит внутри машины. Это все, что гравитация дает нам на данном этапе, однако это всего лишь начало симуляции.
Убедитесь, что MAYA просчитывает каждый кадр симуляции, вместо того чтобы воспроизводить анимацию в реальном времени, пропуская некоторые кадры. Проверьте опцию Play every Frame (Воспроизводить каждый Кадр) в окне Timeline Preferences (Настройки временной шкалы).
Для того чтобы сделать симуляцию более захватывающей, мы добавим водителю и машине начальную скорость. В реальности это была бы скорость, с которой машина и водитель двигались бы в направлении стены. Она должна быть одинаковой для машины и водителя. Это значение вы можете ввести для обоих объектов сразу в окне Channel Box (Окно Каналов).
Выделите водителя и автомобиль. В зависимости от направления движения автомобиля задайте для параметров Initial Velocity X или Z (Начальная Скорость по оси X или Z) в окне Channel Box (Окно Каналов) положительное или отрицательное значение 10. Скажем, длина вашей машины три ячейки сетки. Мы будем считать, что ее длина в реальной жизни 3 метра. Ее Initial Velocity (Начальная Скорость), равная 10, будет соответствовать скорости 10 м/с, или 36 км/ч (около 22 миль/ч). При повторном воспроизведении компьютерной модели оба объекта потеряют немного скорости из-за трения с землей, но в целом они несутся со скоростью 10 единиц в секунду к стене и отскакивают от нее (см. Рисунок 16.3). Для того чтобы увидеть эту аварию на низкой скорости в реальном времени, вам придется использовать Playblast (Проигрыватель). Выделите машину и водителя. Увеличьте значение их Initial Velocity (Начальная Скорость) до скорости скоростного шоссе (30 ячеек сетки в секунду). На этой скорости авария выглядит гораздо драматичнее. Для того чтобы добавить реалистичности в нашу симуляцию, давайте отредактируем значение параметра Mass (Масса) ее участников. Как и скорость, масса является атрибутом для Rigid Body (Твердое Тело). Увеличьте значение параметра Mass (Масса) для машины с 1 до 15 (см. Рисунок 16.4).