Прозрачность в 3D Studio MAX

Прозрачность в 3D Studio MAX
Сегодня мне бы хотелось рассказать о таком важном свойстве материалов в 3ds max, как прозрачность. Действительно, сфера применения прозрачности (opacity) велика и многогранна и поэтому заслуживает особого внимания.


Пример первый. Простые стекла.
Итак, для примера нам необходим какой-либо объект. Пусть это будет обыкновенная бутылка. Удобнее всего (но и сложнее) создавать ее при помощи тел вращения, но мы сделаем это при помощи модификатора Edit Mesh, примененного к цилиндру. Начнем.
1. Щелкните правой кнопкой мыши в видовом окне Top для его активизации. Во вкладке Create нажмите кнопку Cylinder.
2. Переместите курсор в центр окна, нажмите клавишу мыши и затем перетаскивайте курсор, чтобы создать цилиндр со следующими параметрами: Radius со значением 35, Height со значением 200. Не забудьте отпустить кнопку мыши после создания цилиндра. На разворачивающейся панели CreateаParameters увеличьте количество сторон (Sides) до 36, а Height Segments — до 10.
3. Перейдите во вкладку Modify и выберите модификатор Edit Mesh.
Примечание. Если модификатора нет среди кнопок, то нажмите кнопку More... и найдите его в списке. Также для удобства можно вынести модификатор на переднюю панель. Для этого нажмите кнопку Configure Button Sets. В появившемся одноименном окне увеличьте значение Total Buttons на единицу (по умолчанию это значение равно 10). В группе Modifiers появится дополнительная кнопка, пока что без надписи. Нажмите на нее. В списке модификаторов найдите необходимый Edit Mesh и дважды кликните на него. Надпись Edit Mesh появится на кнопке. Все, нажимаем Ok и наблюдаем за появлением новой кнопки.
Во вкладке Selection нажмите кнопку Vertex. Следующая часть потребует всех Ваших художественных способностей. Выделяя вершины, двигая их и масштабируя (нажатие правой кнопки мыши на объекте вызовет появление меню, среди пунктов которого есть операция движения Move и масштабирования Scale), придайте цилиндру форму бутылки, например такую:
4. Я никогда не видел цельнолитую бутылку. Необходимо сделать так, чтобы бутылка имела внутри полость. Заметим, что контур полости практически полностью повторяет контур самой бутылки. Используем это.
Возвратитесь во вкладку Create. Удерживая клавишу Shift, уменьшите бутылку. Для этого сначала кликните на объекте правой кнопкой мыши и в выпадающем меню выберите пункт Scale, а затем, удерживая левую кнопку нажатой на цилиндре, создайте копию.
В появившемся окне Clone Options нажмите Ok, убедившись, что селектор Object установлен на пункте Copy (ни в коем случае не на Instance!). Вы получите две бутылки, отличающиеся лишь размером.
Вторая бутылка и будет той самой полостью. Теперь выполним подгонку.
5. Приподнимите вторую бутылку повыше и опять же при помощи ModifyаEdit Mesh вытяните у бутылки горлышко, предварительно подогнав ее по размерам (Вы можете использовать старый модификатор, который бутылка унаследовала от своего потомка при копировании, только не забудьте нажать кнопку Vertex).
6. Теперь нам необходимо "вычесть" из первой бутылки вторую. Перейдите во вкладку Create и в выпадающем списке выберите пункт Compound Objects. В видовом окне кликните на первой бутылке. Теперь нажимаем кнопку Boolean (параметр типа операции Parameters аOperation установлен на Subtraction A-B по умолчанию). Во вкладке Pick Boolean нажимаем кнопку Pick Operand B и выбираем вторую бутылку. Вторая бутылка "вычитается" из первой, в результате чего мы получаем необходимый результат — обыкновенную пластиковую(sic!) бутылку.
7. М-да, пластиковая бутылка никуда не годится. Ей необходим соответствующий материал. Итак, заходим в редактор материалов (Material Editor). Выбираем первый слот с материалом (красный шарик).
Для того чтобы увидеть, как будет смотреться объект в общей сцене, можете нажать кнопку Background, а также выбрать среди кнопок, выпадающих из Sample Type, цилиндр.
А теперь займемся самим материалом.
Нажмите на кнопку рядом с надписью Type (на кнопке написано Standard) и в появившемся окне Material/Map Browser дважды кликните по надписи Raytrace.
Убедитесь, что в выпадающем списке Raytrace Basic Parameters установлен тип материала Phong. Включите параметры 2-Sided и Supersample. Измените значение Index of Refr до 1.5.
Кликнув на черный прямоугольник возле надписи Transparency, установите цвет RGB(184,205,241). Проделайте аналогичные действия с параметром Luminosity, установив RGB (19,246,19).
В группе Specular Highlight установите значение для Glossiness равное 80. Откройте выпадающий список Maps и напротив надписи Reflect нажмите кнопку None. В браузере материалов выберите пункт Falloff и дважды кликните по нему мышью. В списке Falloff Parameters найдите пункт Falloff Type и измените его с Perpendicular/Parallel на Distance Blend.
Готово! Возвращаемся на верхний уровень материала, кликнув по кнопке Go to Parent и присваиваем бутылке созданный материал, нажав Assign Material to Selection (убедитесь, что объект Cylinder01 выбран в данный момент).
А теперь рендеринг. Жмем Quick Render (Production) и наслаждаемся.

