Пусть они улягутся
Как разместить несколько объектов на волнистой поверхности, чтобы они «прилипли» к ней?
Тема:
Динамика.
Используемые техники и инструменты:
Sculpt Surface Tool (Создание рельефа на NURBS-поверхности), Rigid Body Dynamics (Динамика Твердого Тела), Gravity (Гравитация).
Очень мало поверхностей имеет по-настоящему плоскую форму. Даже полы в новом здании имеют неровности, особенно заметные по краям ковра. Размещение на их неровной поверхности каких-нибудь объектов в трехмерной графике всегда вызывает затруднения. Много времени уходит на операции перемещения и вращения объектов, пока они действительно красиво лягут на землю, а не зависнут над ней и не погрузятся внутрь. При использовании динамики твердого тела эта проблема решается мгновенно. И не потребуется ни единого перемещения!
Мы преобразуем объекты, которые хотим разместить на поверхности в твердые тела, и позволим им упасть под действием гравитации. Они лягут очень натурально, именно так, как нам это нужно.
Создайте плоскость с достаточно плотной геометрией для осуществления на ней мелких деформаций (рис. 18.1).
Рис. 18.1.
Поверхность плотностью 20x20 патчей...
Откройте окно настроек, выбрав Edit NURBS / Sculpt Surface Tool (Редактирование NURBS / Создание рельефа на NURBS-поверхности). Если ваша поверхность представляет собой полигональную плоскость, выберите Edit Polygons / Sculpt Polygons Tool (Редактирование Многоугольников / Создание рельефа на полигональной поверхности).
Используя кисть модуля Artisan, деформируйте поверхность так, чтобы она стала волнистой (рис. 18.2).
Рис. 18.2. ...деформируем с помощью кисти модуля Artisan
Создайте несколько NURBS-примитивов либо импортируйте объекты предыдущих проектов. Если вы попробуете разместить эти объекты на поверхности, то увидите, насколько сложно найти точку, в которой они не утопают в поверхности и не зависают над ней (рис. 18.3). Даже когда вы найдете эту точку, объект не лежит в ней естественно, он выглядит очень неуклюже, так, будто вот-вот соскользнет с поверхности.
Для того чтобы исправить этот дефект, вам бы пришлось иметь дело с опорными точками и крошечными поворотами, которые занимают много времени.
Рис. 18.3.
Куб размещен вручную. Сложно найти точку, в которой он естественно лежал бы на поверхности. В данном случае он проникает в поверхность по крайней мере в двух точках
Переместите объекты так, чтобы они лежали немного над поверхностью (рис. 18.4).
Рис. 18.4.
Стартовая позиция симуляции. Четыре объекта расположены над поверхностью и сейчас упадут на нее
Преобразуйте плоскость в пассивное твердое тело. Нажмите F4, выберите Soft/Rigid Bodies / Create Passive Rigid Body (Мягкие/Твердые Тела / Создать Пассивное Твердое Тело) (рис. 18.5).
Рис. 18.5.
Земля заявлена как пассивное твердое тело и теперь может участвовать в симуляции
Как вы, наверное, помните из предыдущей главы о крэш-тесте, преобразование поверхности в пассивную означает, что она будет твердой для падающих объектов и не изменится при соприкосновении с ними.
Выделите все объекты над землей и назначьте им гравитацию. Для этого выберите Fields / Gravity (Поля / Гравитация) (рис. 18.6).
Рис. 18.6.
Сила гравитации влияет на объекты. Они становятся активными твердыми телами и готовы к падению
Добавив гравитацию, мы убиваем сразу двух зайцев: она преобразует каждый объект в активное твердое тело и связывает их с полем тяготения, которое потянет их вниз со скоростью 9,8 м/с .
Воспроизведите анимацию (рис. 18.7).
Рис. 18.7.
Три фазы падения четырех объектов на волнистую поверхность в соответствии с законами сэра Исаака Ньютона. Чем округлее объекты, тем дольше они катятся по поверхности до полной остановки
Для того чтобы MAYA точно воспроизвела симуляцию кадр за кадром, откройте Preferences (Установки) и измените Playback Speed (Скорость Воспроизведения) с Normal (Нормальная) на Play every Frame (Воспроизводить каждый кадр). Если какие-то из ваших объектов все еще проникают в поверхность, увеличьте разрешение плоскости (рис. 18.8).
Значение для Tesselation Factor ( Множитель Тесселяции) вы можете найти в Attribute Editor (Редакторе Атрибутов) для Rigid Body (Твердое Тело) (но не для поверхности) в секции Performance Attributes (Атрибуты выполнения).
Рис. 18.8.
Упавшие объекты не будут проникать в поверхность, если вы увеличите значение для Tesselation Factor (Множитель Тесселяции) [Тесселяция - разбиение. - Примеч. ред. ]
Если вам не нужно, чтобы объекты катились по поверхности перед окончательной остановкой, выполните несколько действий. Разместите объекты ближе к земле перед падением уменьшите значение параметра Bounciness (Упругость) (рис. 18.9), и объекты не будут подпрыгивать при соприкосновении с землей; либо вы можете увеличить их Static Friction (Сила трения покоя), чтобы они не скатывались с возвышенностей. Однако помните: чтобы вы ни делали, симуляция остается симуляцией. Другими словами, ничего предсказать нельзя.
Рис. 18.9.
При значении 0 параметра Bounciness (Упругость) объекты теряют упругость
Симуляция определит конечное расположение объектов - при ее воспроизведении объекты найдут свои конечные положения и замрут в них (рис. 18.10).
Рис. 18.10.
Все объекты естественно расположены на поверхности
Остановите симуляцию и прекратите существование объектов как твердых тел. Для этого выберите Edit / Delete by Type / Rigid Bodies (Редактирование / Удалить в зависимости от Типа / Твердые Тела). Эта команда удаляет все твердые тела, вам даже не нужно их выделять.
Используя такой подход, вы можете не только расположить несколько предметов один рядом с другим на поверхности, но и позволить им падать друг на друга, складываясь в пирамиду. рис. 18.11 демонстрирует размещение 2001 полигонального куба на плоской поверхности. Симуляция, использованная для этого, в действительности состоит из нескольких симуляций с сотней или около того кубов в каждой. Большую симуляцию из 2001 кубов не выдержал бы никакой центральный процессор персонального компьютера. Кроме того, более мелкие симуляции позволяют вам эффективнее контролировать область размещения - большая она или маленькая, размещение объектов контролируется динамическими законами.Размещение кубов один на другой либо один около другого вручную заняло бы у вас целый день.
Рис. 18.11.
Хаос из 2001 куба после нескольких динамических симуляций (из анимации для детского телевидения Германии)
А теперь кое-что новенькое. Приходилось ли вам вызывать и убирать окно Outliner (Схема Сцены) всего лишь двумя щелчками мышки (используя значок в верхней правой части экрана)? [В правой верхней части экрана нет иконки для Outliner. - Примеч. ред. ]