Текстурирование
С развитием программ 3D-моделирования возникает потребность в увеличении
ресурсов компьютера. Есть ли возможность сделать что-либо реалистичное на
домашнем компьютере? Есть, но для этого придется потрудиться:
Трехмерные миры и виртуальные пространства уже плотно вошли в
нашу жизнь. Они находят все большее применение, мы видим их в играх, используем
при создании рекламных роликов, применяем для более красочного представления
информации. Существует очень много программ, при помощи которых можно создавать
очень реалистичные объекты и виртуальные сцены. Одним из популярнейших
инструментов этого класса является 3DSMAX, который позволяет создавать как
сложные статические сцены, так и анимационные ролики.
В ходе работы в 3DSMAX возникает много трудностей, в большей
степени сопряженных с малыми ресурсами техники, на которой приходится работать.
Я говорю о процессорах, памяти и видеокартах. В итоге работа с графикой
превращается в устранение ошибок и обход каких-либо ограничений. Минимальные
требования к компьютеру можно определить как Pentium II-233 с оперативной
памятью не меньше 64 Mb и монитор, поддерживающий разрешение 1024x768. Если же
вы не хотите сутками ждать, пока компьютер считает один ролик длиной в минуту,
то вам понадобится машина суперкласса - двухпроцессорный PIII-650 с 512 Mb
памяти. Касаемо мониторов. Сам по себе 3DSMAX не требует высокого разрешения, он
может быть запущен и на 640x480, но дело-то в другом - на низком разрешении
невозможно работать из-за того, что многие внутренние окна имеют большие
размеры, а следовательно, у вас не будет возможности просто-напросто нажать
какую-либо кнопку. У пользователей, только начинающих работать в 3DSMAX, часто
возникает вопрос: необходим ли для работы в 3DSMAX 3D-ускоритель? Конечно,
3D-ускоритель нужен, однако 3DSMAX использует ускоритель только для визуализации
видов проекций, в частности, перспективы, что же касается процесса конечной
визуализации сцены (Rendering), то там 3D-ускоритель не используется, так как в
нем применяются упрощенные алгоритмы наложения текстур (об этом чуть позже). Еще
одной проблемой, с которой сталкивается пользователь 3DSMAX, является очень
часто появляющаяся сразу после установки ошибка 'Программа выполнила
некорректную операцию и будет закрыта'. Уменьшить частоту появления данной
ошибки можно, увеличив минимальный размер файла подкачки (Swap) до 300 Mb. В
Windows 9x это делается в меню 'Система', во вкладке 'Быстродействие'. Но при
такой установке надо учитывать, что если у вас низкооборотный винчестер, то
быстродействие системы может значительно уменьшиться, так как вы сознательно
увеличиваете количество обращений к диску.
Как и большинство современных программных продуктов, 3DSMAX
поддерживает технологию плагинов (подключаемых модулей). Но плагины загружаются
в физическую память (не в swap-файл), поэтому, если установить их большое
количество, то скорость работы в 3DSMAX уменьшится либо некоторые возможности
будут недоступны. Видимо, разработчики знают об этом нюансе, т. к. в третьей
версии сделаны некоторые улучшения по этому поводу, по сравнению с версией
2.5.
3DSMAX использует ресурсы системы при работе с частицами.
Мета-частицы настолько тяжелы в обработке, что на компьютерах класса Pentium II
с ними работать просто невозможно. А это, соответственно, сильно уменьшает
инструментарий разработки сцен. Приведем пример загрузки процессора в различные
этапы работы с данным пакетом. Данные были получены на компьютере Intel Pentium
II-230, 96 Mb ОЗУ (см. таблицу).
Загруженность компьютера |
Системные ресурсы |
Сразу после загрузки Windows 98 |
95% |
Загружен 3DSMAX 3.0 |
26% |
Загружен 3DSMAX 3.0 c плагином Illustrate |
23% |
Загружен 3DSMAX 3.0 c плагином Illustrate + объект с 558600
faces |
21% |
- Загружен 3DSMAX 3.0 c плагином Illustrate + объект с 558600 faces +
оптимизация перед началом процесса Rendering
|
20% |
- Загружен 3DSMAX 3.0 c плагином Illustrate + объект с 558600 faces + процесс
Rendering
|
22% |
После завершения работы 3DSMAX 3.0 |
95% |
После завершения работы 3DSMAX 2.5 |
90% |
Как видно из таблицы, если требуется сцена с хорошей детализацией, то
количество памяти у компьютера должно быть увеличено. Но нехватка памяти - это
еще полбеды, самая главная проблема состоит в том, что процессор не может
достаточно быстро обработать большое количество вершин и граней. Поэтому
возникают проблемы с перемещением по сцене больших, детализированных, 'тяжелых'
объектов. Из всего вышесказанного следует, что приходится всегда уменьшать
'тяжесть' объектов. Но как при этом делать детализированные и реалистичные
объекты? Секрет разрешения подобной проблемы весьма прост: это правильное
текстурирование, то есть, наложение реалистичных изображений (текстур) на грани
(faces) объектов. Подобная задача великолепно решена в таких известных играх,
как Quake и Unreal. В этих играх используется объект, имеющий очень малое
количество вершин (поэтому при близком рассмотрении персонажи выглядят
угловатыми), но на эти объекты накладываются профессионально сделанные текстуры.
Для того чтобы правильно текстурировать, в 3DSMAX используется
целый набор особых материалов, включая и процедурные материалы. Рассмотрим для
начала самый простой пример текстурирования. Создадим сферу, а в редакторе
материалов выберем материал Standard, как это показано на рис:

