Принципы работы 3DMAX

С нарастанием мощностей центральных и графических процессоров стало возможным эффективное использование современных PC для создания и обработки трехмерной графики. Широко распространенных программ трехмерного моделирования довольно много, однако в России наибольшее распространение получила 3D Studio MAX. Данный материал рассчитан на опытных пользователей 3DMAX, однако он будет понятен и широкой аудитории. Специально для тех, кто еще не работал в 3DMAX, но всерьез собирается заняться трехмерным дизайном на PC, я включил в статью пояснение некоторых необходимых принципов работы 3DMAX.

Использование программы трехмерного моделирования очень сходно со съемкой с помощью видеокамеры пространства, полного сконструированными вами объектами. Создание собственного проекта в программах трехмерного моделирования и в частности, в 3DMAX, начинается с построения базовой геометрии и необходимого модифицирования этой геометрии. Всю работу по созданию, расположению и модифицированию объектов, дизайнер основную часть времени проводит в так называемых окнах проекции (Viewports):

Интерфейс 3DMAX
Интерфейс 3DMAX

3DMAX позволяет смоделировать практически все, что угодно путем использования разнообразных базовых объектов, таких как кубы, сферы, цилиндры и конусы и их редактирования:

Базовые примитивы
Базовые примитивы

Например, геометрия этого фотоаппарата состоит только из модифицированных “базовых” объектов:

Геометрия модели фотоаппарата
Геометрия модели фотоаппарата

После построения геометрических объектов и должного их размещения к ним можно применять “материалы”, или, другими словами, накладывать на геометрию текстуры, которые представлены в окнах проекции весьма схематично, так как “качество отображения” текстур также “оптимизировано” для большей скорости:

Модель фотоаппарата с наложенными текстурами
Модель фотоаппарата с наложенными текстурами

Вообще же, текстуры в окнах проекции 3DMAX не закачиваются в полном объеме, а отображаются в виде миниатюр, размер которых регулируется с 128х128 до 1024х1024 пикселов.
И только после необходимой настройки и доводки всей сцены производится окончательная визуализация силами исключительно центрального процессора. Причем качество софтверного “чистового” визуализатора намного лучше получаемого в окнах проекции с помощью ускорителя. Объясняется это очень просто – ни один современный ускоритель не поддерживает столько эффектов, сколько требуется, при сохранении нормального fps, поэтому приходится мириться с медленным, но красивым софтверным рендерингом. Конечно “fps” окончательной визуализации очень мал - некоторые кадры сложных сцен могут обсчитываться часами, но в этом случае скорость не столь важна, как в случае работы в окнах проекции – при окончательной визуализации анимации намного важнее качество. Тем более на этом этапе вмешательство человека не требуется, и компьютер можно оставить считать окончательно смоделированный проект, например, на ночь:

Скриншот финального рендеринга
Скриншот финального рендеринга

Совершенно необходимо понимать, что работа дизайнера по созданию проекта производится в окнах проекции, и уровень fps, обеспечиваемый видеокартой влияет только на комфортность работы дизайнера и совершенно не влияет на результат окончательного рендеринга, который производится силами CPU после полного конструирования сцены.

В 3DMAX от видеокарты требуется в первую очередь быстрая обработка сложной геометрии, так как количество полигонов в проекте средней сложности больше количество полигонов среднего уровня Quake3 на несколько порядков.

Стони тысяч полигонов в одной сцене
Сотни тысяч полигонов в одной сцене

То есть, основная нагрузка при отображении сцены в окнах проекции ложится на блок обработки геометрии, и скорость видеокарты определяет мощность этого блока и частота видеопроцессора. Как и отмечалось выше, наложение всех текстур, освещения и эффектов, то есть окончательный рендеринг производится после окончания проекта силами CPU и не имеет к текущему обзору никакого отношения.
В играх же основные вычислительные мощности тратятся на обработку больших текстур и наложение на эти текстуры эффектов, количество же полигонов в современных играх очень мало.
Поэтому в играх так важно количество конвейеров и текстурных модулей.
Таким образом, нагрузка видеокарты при работе в 3DMAX кардинальным образом отличается от нагрузки видеокарты в играх. Другими словами, в играх идет упор на качество изображения, а в 3DMAX на скорость обновления окон проекции.

С одной стороны 3DMAX предъявляет чрезвычайно высокие требования к скорости обработки сложной геометрии в окнах проекции. С другой стороны, при окончательной “доводке” проекта необоримо желание просмотреть всю сцену целиком не только в “каркасном режиме”, но и с наложенными текстурами и освещением, что может катастрофически снижать fps даже на самых мощных видеокартах. Поэтому для регулирования соотношения “скорость-качество”, создатели предусмотрели несколько градаций методов рендеринга (Rendering Method) окон проекции. Поскольку эта статья не посвящена обзору самого 3DMAX, я приведу только основные методы рендеринга окон проекции по возрастанию качества. Понимание различных методов рендеринга, своего рода, различных методов детализации изображения, необходимо для правильного представления условий тестирования.
 

Bounding Box:

Cамый быстрый, но и наименее качественный метод.

Сцена в режиме Bounding Box
Сцена в режиме Bounding Box

На самом деле ни о каком “качестве” при просмотре окон проекции при этом методе говорить не приходится – все объекты представлены в виде ограничивающих их прямоугольников. Этот метод можно использовать разве что только для просмотра очень большой сцены при очень слабой видеоплате. Ни о каком редактировании объектов, само собой речи не идет.
 

Wireframe:

“Проволочный” или “каркасный” метод. При использовании этого метода отображаются только ребра полигонов, и объекты похожи на “проволочные модели”.

Сцена в режиме Wireframe
Сцена в режиме Wireframe

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

Facets:

При этом методе рендеринга в окнах проекции отображаются только сами полигоны.

Сцена в режиме Facets
Сцена в режиме Facets

Этот метод является “переходным” между методами Wireframe и Smooth и является компромиссом скорости и качества между ними.
 

Smooth+Highlights:

Метод рендеринга “со сглаживанием”. При этом методе видеокарта “сглаживает” острые грани объектов и накладывает освещение от источников света.

Сцена в режиме Smooth+Highlights
Сцена в режиме Smooth+Highlights

Этот метод широко используется для наложения и подгонки текстур на объекты.
Важно понимать, что одновременно разным окнам проекции можно “выставить” разные методы рендеринга:

Четыре окна проекции одновременно
Четыре окна проекции одновременно

Чтобы показать, насколько сильно отличается “самое лучшее” качество рендеринга силами видеокарты от качества “окончательного” рендеринга силами CPU, я приведу скриншот “окончательного” рендеринга этой сцены:

Качество финального рендеринга
Качество финального рендеринга

Этот пример еще раз демонстрирует то, что ради скорости в окнах проекции в жертву принесено качество изображения.

В 3DMAX есть режим сглаживания линий в режиме Wireframe. Этот режим доступен только при использовании OpenGL драйвера видеокарты. Сглаживание линий, естественно, приводит к их некоторому утолщению, что косвенно уменьшает разрешение.

Без антиалиасинга
Без антиалиасинга

Однако, если во всех остальных режимах рендеринга окон проекции качество изображения тестируемых видеокарт было совершенно идентично, то при сглаживании качество существенно различается

Сайт создан в системе uCoz