Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

RTT (Render To Texture) в 3ds max 7.5

Запекание текстур давно стало стандартной возможностью 3ds max и доступно через основное меню программы Rendering > Render To Texture ("горячая кнопка"- цифра "0" на основной раскладке клавиатуры). Начиная с шестой версии 3ds max, рендер в текстуры может быть выполнен с использованием mental ray. А начиная с версии 7.5, запекание с mental ray действительно работает в 3ds max. Недостатки все еще есть - некорректная работа с материалами, реализованными при помощи mental ray Connection, неправильное запекание blend и некоторые другие. Однако в большинстве случаев проблемы поддаются решению. Остается надеяться, что в последующих релизах 3ds max RTT будет избавлен от мелких недочетов и станет совершенным инструментом.

Процесс рендера в текстуры в общем случае состоит из следующей последовательности операций:

 


Интерфейс RTT

После этого рендер выполняет расчет выбранного элемента визуализации объекта - это могут быть тени, освещение, прозрачность и так далее, и записывает результаты расчетов как текстуру в файл на диске. Если текстурные координаты создаются при запекании, в стеке объекта появляется новый модификатор Automatic Flatten UVs, который создает новые текстурные координаты для наложения просчитанной карта на объект. Создается и назначается объекту Shell материал, который хранит оригинальный материал и новый, с запеченной текстурой, и определяет, какую текстуру мы будем видеть в окне, а какую - при рендере. Всеми этими процессами можно управлять при помощи настроек.

Рассмотрим подробно предназначение настроечных параметров панели Render to texture.

Секция параметров General Settings.
Эта секция параметров определяет настройки отображения процесса расчетов, пути сохранения файлов, а также выбор и настройку рендера для запекания.

 


Секция параметров General Settings

Группа параметров Output.

Path - позволяет указать каталог, куда будут записываться все файлы просчитанных карт. По умолчанию - это папка Images каталога, где установлен 3ds max.

Skip Existing Files - Если для объекта просчитывается несколько разных карт и часть карт уже просчитана раньше, то галочка в этом боксе позволяет избежать повторного расчета уже готовых карт.

Rendered Frame Buffer - при просчете карта отображается во frame buffer, как при обычном рендере. Эта возможность работает только со scanline. Текстура отображается в VFB, разложенная частями по областям текстурных координат. Если текущий назначенный рендер - mental ray, вместо него появляется окно, отображающее состояние выполнения расчетов (progress bar).

Группа Render Settings.
Render Settings - позволяет загрузить набор готовых настроек рендеринга. Создание собственных настроек выполняется через панель рендера.

Setup - вызывает панель рендера и позволяет назначить текущий рендер, а также настроить его и сохранить настройки в файл при необходимости.

Network Render - активирует сетевой рендеринг. При запуске расчетов появляется диалоговое окно Network Job Assignment, где и выполняются настройки сетевого рендера.

Секция параметров Objects to Bake
Эта секция управляет свойствами запекания объектов - именно здесь определяется, что собственно будем рендерить в текстуру, какой канал будет использоваться для текстурных координат, имена и форматы файлов для создаваемых текстур.

 


Секция параметров Objects to Bake

В самом верху свитка находится список выбранных для запекания объектов. В списке отображается имя объекта (Name), выбранный канал для текстурных координат объекта (Object Channel) и значение параметра Padding - величины наложения друг на друга краев разных групп текстурных координат при сшивке в пикселах.

Группа Selected Object Settings.

Enable - если галочка установлена в этом боксе, настройки Channel и Padding действительны для отдельного выбранного объекта, нескольких выделенных объектов или для всех подготовленных к запеканию объектов (объектов, настройка запекания текстур для которых была выполнена ранее, но сам рендер еще не выполнялся).