Выбор осуществляется путем нажатия кнопки Get Material. Затем в
этот материал включим текстуру Diffuse (см. рис):

Diffuse Color отвечает за цвет материала, т. е. если на него поставить
изображение, то оно будет визуализироваться как цвет данного объекта; если же
изображение поставить, например, на Bump, то вы увидите барельеф изображения.
Итак, поставим на Diffuse Color карту под названием Bitmap (ее назначение уже и
так интуитивно понятно), данная карта отвечает за наложение изображений,
находящихся в файле, в отличие от карт Gradient или Cellular, которые являются
процедурными текстурами, т. е. сами генерируют изображения по установленным
пользователем параметрам. В карте Bitmap надо выбрать нужную вам текстуру. После
того как вы сделали свой выбор, вы видите результат текстурирования в окне
редактора материалов. Теперь нажмем кнопку Show Map in Viewport, которая
включает режим отображения в проекциях, установленных в режиме визуализации
Smooth+Highlights, после чего применим наш материал к объекту. Выделим объект и
перейдем к вкладке модификаторов (Modify). Затем выберем модификатор UVM-map.
Данный модификатор является единственным способом наложения текстур в среде
3DSMAX. С самим модификатором многие знакомы, если нет, то ничего сложного вы
здесь не найдете. Я же хочу обратить ваше внимание на то, что практически любой
модификатор может быть дополнительно настроен после нажатия кнопки Sub-object, в
том числе и модификатор UVM-map. После нажатия данной кнопки мы получаем
возможность работать с так называемым Gizmo-контейнером. Gizmo-контейнер
модификатора UVW-map отвечает за дополнительные координаты UVW (альтернатива (x,
y, z), но только в плоскости объекта). Работа с данным контейнером включает в
себя перемещение, вращение и масштабирование. Используя вышеперечисленные
действия, необходимо правильно нанести текстуру.
Но, конечно, всегда бывают исключения. Иногда приходится
накладывать несколько материалов (в том числе и текстур) на один объект. В
данном случае в пакете предусмотрен составной материал Multi/Sub-object, который
состоит из нескольких материалов. При работе с таким объектом, как Mesh
(ячейка), при переходе на уровень Face вы можете задавать Material ID, который в
свою очередь является номером подмателиалов Multi/Sub-object (только не путайте
с каналом эффектов материала, использующимся в VideoPost). Но в этом случае
текстурирование не будет гладким. На швах между ячейками будет резкий переход от
материала к материалу. Если такое положение дел вас не устраивает, то
единственный выход из этого - создать цельную текстуру на весь объект. Такие
текстуры создаются либо в Adobe PhotoShop, либо в специализированных пакетах,
например, Painter 3D. Но и в этих специализированных программах необходимо
выбрать способ текстурирования: Sphere, Planar, Box, Cylinder.
В заключение я могу только сказать, что моделирование объектов
- очень сложное дело и выполнять его надо очень аккуратно. Насколько качественно
вы его сделаете, настолько качественной будет ваша
модель.
Литература по 3DMax
|