On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru


провод СИП-1, цена СИП-1 ; кабель КССП, продажа КССП




 

Виртуальные миры 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, как это показано на рис:

6911x1.jpg (16163 bytes)

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

6921x1.jpg (19127 bytes)

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