3D Studio MAX: первые шаги. Урок 18. Геометрические пространственные деформации
Фантастический горный пейзаж с озером
Ползущая по дну морская звезда
Отпечаток на камне
Попробуем воспользоваться Displace-деформацией для получения имитации окаменелости в виде отпечатка листа доисторического растения (по крайней мере, так мы будем считать) на обычном камне. Смоделируйте сцену с камнем — роль камня пока будет играть обычная сплющенная по оси Y сфера с большим числом разбиений по всем осям. Создайте Displace-объект, который по размеру будет несколько меньше сферы, свяжите его со сферой и выровняйте оба объекта друг относительно друга (рис. 37). Не снимая выделения с Displace-объекта, щелкните на кнопке Bitmap и укажите в качестве карты произвольное черно-белое изображение (рис. 38), а затем увеличьте значение параметра Strength (Сила) примерно до 2-2,5 (рис. 39). Учитывая, что отпечаток древний, а потому недостаточно четкий, увеличьте значение параметра Blur (Размытие) примерно до 0,5-0,8 (при желании можно даже подключить текстуру для размытия, что позволит сделать отпечаток разным на различных участках воздействия деформации).
Рис. 37. Исходный вид сцены
Рис. 38. Растровое изображение для Displace-деформации
Рис. 39 Настройка параметров деформации
Теперь необходимо превратить сферу в камень. Для этого создайте FFD ( Box)-решетку с параметрами 3 x3 x3, свяжите ее со сферой и, перемещая и масштабируя вершины решетки, добейтесь желаемого вида камня (рис. 40). По окончании поместите камень на плоскость и подберите для объектов сцены подходящие материалы — возможный результат представлен на рис. 41.
Рис. 40 Вид сферы, деформированной FFD (Box)-решеткой
Рис. 41 Отпечаток на камне
Фантастический горный пейзаж с озером
Попробуем создать простой ландшафт, представляющий собой горный массив с озером. Основой для него станут одна сфера (она будет играть роль неба) и две Path-плоскости — обе с большим числом разбиений по всем осям. Из первой плоскости будем генерировать горный ландшафт, а вторую превратим в водную поверхность. Для начала создайте первую плоскость и Displace-объект, по размерам немного превосходящий плоскость. Теперь следует подготовить черно-белое топографическое изображение предполагаемой местности, на которой светлые участки будут соответствовать возвышенностям, а темные — впадинам. В данном случае подобную карту местности (рис. 42) мы сформировали в бесплатном генераторе ландшафтов Terragen, однако при желании что-то подобное можно создать и вручную в любом растровом редакторе, поэкспериментировав с фильтром Noise. Если присмотреться к полученному нами растровому изображению, то становится ясно, что никаких впадин и гор здесь нет — просто холмистая местность, так как совершенно черные и белые участки отсутствуют. Поэтому загрузите данное изображение в растровом редакторе, выделите инструментом «лассо» предполагаемую область озера (там должна быть впадина) и затемните ее (рис. 43). Сделайте инверсию и осветлите всю остальную часть изображения, так как предполагается, что здесь будут горы (рис. 44). В итоге будет получено примерно такое изображение, как представлено на рис. 45. Переключитесь в 3D Studio MAX, выделите Displace-объект, щелкните на кнопке Bitmap и укажите созданное изображение в качестве карты. Свяжите Displace-объект с плоскостью и вручную подберите нужное значение параметра Strength — вид плоскости преобразится (рис. 46).
Рис. 42. Исходный вид растровой карты местности
Рис. 43. Затемнение фрагмента карты местности
Рис. 44. Осветление фрагмента карты местности
Рис. 45. Окончательный вид растровой карты местности
Рис. 46. Результат Displace-деформации плоскости
Создайте вторую Path-плоскость меньшего размера и расположите ее под первой плоскостью так, чтобы ее поверхность оказалась видимой лишь в области предполагаемого озера (рис. 47). Для придания водной поверхности слабого волнения создайте Ripple-деформатор небольшого размера, щелкнув на соответствующей кнопке в списке объектов типа Geometric/Deformable, свяжите его со второй плоскостью, разместите данный деформатор под ней и настройте желаемым образом (рис. 48). Создайте сферу очень большого диаметра и поместите ее на заднем плане сцены (рис. 49) — это будет небо. По окончании назначьте объектам сцены подходящие материалы. Полученный в итоге фантастический пейзаж показан на рис. 50.
Рис. 47. Появление второй плоскости
Рис. 48. Настройка положения и параметров Ripple-деформации
Рис. 49. Добавление сферы
Рис. 50. Фантастический горный пейзаж с озером
Conform
Пространственная деформация Conform (Соответствие) обеспечивает проецирование объекта на некоторую базовую поверхность, что приводит к изменению геометрии проецируемого объекта в соответствии с геометрией базовой поверхности. Данная возможность применяется, например, при моделировании ландшафтов, когда требуется учесть рельеф местности при моделировании рек, дорог, при анимации перемещения объектов с учетом рельефа поверхности и т.п.
Для примера смоделируйте сцену с шаром и плоскостью: плоскость должна быть представлена в виде неширокой полосы длиной, примерно равной диаметру шара, и иметь большое число разбиений по всем осям. Расположите плоскость поверх шара (рис. 51). В проекции Top создайте Conform-деформатор, активировав кнопку Conform из категории объектов SpaceWarps и сформировав иконку деформатора (рис. 52). На панели Modify щелкните на кнопке PickObject (Указать объект) и в качестве базового объекта укажите шар, а затем свяжите Conform-деформатор с плоскостью, применив инструмент Bind to Space Warp, — в результате плоская поверхность деформируется по форме шара (рис. 53).
Рис. 51. Исходный вид сцены
Рис. 52. Появление Conform-деформатора
Рис. 53. Результат проецирования плоскости на шар посредством Conform-деформирования
Дорога среди холмов
Воспользуемся Conform-деформацией для моделирования дороги, проходящей по холмистой местности. Смоделируйте сцену с Path-плоскостью с большим числом разбиений (она послужит основой для холмистого ландшафта) и назначьте ей Noise-модификатор — плоская поверхность станет холмистой (рис. 54). Создайте примитив Box (из него мы смоделируем дорогу), представляющий собой вытянутый и очень малый по толщине прямоугольный брусок, и отрегулируйте его положение и протяженность относительно плоскости так, чтобы брусок лежал прямо на ней, начинаясь в левом нижнем углу плоскости и заканчиваясь в правом верхнем (рис. 55). Очевидно, что первоначально дорога-брусок совершенно не учитывает рельефа местности.
Рис. 54. Исходный вид сцены
Рис. 55. Появление примитива Box
Создайте Conform-объект (рис. 56) и, щелкнув на кнопке PickObject, в качестве базового для него укажите Path-плоскость. Свяжите Conform-деформатор с примитивом Box, в результате чего он деформируется с учетом рельефа местности. Если вид дороги не достаточно точно проецируется на плоскость, увеличьте для примитива Box значение параметров LengthSegs, WidthSegs и HeightSegs. По окончании назначьте объектам сцены подходящие материалы, в частности для дороги подключите на канале Diffuse специально созданную текстуру (рис. 57) — ее можно подготовить в любом растровом редакторе. Возможно, полученная в итоге сцена будет напоминать представленную на рис. 58.
Рис. 56. Появление Conform-объекта
Рис. 57. Растровое изображение для дороги
Рис. 58. Дорога среди холмов