Виртуальные миры 3DSMAX и техническая реальность
Иван Сувалов, КомпьютерМаркет
Текстурирование
С развитием программ 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.
В заключение я могу только
сказать, что моделирование объектов – очень
сложное дело и выполнять его надо очень
аккуратно. Насколько качественно вы его
сделаете, настолько качественной будет ваша
модель.
|