Текстурирование ландшафтов в 3D Max 2.5


Для создания возвышенностей, холмов, гор есть несколько простых способов:
Нарисовать вид ландшафта сверху в графическом редакторе, а потом выдавить полученную текстуру на поверхности с достаточной плотностью сетки с помощью displacement'а. Яркость пикселов нарисованной карты будет определять глубину, на которую та или иная часть поверхности выдавится. Если провести за рисованием достаточно времени, то можно создать весьма впечатляющие результаты, а самое главное ландшафт будет выглядеть именно так как вы задумывали.

Можно не утруждать себя рисованием, а просто создать создать box с достаточной плотностью сетки, удалить боковые и нижние фейсы и хорошенько потаскать box за вершины, не забывая Affect Rigion в опциях Editable Mesh'а держать включенным, а потом наложить на результат Mesh Smooth или вообще взять patch'и или NURBS'ы и разгуляться всерьез.

А если рисовать лень, не получается, нет времени, то в этом случае следует поискать плагин, который делает все сам, благо, для MAX'а он есть и может быть даже уже не один. Широко известный плагин Mountain как раз умеет создавать подходящую поверхность. Итак, горы созданы и сразу возникает непростая проблема: как оттекстурировать этот сложный объект? Для первого описанного способа всегда остается созданная карта, которую можно использовать как маску для Blend материала. А в случае если вы любите пользоваться плагинами и таскать вершины у box'ов и контрольные точки у patch'ей, это что же - круглый сирота получается?

 Ландшафт, созданный плагином Mountain

Если получившийся ландшафт вас не устраивает, то поиграйтесь с seed'ом - генератором случайных чисел плагина. А теперь самое время создать немного дополнительной геометрии. В виде Top создайте box, покрывающий гору как бык овцу, примерно вот так:

Вид на ландшафт спереди

 Вид из камеры

Возникает логический вопрос, зачем мы это делаем? Как раз для того чтобы собственноручно создать маски для Blend материала. Однако, перед основным шоу позвольте сделать еще несколько загадочных пасов руками. Сделайте пару материалов, один из которых будет черный, а второй белый, оба со 100% self-illumination. Присвойте черный материал ландшафту, а белый box'у:

 Применены черный и белый материалы

Перейдите в вид Top, добейтесь с помощью zoom'а и pan'а, чтобы гора занимала все окно по ширине, а то MAX при рендере оставит по бокам полосы цвета background'а. Отрендерите вид в разрешении 300 на 300 пикселов. Если стороны горы не одинаковой длины, то рендерить придется в ином разрешении:

 Рендеринг первой маски

Первая маска готова, сохраните ее. Почему первая? Ну сами представьте: высокие горы, внизу травка зеленеет, чуть повыше отвесные, каменные стены, а на самом верху снежка напорошено. Так вот, с одной маской вы можете сложить вместе только два материала, например, траву и камни, а снежок так и не выпадет, так что продолжим. Переместите box повыше. Часть горы, которая находится над box'ом будет в снегу. Когда подходящий уровень найден отрендерите и сохраните вторую маску. Теперь у вас есть все, чтобы создать материал. Откройте Material Editor и смените тип материала со Standart'а на Blend:

 Материал Blend

Пололжите первую маску в слот Mask. Сделайте Material 1 красным, с помощью материала Standart, например, или однотонной карты Gradient и назовите его Red, сделайте Material 2 синим и назовите его Blue. Позже, конечно, будет время, чтобы заменить это красно-синее безобразие на настоящие текстуры, но пока для наглядности так лучше. Накладываем материал, рендерим:

 Вариант первый

Сложно предположить, что MAX скажет, после того как вы нажмете на кнопку Render 'а. Во-первых, он может хмуро заявить, что на вашем box'е, то бишь горе нет mapping'а, тогда бегите скорее в панель Modify и наложите mapping с помощью UVW Map модификатора. Во-вторых текстура может неправильно отображаться, тогда следует пойти в тот же модификатор UVW Map и подкрутить Gizmo, на sub-level'е. Резкая граница смотрится весьма неестественно, неплохо бы ее разблурить. Зайдите в слот Mask и в свитке Coordinates поднимите значение параметра Blur до 60. Так-то лучше:

 Разблуренная маска

Пришло время применить вторую маску. Зайдите в Material 1 слот и смените тип материала со Standart на Blend. Когда MAX спросит о том, что делать со старым материалом, отметьте Keep old material as sub-material опцию. Теперь в корневом Blend материале на месте Material 1 слота новый, вложенный Blend материал, в Material 1 которого переметился Red материал, а Material 2 слот пока пуст. Сделайте его зеленым и назовите Green. Отрендерите сцену:

 Финальная структура материала

 Вторая маска применена

Заменените красный, синий и зеленый на настоящие материалы:

 Настоящие материалы

 Финальная картинка

Метод можно расширять и усложнять:

Вместо трех материалов можно использовать любое их количество, в случае если потребуется отобразить различные скальные породы. Сложность корневого Blend материала будет возрастать соответственно. Например, начиная с пяти материалов придется использовать тройную вложенность Blend материала.

Геометрию box'а можно искажать различными модификаторами или наклонять на небольшой градус так, чтобы граница не выглядела слишком горизонтальной.

Белый и черный материалы можно изменить на светло серый и темно серый соответственно, или добавить текстуру в слот diffuse и должным образом уменьшить интенсивность self-illumination. В этом случае материалы будут просвечивать сквозь друг друга в самых неожиданных местах.

Есть еще более простой способ текстурировать ландшафты, который я придумал после того, как уже написал этот урок. Direct Light с настроенным attenuation может освещать определенную по высоте часть горы, оставляя все остальное в темноте, таким образом не понадобятся box'ы. Но самый простой способ предполагает использование Gradient Ramp - новой стандартной карты, появившейся с третьим релизом MAX'а. Об этом в следующий раз.

Еще один пример

Загрузите сцену (19 kb), с которой были взяты все screenshot'ы.


Автор примера Copyright c Юрий Стоцкий
Взято с сайта:

[На главную] [Уроки] [Галерея] [Ссылки]