Пример второй. Всамделишная Opacity.
На самом деле я Вас обманул. Чуть-чуть. Созданный материал хоть и является прозрачным, но Opacity как таковая при его создании использована не была. Дело в том, что у материала типа Raytrace свойство Opacity отсутствует. Его заменяет комбинация Glossiness и Transparency, но эффект это дает одинаковый (Opacity переводится с английского как "непрозрачность", Transparency же, наоборот, — "прозрачность").
В этом примере я расскажу, как создать материал с использованием именно Opacity. Объект у нас уже готов, поэтому сразу перейдем к созданию материала.
1. Запускаем Material Editor. Кликаем по второму слоту, в нем мы и создадим новый материал. В выпадающем списке Shader Basic Parameters отмечаем флажок 2-Sided. Во вкладке Blinn Basic Parameters изменяем значение Ambient на RGB(26,26,26), а значение Diffuse на RGB(94,94,94), нажимая на цветные прямоугольники возле соответствующих надписей.
2. Вот она, пресловутая Opacity! Изменяем ее значение с сотни до 75. В группе Specular Highlights устанавливаем значение Specular Level равное 75, а Glossiness повышаем до 85.
3. Разворачиваем список Maps. Нажимаем кнопку None напротив надписи Refraction (не перепутайте с Reflection). В появившемся окне Material/Map Browser дважды кликаем на пункт Raytrace. В группе Background переключаем селектор на положение с черным прямоугольником и, кликнув на прямоугольник, выставляем значение RGB(47,133,0).
4. Все. Нажимаем Go to Parent, а затем присваиваем материал объекту, нажав на кнопку Assign Material to Selection (объект активен!).
Полученный материал практически не отличается от предыдущего в сцене, однако в окне редактора материалов выглядит иначе. Не беспокойтесь, это Вам не помешает.