Padding - при рендере в текстуры поверхности объекта должны быть назначены текстурные координаты. Если это не сделано предварительно, то операция может быть выполнена во время запекания при помощи модификатора Automatic Flatten UVs. Этот модификатор представляет собой не что иное, как Unwrap UVW в режиме Flatten Mapping с настройками, задаваемыми в секции Automatic Mapping панели Render To Texture. При проектирование все текстурные координаты разбиваются на группы так, чтобы минимизировать искажения текстур при проецировании. Чтобы сшить такие куски текстурных координат в единую карту без заметных швов и используется параметр Padding. Значение Padding определяет в пикселах величину перекрывания границ отдельных групп текстурных координат при сшивке. Величину Padding нужно увеличивать, если после рендера на запеченной текстуре видны швы.

Группа Projection Mapping.
Эта группа предназначена для создания Normal bump map. Normal bump map - новая возможность 3ds max, позволяющая при помощи текстуры детализировать поверхность низкополигонного объекта по образу высокополигонного. Отличается от bump map тем, что позволяет закодировать не только высоты поверхности, но и направления нормалей. Работу с Normal bump map рассмотрим подробнее чуть позже.

Enabled - при создании Normal map будет использован модификатор Projection. Если его отключить, вместо Normal map будет создана обычная карта bump map.

Список Modifier для выбранного в видовом окне объекта показывает список имен уже назначенных ему модификаторов Projection. Пуст, если работа с объектом выполняется впервые.

Средство выбора Pick позволяет выбрать объект - источник высокого разрешения для генерации Normal map, то есть объект, с которого модификатор Projection будет "срисовывать" нормали. Нажатие на Pick отображает окно Select Objects, в котором по имени выбирается источник.

Options - окно свойств модификатора Projection, содержащее различные настройки проекции нормалей в карту. Если в этот момент выбран Individual (в самом низу панели Objects to Bake), настройки действуют на выделенный объект. Если стоит All Selected или All Prepared, настройки применяются ко всем выделенным или всем подготовленным к запеканию объектам.

Галочка в Object Level заставляет 3ds max выполнять проекцию на уровне объекта.

Установка галочки в Sub-Object Levels выполняет проекцию выбранного в настоящий момент подобъекта или их группы.

Put to Baked Material - позволяет выбрать, какая проекция объекта или его подобъектов будет запекаться в текстуру (выбрать можно только одну возможность, другая будет исключена).

Ниже перечисленные опции применимы только в случае, если в текстуру запекаются подобъекты:

 

Full Size и Proportional взаимно исключают друг друга.

Группа Mapping Coordinates.
Позволяет определить источник текстурных координат, если они уже есть у объекта, или создать новые текстурные координаты при запекании.

Use Existing Channel, в качестве источника будет использован канал с ранее подготовленными текстурными координатами.

Channel, позволяет выбрать номер канала с готовыми текстурными координатами.

Use Automatic Unwrap позволяет создать набор новых текстурных координат, использует модификатор Unwrap UVW с автоматическим проектированием координат в режиме Flatten Mapping.

Clear Unwrappers - удаляет модификатор Automatic Unwrap из стека объекта, если он был назначен, и удаляет текстурные координаты. Если использовались готовые текстурные координаты, Clear Unwrappers оставляет их неизменными.

Кнопки в самом низу панели Objects to Bake позволяют выбрать, какой объект запекается.

Секция параметров Output
В этой секции определяются параметры самих запекаемых.

 


Секция параметров Output

В самом начале секции находится окно списка карт Output List, отображающее имена карт, выбранные для запекания элементы рендеринга, размеры карт и слот будущего shell - материала, куда карты будут назначены.

Под элементами рендеринга в 3ds max понимается совершенно конкретный перечень допустимых для расчета элементов, куда входят:

Если элемент уже назначен для запекания выделенному объекту, он в списке доступных не появляется.

Расчет Reflection и Refraction в качестве отдельных элементов не предусмотрен, а автоматически генерируемые карты в составе Blend и Complete далеки от совершенства, так что их запекание представляет собой некоторую проблему. Связано это с тем, что обычно ray trace отражения и преломления рассчитываются относительно камеры, а при запекании нам нужно просчитать их без камеры. Поэтому, используются упрощенные методы, например, кубические и сферические карты отражения окружения. Кубические карты - стандартная возможность 3ds max, сферические карты окружения можно рассчитать, поместив панорамную камеру в центр объекта (шейдер камеры wraparound) или использовав ambient occlusion.

