Вначале было слово, и слово было из букв...


Итак, долгожданное начало! Попробуем сделать его достаточно простым и эффектным, и, не слишком размышляя над смыслом сего действия, придадим объем некоему тексту.

Полагаю, найти "создаватель текста" не составило большого труда - он именно там, где ему и положено быть, среди двумерных примитивов, в категории Splines на панели Create. Появившаяся внизу диалоговая панель для ввода текста особых объяснений не требует, теперь можно подстегнуть свое воображение в выборе шрифта и содержания. Касательно первого рекомендуется для начала ограничить выбор шрифтами "потолще" и без большого количества острых углов и узких переходов, хотя в принципе подойдет что угодно - в моем случае это был простой Arial Bold. Когда выбор сделан, кликнем левой кнопкой мыши в центр поля Front. Вот и наш текст.

Самое время немного поиграть с

  1. - режимом перемещения, подвигав свежесозданный текст в разные стороны
  2. - контроллерами видов, разобравшись что делает каждый из них - это совсем несложно.

Пришла пора делать наш текст трехмерным. Методов для этого существует множество, однако мы воспользуемся самым простым и удобным, который предлагает нам MAX - модификатором Bevel.

Bevel находится в стандартном наборе модификаторов и доступен через меню more на панели Modify. Модифицируемый текст, само собой, должен быть выбран.

Коротко о том, как работает этот модификатор: к контуру, взятому за основу, достраиваются на заданном расстоянии от него дополнительные "этажи"(levels) - максимум 3 штуки - из его копий, по необходимости расширенных или суженных (outline). Несколько сжимая контур текста при удалении от основы можно получить "мягкую" выпуклую поверхность. Можно посвятить некоторое время экспериментам с различными параметрами, однако для ориентации здесь приведена неплохо работающая комбинация (размер текста - 100). Пользоваться параметром "keep lines from crossing" рекомендуется только в крайнем случае, когда иным способом невозможно удержать линии контура от наползания друг на друга и образования артефактов при изменении outline - связанный с ним алгоритм требует весьма интенсивных вычислений.

То, что у нас должно получиться, выглядит в поле перспективного обзора (perspective), в котором я ради исключительно эстетических целей с помощью контроллеров видов несколько изменил положение точки наблюдения и масштаб, и в поле вида спереди (front) примерно так:

Сейчас вполне можно задаться вопросом, с какой, собственно, стати, объект в перспективном обзоре освещен - и чем, ведь мы пока не создавали источников света. Дело в том, что для облегчения нам жизни на первых этапах работы со сценой MAX по умолчанию добавляет "параллельную" освещенность без теней. Организацией правильного освещения мы займемся несколько позже, а пока давайте посвятим свою некоторое время замене глупого шероховатого пластика (примерно так выглядит материал-по-умолчанию, цвет выбирается случайным образом), из которого сейчас сделан наш текст, на что-нибудь более впечатляющее. По сложившейся традиции обучения первым шагам в 3D для этого используется хромированный металл. Традиция неплохая, не будем ее нарушать.


Знакомимся с редактором материалов.

В стандартном варианте редактор поверхностей предлагает 6 ячеек (slot) для одновременной работы с материалами м текстурами. В каждой из них - образец материала на освещенном шаре (вариант - кубе или цилиндре). Конечно, можно выбрать готовый материал из стандартной библиотеки, входящей в состав стандартной инсталляции пакета, однако мы учимся, а потому попробуем сделать свой собственный материал от начала и до конца.

За основу возьмем материал в любой ячейке и выставим Shading, цвета, Shininess и Shininess Strength в приведенние здесь значения. Заодно можно и назвать наш материал - chrome. Полученный образец материала хромированную сталь, однако, напоминает довольно слабо. Проблема очевидна - не хватает отражений.

На панели Maps найдем требуемый пункт - Reflection - и ткнем мышой в пока еще пустующую (в ней значится None) ячейку текстуры.

Небольшое замечание касательно терминологии: под текстурами (map) мы будем понимать нечто большее, чем проецируемые на поверхность объекта картинки (они являются лишь одним из параметров), в это понятие входят и так называемые процедуральные текстуры (изображения не хранятся в файле, а генерируются программно), а также многие другие данные, такие как искажения, размытость, фильтры и прочее.

В появившемся меню выбора типа текстуры выберем Raytrace для достижения большей реалистичности в воспроизведении отражений. Теперь в объектах с поверхностью из этого материала отражались бы другие элементы сцены. В нашем случае, однако, мы имеем в сцене выстроенные в ряд буковки, да и только. А потому отражений получилось бы до обидности мало. К счастью, текстура Raytrace предлагает возможность эмулировать окружение объекта другой текстурой - в нашем случае это будет просто некая картинка, имитирующая хромированную поверхность (можно взять здесь).

Обнаружив параметр Background, кликнем в опять же пока незадействованную ячейку текстуры фона.

В появившемся - уже знакомом нам - меню выбора типа текстуры на этот раз выберем Bitmap - ведь на этот раз мы хотим использовать вполне конкретную картинку.

Наконец установим параметр Bitmap, выбрав соответствующий файл.

В процессе создания материала мы незаметно спустились по лестнице иерархии на 2 уровня вниз (от самой поверхности к одной из е╠ текстур и далее к ее вспомогательному элементу). Вернемся обратно.

Наше творение должно теперь выглядеть примерно так:

Остался один важный шаг - присвоить материал выбранному объекту нажатием на кнопку

На этом работа с редактором материалов завершена, закроем его и вернемся к нашей сцене.


Да будет свет! И стал свет...

Наверное, уже сейчас ужасно не терпится посмотреть, что же мы там натворили. Что ж, активируем вид Perspective и обратимся к услугам рендерера (, Render Scene), выставим размер картинки поменьше (320х200 вполне подойдет) и ткнем в кнопку Render (в будущем, когда все параметры рендеринга выствлены, можно пользоваться Quick Render, расположенной непосредственно справа от Render Scene).

Прилежно подождем, алгоритмы Raytracing требуют множества вычислений.

Скучновато. О чем-то мы явно забыли. Правильно, мы до сих пор не позаботились о подходящем освещении. Теперь самое время исправить это упущение.

Думаю, обнаружить панель создания источников света было не так сложно. Как заметно, базовых типов "лампочек" - 3, (2 типа - парных, с различием только в наличии и отсутствии "цели" (target)):

Для освещения сцены нам потребуются 3 лампы типа Omni потемнее и один Spot поярче. Начнем с Omniков.

Выбрав Omni и слегка уменьшив яркость примерно до 90, ткнем левой кнопкой мыши в окне Topгде-нибудь перед текстом - первый источник света создан! Еще 2 копии его можно сделать посредством клонирования - Shift + drag-and-drop в прежиме перемещения ().

Теперь очередь Spotа. Установим его яркость примерно на 130. Контроллером видов Zoom изменим масштаб сцены в окне Top так, чтобы можно было создать центр новой лампы на достаточном расстоянии от текста, ткнем левой кнопкой мыши и протянем линию - основное направление Spotа. Теперь осталось разместить созданные лампочки, пользуясь видами Top, Left и Front. В моем случае это получилось так:


...вид сверху

...вид слева

Волнующий момент - финальный рендеринг...

Ну вот, так-то лучше :-)


Этот урок взят из библиотеки Всероссийского Клуба Вебмастеров,
его написал Гросс Максим.
[На главную] [Уроки] [Галерея] [Ссылки]