Принципы работы 3DMAX
С нарастанием мощностей
центральных и графических процессоров стало возможным эффективное
использование современных PC для создания и обработки трехмерной графики.
Широко распространенных программ трехмерного моделирования довольно много,
однако в России наибольшее распространение получила 3D Studio MAX.
Данный материал рассчитан на опытных пользователей 3DMAX, однако он будет
понятен и широкой аудитории.
Специально для тех, кто еще не работал в 3DMAX, но всерьез собирается заняться трехмерным дизайном на PC, я включил в статью пояснение некоторых необходимых принципов работы 3DMAX. Smooth+Highlights: Однако, если во всех остальных режимах рендеринга
окон проекции качество изображения тестируемых видеокарт было совершенно
идентично, то при сглаживании качество существенно различаетсяИспользование программы трехмерного моделирования
очень сходно со съемкой с помощью видеокамеры пространства, полного
сконструированными вами объектами. Создание собственного проекта в
программах трехмерного моделирования и в частности, в 3DMAX, начинается с
построения базовой геометрии и необходимого модифицирования этой
геометрии. Всю работу по созданию, расположению и модифицированию
объектов, дизайнер основную часть времени проводит в так называемых окнах
проекции (Viewports):
Интерфейс
3DMAX3DMAX позволяет смоделировать практически все, что
угодно путем использования разнообразных базовых объектов, таких как кубы,
сферы, цилиндры и конусы и их редактирования:
Базовые
примитивыНапример, геометрия этого фотоаппарата состоит
только из модифицированных “базовых” объектов:
Геометрия модели фотоаппаратаПосле построения геометрических объектов и должного
их размещения к ним можно применять “материалы”, или, другими словами,
накладывать на геометрию текстуры, которые представлены в окнах проекции
весьма схематично, так как “качество отображения” текстур также
“оптимизировано” для большей скорости:
Модель
фотоаппарата с наложенными текстурамиВообще же, текстуры в окнах проекции 3DMAX не
закачиваются в полном объеме, а отображаются в виде миниатюр, размер
которых регулируется с 128х128 до 1024х1024 пикселов.
И только после необходимой настройки
и доводки всей сцены производится окончательная визуализация силами
исключительно центрального процессора. Причем качество софтверного
“чистового” визуализатора намного лучше получаемого в окнах проекции с
помощью ускорителя. Объясняется это очень просто – ни один современный
ускоритель не поддерживает столько эффектов, сколько требуется, при
сохранении нормального fps, поэтому приходится мириться с медленным, но
красивым софтверным рендерингом. Конечно “fps” окончательной визуализации
очень мал - некоторые кадры сложных сцен могут обсчитываться часами, но в
этом случае скорость не столь важна, как в случае работы в окнах проекции
– при окончательной визуализации анимации намного важнее качество. Тем
более на этом этапе вмешательство человека не требуется, и компьютер можно
оставить считать окончательно смоделированный проект, например, на
ночь:
Скриншот финального рендерингаСовершенно необходимо понимать, что работа
дизайнера по созданию проекта производится в окнах проекции, и уровень
fps, обеспечиваемый видеокартой влияет только на комфортность работы
дизайнера и совершенно не влияет на результат окончательного рендеринга,
который производится силами CPU после полного конструирования
сцены.
В 3DMAX от видеокарты требуется в первую очередь
быстрая обработка сложной геометрии, так как количество полигонов в
проекте средней сложности больше количество полигонов среднего уровня
Quake3 на несколько порядков.
Сотни тысяч полигонов в одной сценеТо есть, основная нагрузка при отображении сцены в
окнах проекции ложится на блок обработки геометрии, и скорость видеокарты
определяет мощность этого блока и частота видеопроцессора. Как и
отмечалось выше, наложение всех текстур, освещения и эффектов, то есть
окончательный рендеринг производится после окончания проекта силами CPU и
не имеет к текущему обзору никакого отношения.
В играх же основные вычислительные
мощности тратятся на обработку больших текстур и наложение на эти текстуры
эффектов, количество же полигонов в современных играх очень мало.
Поэтому в играх так важно
количество конвейеров и текстурных модулей.
Таким образом, нагрузка видеокарты
при работе в 3DMAX кардинальным образом отличается от нагрузки видеокарты
в играх. Другими словами, в играх идет упор на качество изображения, а в
3DMAX на скорость обновления окон проекции.
С одной стороны 3DMAX предъявляет чрезвычайно
высокие требования к скорости обработки сложной геометрии в окнах
проекции. С другой стороны, при окончательной “доводке” проекта необоримо
желание просмотреть всю сцену целиком не только в “каркасном режиме”, но и
с наложенными текстурами и освещением, что может катастрофически снижать
fps даже на самых мощных видеокартах. Поэтому для регулирования
соотношения “скорость-качество”, создатели предусмотрели несколько
градаций методов рендеринга (Rendering Method) окон проекции. Поскольку
эта статья не посвящена обзору самого 3DMAX, я приведу только основные
методы рендеринга окон проекции по возрастанию качества. Понимание
различных методов рендеринга, своего рода, различных методов детализации
изображения, необходимо для правильного представления условий
тестирования.
Bounding
Box:
Cамый быстрый, но и наименее качественный
метод.
Сцена в режиме Bounding BoxНа самом деле ни о каком “качестве” при просмотре
окон проекции при этом методе говорить не приходится – все объекты
представлены в виде ограничивающих их прямоугольников. Этот метод можно
использовать разве что только для просмотра очень большой сцены при очень
слабой видеоплате. Ни о каком редактировании объектов, само собой речи не
идет.
Wireframe:
“Проволочный” или “каркасный” метод. При
использовании этого метода отображаются только ребра полигонов, и объекты
похожи на “проволочные модели”.
Сцена в режиме WireframeИз-за того, что можно максимально “прозрачно”
видеть все “внутренности” и “обратные стороны” объектов, этот метод широко
используется для модификации геометрии.
Facets:
При этом методе рендеринга в окнах проекции
отображаются только сами полигоны.
Сцена в режиме
FacetsЭтот метод является “переходным” между методами
Wireframe и Smooth и является компромиссом скорости и качества между
ними.
Метод рендеринга “со сглаживанием”. При этом методе
видеокарта “сглаживает” острые грани объектов и накладывает освещение от
источников света.
Сцена в режиме Smooth+HighlightsЭтот метод широко используется для наложения и
подгонки текстур на объекты.
Важно понимать, что одновременно разным окнам проекции можно
“выставить” разные методы рендеринга:
Четыре окна проекции одновременноЧтобы показать, насколько сильно отличается “самое
лучшее” качество рендеринга силами видеокарты от качества “окончательного”
рендеринга силами CPU, я приведу скриншот “окончательного” рендеринга этой
сцены:
Качество финального рендерингаЭтот пример еще раз демонстрирует то, что ради
скорости в окнах проекции в жертву принесено качество
изображения.
В 3DMAX есть режим сглаживания линий в режиме
Wireframe. Этот режим доступен только при использовании OpenGL драйвера
видеокарты. Сглаживание линий, естественно, приводит к их некоторому
утолщению, что косвенно уменьшает разрешение.
Без
антиалиасинга