Для добавления элемента в список запекаемых карт нажимаем кнопку Add и выбираем элемент из появляющегося в диалоговом окне списка. Для удаления выделяем элемент и нажимаем Delete.

Группа параметров Selected Element Common Settings.
Позволяет разрешить или запретить запекание выделенного в списке элемента в текущей сессии (Enable), задавать название запекаемого элемента (Name), название и тип файла запекаемой карты (File Name and Type). Размер карты может быть определен вручную (указанием величины в Size), из готового набора размеров (кнопки с цифрами) или может определить размер карты автоматически (Use Automatic Map Size).

Target Map Slot определяет назначаемый запекаемой карте слот нового материала. Содержимое списка зависит от того, выполняется запекание в стандартный материал 3ds max или mental ray material. В последнем случае в списке будут перечислены доступные типы шейдеров для определения свойств материала.
Для стандартного материала 3ds max доступны для определения следующие свойства: Ambient Color, Diffuse Color, Specular Color, Specular Level, Glossiness, Self-Illuminations, Opacity, Filter Color, Bump, Reflection, Refraction, Displacement.

Группа параметров Selected Element Unique Settings.
Содержит список доступных для выделенного в данный момент элемента запекания. Содержание окна этой группы изменяется в зависимости от выделенного элемента.

Секция Baked Material
Определяет способ использования запекаемых карт для определения свойств нового материала.

 


Секция Baked Material

Output Into Source - запекаемая карта будет встроена в указанный слот старого материала (существующего материала объекта, выбранного для запекания) и заместит его соответствующие свойства. Откат (undo) для этой операции невозможен. Поддерживается корректная работа с материалами типа Multi/Sub-Object.

Save Source (Create Shell) - создается новый материал типа Shell и назначается запекаемому объекту. В новом материале возможно продублировать элементы структуры старого материала (Duplicate Source To Baked) или создать новый тип материала (Create New Baked).

Кнопка Update Baked Materials создает для выделенного объекта новый Shell материал и расставляет по слотам запеченные карты.

Кнопка Clear Shell Materials удаляет из объектов и замещает его либо оригинальным материалом, либо материалом с запеченными картами. Выбор позволяют осуществить опции Keep Source Materials или Keep Baked Materials.

Секция Automatic Unwrap Mapping
Настроечные параметры этой секции влияют на создание текстурных координат для карт.

 


Секция Automatic Unwrap Mapping

Автоматическое создание координат происходит, если в секции Objects To Bake выбрана опция Use Automatic Unwrap при создании нового набора координат. Объекту назначается модификатор Automatic Flatten Uvs. Модификатор можно использовать для редактирования текстурных координат, выбрав его в стеке объекта.

Группа параметров Automatic Unwrap Mapping

Rotate Clusters - позволяет вращать кластеры (группы текстурных координат) для минимизации используемого координатного пространства.

Threshold Angle - порог, максимальное значение разницы в углах между полигонами одного кластера. При превышении порога для новой группы полигонов создается новый кластер. Уменьшая величину порога можно минимизировать искажения проектирования на плоскость неплоских поверхностей, но при этом увеличится число кластеров.

Fill Holes позволяет вкладывать мелкие кластеры в пустые неиспользуемые пространства (дыры) внутри больших кластеров. Эта опция, также как и Rotate Clusters, минимизирует бесполезные потери координатного пространства.

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

Группа параметров Automatic Map Size.
Алгоритм рендеринга в текстуры может самостоятельно определить необходимый размер карты. Для этого в секции Output нужно включить Use Automatic Map Size. Параметры рассматриваемой группы позволяют дополнительно задать некоторые свойства расчетов размера карты. В автоматическом режиме размер карты вычисляется по общей площади поверхностей всех выделенных объектов и затем умножается на величину Scale, после чего создается квадратная текстурная карта с вычисленной размерностью.