Пример третий. Витражи.
Еще в XVIII веке М.В. Ломоносов впервые получил цветные стекла, которые затем использовал для мозаичных работ. Сегодня же у Вас есть шанс заняться этим при помощи компьютера. Итак, наша задача — смоделировать витражные стекла, через которые проходят лучи света и оставляют на полу цветные следы.
Для этого примера нам понадобится текстура стекла. Подходящей у меня не оказалось и мне пришлось создавать ее вручную в Adobe PhotoShop. Это заняло у меня четыре минуты, поэтому на ее качество просьба не обижаться :).
Если Вы еще этого не сделали, то сохраните старую сцену и создайте новую. Команда File (New не очищает настройки материалов и настройки положения камер в видовых окнах, поэтому используйте FileаReset. В появившемся окне 3D Studio Max на вопрос Do you really want to reset? ответьте положительно.
1. Начнем с комнаты. Перейдите в видовое окно Top и, используя Create (Box, создайте комнату, состоящую из параллелепипедов. Комната представляет собой обыкновенную коробку, стенами которой являются Box-ы. К примеру, такую:
2. Хорошо. Теперь добавим к этой комнате окно. Создайте параллелепипед, имеющий форму окна и толщину, превосходящую толщину стены комнаты. При помощи команды Move передвиньте его к одной из стен. Теперь необходимо "вычесть" из стены этот параллелепипед. Один раз мы так уже делали. Во вкладке Create выберите пункт Compound Objects. В видовом окне сделайте активной необходимую стену. Нажмите кнопку Boolean, а затем кнопку Pick Operand B в выпадающем списке Pick Boolean. Кликните на Box-е, находящемся на месте окна.
Размеры окна подбираются в зависимости от имеющейся текстуры стекла, т.е. если текстура имеет размер 640x480, то отношение длины стекла к высоте должно равняться 1.333 и быть равным, к примеру, 320x200. Не забудьте добавить припуск в несколько единиц.
3. Оконный проем готов. Необходимо создать для него стекло. Идем в Create (Patch Grids и нажимаем кнопку Quad Patch. Теперь создайте стекло и подгоните его по размеру в оконном проеме.
4. Перейдите во вкладку Create (Cameras и нажмите кнопку Target. В появившихся свойствах создаваемой камеры выберите 28-миллиметровую, нажав 28mm в группе Stock Lenses. Расположите камеру в сцене объективом в сторону окна. Сделайте активным видовое окно Perspective и нажмите на клавиатуре клавишу C для включения вида из камеры.
Положение камеры можно контролировать при помощи кнопок Dolly Camera, Field-of-View, Truck Camera, Orbit Camera и других.
5. Во вкладке Create нажмите клавишу Lights и создайте в сцене два источника света. Первый источник — точечный (Omni). Расположите его внутри комнаты. Второй — направленный (Target Spot). Установите его снаружи и направьте в окно под некоторым углом. В выпадающем списке General Parameters включите флажок Cast Shadows, в списке Shadow Parameters — флажок On группы Object Shadows. Значение Shadow Map измените на Ray Traced Shadows.
6. Пришло время для прозрачного материала. Откройте диалоговое окно Material Editor и сделайте активным первый слот. В списке Shader Basic Parameters включите свойство 2-Sided. Параметр Opacity (вкладка Blinn Basic Parameters) установите в пределах 40-60. На панели Maps нажмите кнопку None напротив надписи Diffuse Color и в браузере материалов дважды кликните на пункт Bitmap. Перед Вами появится окно Select Bitmap Image File. Сделайте это (выберите оконную текстуру). Эта текстура будет отвечать за изображение на стекле.
Вернитесь на верхний уровень, нажав кнопку Go to Parent. Теперь нажмите на кнопку с надписью Map #0 (filename.ext) — на ней раньше была надпись None. Нажали? Не отпуская кнопки мыши, перетаскиваем кнопку на кнопку None пункта Filter Color. В окне Copy (Instance) Map выбираем метод Instance — фильтр полностью повторяет рисунок стекла.
Выбираем в видовом окне объект, играющий роль стекла, затем в редакторе материалов нажимаем кнопку Assign Material to Selection.
Ой! Совсем забыл. На улице-то у нас день, а не ночь. Срочно исправляем положение.
Rendering (Environment (Common Parameters (Background (Color и устанавливаем, к примеру, RGB(220,220,220).
Вуаля! МарьИванна, а рамы тоже красить???

Пример третий. Самосветящиеся материалы.
В 3D Studio Max все типы материалов кроме Strauss имеют свойство самосвечения (Self-Illumination). В комбинации с прозрачностью самосвечение дает потрясающий результат. А рисовать в этом примере мы будем... лазерный луч.
Вы уже создали новую сцену?
1. Во вкладке Create щелкните по кнопке Cylinder и в видовом окне Front создайте четыре концентрических (с центром в одной точке) цилиндра. Длину цилиндров (Modify (Parameters (Height) установите в пределах 1500, количество боковых граней (Sides) уменьшите до 12. Радиусы цилиндров не должны быть слишком большими. Установите их равными 1, 0.8, 0.6, 0.4. На этом моделирование закончено.
2. Переключитесь в диалоговое окно Material Editor. В списке Shader Basic Parameters измените тип шейдера с Blinn на Phong. Значения Ambient и Diffuse измените на RGB(255,255,255). В группе Self-Illumination снимите флажок Color и установите значение самосвечения равное 100. Обнулите все значения группы Specular Highlights.
Разверните список Extended Parameters. В свойствах Advanced Transparency измените спад (Falloff) с In на Out. Значение Amt увеличьте до 100. Тип прозрачности (Type) измените на Additive. В группе Reflection Dimming уменьшите Refl. Level до 0.1.
3. Первый материал готов. Теперь, перетаскивая материал из первого слота на слоты 2, 3 и 7, создайте три копии. Измените их названия на Material #2, Material #3 и Material #7 соответственно. Для Material #2 установите значения Ambient и Diffuse RGB(255,255,0), Opacity уменьшите до 75. Для Material #3 Ambient и Diffuse будут такие: RGB(255,128,0), Opacity равна 65. У Material #7 Ambient и Diffuse выставляем равными RGB(255,0,0), Opacity снижаем до 50.
Теперь осталось только присвоить текстуры объектам. Выделяем Material #1 и в видовом окне кликаем на внутренний цилиндр. Нажимаем в редакторе материалов кнопку Assign Material to Selection. Проделываем аналогичные действия с остальными цилиндрами, присваивая текстуры по уровню уменьшения значения прозрачности. Корректируем вид в окне Perspective и визуализируем сцену, нажав кнопку Quick Render (Production).
Результат визуализации крупным планом.

Пример четвертый. Битовые маски.
Вы наверняка видели этот эффект во многих полигональных играх, таких как Carmageddon или Hidden&Dangerous. Он заключается в том, что модели, имеющие много полигонов, заменяются текстурами, наложенными на плоскость. Особенность этих текстур в том, что каждая из них имеет цвет, являющийся прозрачным. В 3D Studio прозрачный цвет заменяет битовая маска.
Для создания битовой маски Вам понадобится Adobe PhotoShop. Я использовал русифицированный APS 3.0, поэтому описывать все названия буду на русском языке.
1. Загрузите PhotoShop и откройте файл с объектом, для которого необходимо создать маску. Эту картинку я создал в 3DS Max при помощи готовой модели.
2. Черный цвет битовой маски является прозрачным. Инвертируем картинку, выполнив Изображение (Преобразование (Негатив (комбинация клавиш Ctrl+I).
3. Преобразуем изображение к содержащему два цвета. Изображение (Преобразование (Изогелия. В появившемся окне подбираем параметр Порог Яркости так, чтобы контур нового изображения повторял контур предыдущего. Я использовал значение 210. Нажмите "Да" и сохраните результат обработки в файле с другим именем.
Примечание: не используйте для сохранения формат данных *.JPG, сохраняющий с потерей качества. Это приведет к порче изображения и появлению шума.
4. Теперь переходим в 3DS Max. Модель для битовой маски состоит из нескольких объектов Quad Patch. Во вкладке Create изменяем Standard Primitives на Patch Grids. Нажимаем кнопку Quad Patch и в видовом окне Front создаем плоскость с длиной (Length) 120 и высотой (Width) 180 единиц.
5. Нажимаем кнопку Angle Snap Toggle для фиксации угла поворота. В видовом окне Top создаем при помощи вращения (удерживаем клавишу Shift) несколько копий объекта QuadPatch01, расположенных звездочкой. При копировании лучше использовать метод Instance на случай изменения размеров плоскости.
6. Открываем редактор материалов и активизируем первый слот. В разворачивающемся списке Blinn Basic Parameters нажимаем на кнопку напротив надписи Diffuse (рядом с цветным прямоугольником). В окне Material/Map Browser дважды нажимаем на пункт Bitmap. Выбираем файл с текстурой и возвращаемся на верхний уровень, нажав Go to Parent. Теперь нажимаем на кнопку напротив надписи Opacity и проделываем те же действия, выбирая вместо текстуры битовую маску. Не забываем включить флажок 2-Sided. Материал готов. Присваиваем его созданным плоскостям и выполняем рендеринг.
Неплохо, правда? И это при том, что при создании первого объекта было использовано 4793 полигона (статистика по текущей сцене: File (Summary Info... (Mesh Totals), а при создании второго — всего 288, в 16 раз меньше. В принципе, вместо QuadPatch можно было использовать обрезанный наполовину Box, при этом снизив количество обрабатываемых полигонов до 8 (нет-нет, Вы не ошиблись, восьми).

Юрий Заяц
y_zaiats@mail.ru



(c) Компьютерная газета


Компьютерная газета. Статья была опубликована в номере 32 за 2000 год в рубрике разное :: страна советов

©1997-2024 Компьютерная газета