Scale - масштабирующий множитель для расчета размерности текстуры по общей площади. По умолчанию имеет значение 0.01.

Nearest power of 2 - округляет длину и ширину текстуры к значениям, кратным степеням двойки.

Min и Max - ограничители на допустимые минимальное и максимальное значение длины и ширины создаваемой карты, в пикселях. Значение Max не может превышать 2048.

Заканчивая обзор возможностей RTT в 3ds max, нужно отметить, что этот инструмент автоматизирует всю работу по запеканию текстур и очень удобен в использовании.

Пример: запекание caustic - фотонной карты.

Рассмотрим запекание фотонной карты на примере простой сцены с одним omni источником света и двумя объектами: кольцо с отражающим материалом, обеспечивающим фокусирование фотонов после отражения, и плоскость, на которой лежит кольцо с диффузным материалом. Фотонная карта для расчета каустики настроена, просчитана и сохранена, чтобы при рендере подгружаться из файла. Рендер сцены выглядит следующим образом:

 


Сцена с caustic-эффектом, рассчитанным по фотонной карте

Запекать нужно карту для плоскости, на которой лежит кольцо, поскольку каустика отражается на него. Выделяем плоскость и вызываем RTT. Выполняем следующие настройки параметров рендера в текстуры:

 


Настройки для запекания caustic фотонной карты

Для создания текстурных координат используется Automatic Unwrap с установками по умолчанию, поскольку плоскость довольно простой объект. В качестве элемента запекания выбрана LightingMap и включен расчет только непрямого освещения Indirect Light, поскольку запекается только фотонная карта. В качестве целевого слота выбран диффузный цвет нового материала (Diffuse Color).

 


Запеченная фотонная карта

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

После расчета карты, создан новый shell material, содержащий два материала. Первый материал предназначен для отображения каустики в видовом окне и для него просчитанная карта назначена в слот диффузного цвета. Второй материал предназначен для рендера и LigtingMap назначена в слот Self - Illumination, что позволяет использовать каустику независимо от диффузных свойств материала, благодаря чему их можно свободно менять, например, - назначать разные текстуры поверхности.

После небольшого редактирования текстурных координат получаем рендер с запеченной фотонной картой:

 


Рендер с запеченной в текстуру фотонной картой

Запекание фотонных карт глобального освещения выполняется аналогично, но может потребовать много времени для расчетов, особенно, если сцена велика по размеру. Запекание final gathering также вполне возможно, но время расчета рендера в текстуру будет намного больше времени рендера fg в камеру. Причина та же - при запекании нужно просчитывать fg для всех точек сцены. Ситуация усугубляется еще и тем, что для получения качества, сопоставимого с качеством рендера в камеру при запекании радиусы fg нужно уменьшать минимум в десять раз. Поэтому, запекание fg в текстуру является скорее задачей сетевого рендеринга. На одной рабочей станции выполнить расчет запекания fg за разумное время невозможно даже в простых случаях.


Дата добавления: 2015-10-28; просмотров: 208 | Нарушение авторских прав


Читайте в этой же книге: Final Gathering | Свойства и использование Ambient/Reflective Ocllusion | Физическая модель подповерхностного рассеяния в mental ray – SSS Physical Material | Шейдер miss_physical | Тест 1. Расчет подповерхностного освещения методом однократного рассеяния | Тест 5. Текстурные трехмерные карты для коэффициента рассеяния | Часть 4. Упрощенная модель подповерхностного рассеяния SSS Fast | Материал miss_fast_simple_phen | Шейдеры группы miss_fast | Создание собственных материалов SSS Fast |
<== предыдущая страница | следующая страница ==>
Запекание с mental ray| Создание и использование Normal bump map при помощи RTT и mental ray

mybiblioteka.su - 2015-2024 год. (0.015 сек.)