Что такое пассы в 3ds max
Итак, раздел Performance располагает следующим перечнем подразделов:
Global Illumination
Global Illumination - подраздел, отвечающий за глобальное освещение и его просчёт в 3D–сцене. Включает в себя 2 метода просчета:
- None (biased) - отключает функцию глобального освещения, оставляя только прямые источники света.
- Path Tracing - просчитывает первичные отскоки освещения.
- None (biased) - отключает функцию глобального освещения, оставляя только прямые источники света.
- Path Tracing - просчитывает первичные отскоки освещения, которые менее эффективны в сценах с большим количеством непрямого освещения (например в интерьерах). Разработчики советуют использовать данный способ для просчета сцен экстерьера.
- UHD Cache - универсальное решение для сцен интерьера, особенно там, где имеется большое количество источников света и их отражений от поверхностей. Однако, является менее эффективным способом для сцен с более простой геометрией и простым освещением, такими как визуализация экстерьерных объектов или растительности.
- Path Tracing + Path Tracing - будет просчитывать сцену буквально по каждому пикселю, что увеличит длительность рендеринга, но заметно улучшит качество картинки.
- Path Tracing + UHD Cache - оптимальный вариант для более быстрого просчета одновременно с приемлемым качеством картинки.
Performance Settings
Рассмотрим наглядно все параметры по порядку, чтобы не возникло путаницы:
Lock sampling pattern - при наличии галочки шумы будут заблокированы как в статичных, так и в анимационных кадрах, а следовательно, и менее видимыми. Убрав галочку с данного пункта, приведет к абсолютно непредсказуемому спектру шумов на том или ином кадре, что может быть полезно для стороннего программного обеспечения для шумоподавления (но не для встроенного шумодава от Corona Render). Также стоит помнить, что при использовании Распределенного рендеринга (Distributed Rendering, параметры которого мы рассматривали в статье про вкладку System), шум может отличаться на каждом отрендерином кадре, независимо от данной опции.
Conserve memory (slower) - наличие галочки позволяет искусственно уменьшить количество потребляемой памяти до 30% Corona Render за счет производительности рендеринга. Может быть полезно, если у вас недостаточно памяти и вы хотите уменьшить ее потребление или наоборот, имея ее избыток, ограничить потребление для возможности использования для других целей, жертвуя производительностью процесса рендеринга.
Adaptive light solver - наличие галочки активирует возможность ускоренного рендеринга в сценах с большим количеством источников света и сложными условиями видимости.
Sampling balance
GI vs. AA balance - количестве сэмплов GI на каждый сэмпл сглаживания. Как это работает? Более высокие значения обеспечат удаление шумов от глобального освещения и прочего светового шума, а меньшие быстро удаление шумов сглаживания, размытости движения и глубины резкости кадра.
Значение по умолчанию 16 хорошо работает в большинстве случаев, но иногда его можно увеличить, если в области непрямого освещения больше шума, или уменьшить, если в сцене присутствует сильная глубина резкости или размытие движения. Сами же разработчики не рекомендуют выставлять данное значение ниже двух или более 64-х.
Light Samples Multiplier - количество сэмплов прямого освещения на каждый сэмпл GI. Увеличивая значение в сценах с видимым шумом прямых источников света, можно получить лучший результат.
Однако стоит помнить про нюанс данного параметра, если Light Samples Multiplier установлен на 1 и GI vs. AA balance установлен на 16, это означает, что для каждого пикселя за просчет будет использоваться 16 сэмплов GI и 16 сэмплов прямых источников света, а если Light Samples Multiplier установлен на 2 и GI vs. AA balance установлен на 16, это значит, что для каждого пикселя за просчет будет использоваться 16 сэмплов GI и 32 сэмпла прямых источников света.
Проще говоря, стандартного значения (2) достаточно для этого параметра и оно является самым эффективным в большинстве случаев. Но никто не запрещает вам поэкспериментировать с этими настройками и подобрать вариант подходящий именно для вашей сцены.
Если хотите изучить тему с данными настройками поподробнее, то можете посмотреть видеоурок от разработчиков Corona Render:
Alex Alvarez, основатель Gnomon, школы визуальных эффектов, рассказывает о том, что такое рендер пасы и слои.
Проблема большинства начинающих, для которых индустрия 3D еще является чем-то неизведанным, заключается в том, что они избегают использования различных рендер элементов, с помощью которых можно добиться весьма интересных и качественных результатов в программе для композитинга. На самом же деле от грамотного использования таких элементов, как цветокоррекция, зерно, глубина резкости или DOF, туман, моушн блюр, оптические эффекты и пр. проект лишь визуально улучшится.
Моей же целью будет обзор различных рендер элементов и того, как их отрендерить в Maya и вписать в пайплайн. Вы можете заметить, что при этом я не упоминаю Render Layer Manager. Причина этого заключается в том, что он довольно громоздкий и далеко не всегда полезный.
Пасы
Рендер по пасам – это процесс рендера различных атрибутов объектов по отдельности, различные виды рендер пасов приводятся ниже.
Beauty пас – сочетание всех рендер пасов. Не содержит отражений, бликов, теней и пр., которые обычно рендерятся отдельно.
Colour пас – пас с цветом материала.
Diffuse пас – Direct illumination умножается на цвет поверхности в обратном порядке.
Diffuse Raw пас – пас только с Direct illumination.
Specular/Highlight пас содержит блики от всех объектов. Highlight пас рендерится путем отключения всех Ambient light, при этом на объект назначается шейдер черного цвета или цвет шейдера изменяется на черный. Таким образом, рендерятся все блики в сцене, на черном фоне, без каких-либо других шейдеров. При рендере этого паса у всех светильников также выкручивается параметр Emit diffuse.
Reflection пас содержит отражения от всех объектов, а также окружения, может дополнять или заменять Highlight пас. Для корректного рендера этого паса можно создать шейдер типа хром (blinn, цвет=черный, diffuse=0, specular = белый, reflectivity = 1) и назначить его на объект, для которого необходимо отрендерить Reflection пас. Силу и интенсивность отражений, их прозрачность и блюр можно отрегулировать уже на этапе композа.
Refraction пас содержит результат рефракции в сцене.
Matte пас – фактически является альфой материала. В сочетании с объектом и самим материалом можем творить чудеса при создании масок груп объектов и материалов на композе. В случае необходимости пас Occlusion matte можно получить путем редактирования шейдера таим образом, чтобы альфа канал отвечал за объекты, расположенные позади. Этого можно достичь, если использовать Black Hole для Opacity Control шейдера.
Ambient пас – свет, у которого нет какого-то определенного источника, помогает освещать сцену и отрендеренный объект.
Translucency пас – просвечиваемость материала core_mia_material.
Sub Surface Scatter пас – свет, который отражается от поверхности кожи и рассеивается под ней.
Subsurface Front пас – первый слой подповерхностного рассеивания при использовании шейдеров core_simple_sss или core_skin_sss.
Subsurface Mid пас – средний слой подповерхностного рассеивания при использовании шейдера core_skin_sss.
Subsurface Back пас – нижний слой подповерхностного рассеивания при использовании шейдеров core_simple_sss или core_skin_sss.
Incandesence – самосвечение объекта.
Rim light пас используется для того, чтобы выгодно подчеркнуть объект на переднем плане, выделив его на фоне заднего.
Shadow пас – показывает расположение теней в сцене. Обычно выглядит как белая область на черном фоне или черная область на белом фоне, или тени, включенные в альфа канал.
Floor shadow пас содержит тени, которые объекты отбрасывают на пол.
Effects пас обычно содержит такие элементы, как Fur, Smoke, погодные условия (дождь) и пр., которые рендерятся отдельно от остальных элементов.
Depth пас – Z-depth может быть отрендерен как отдельный пас, чтобы более гибко использоваться на посте. С помощью него можно также создать туман. Кроме того, Depth пас можно использовать для того, чтобы понять, какое отношение один объект имеет к другому. Так, если в центре тора у вас есть сфера, вследствие чего часть сферы перед тором, а часть за, вы можете отрендерить эти объекты по отдельности и все также успешно их скомпозить.
Оттенки серого паса Z-depth отвечают за расстояние от камеры, при этом белый цвет означает близкое расстояние, черный далекое.
Normal World пас – Surface-нормали в мировом пространстве в промежутке от -1 до 1.
Point World пас – Значение XYZ с плавающей запятой каждого пикселя в мировом пространстве.
Motion Vector пас – 2D-моушн векторы с плавающей запятой. Используется в приложении для композитинга для создания моушн блюра.
Motion Vector (Normalized) пас – 2D-моушн векторы в промежутке от 0 до 1. Пас имеет то же самое значение, что и Motion Vector пас, за исключением масштаба и атрибутов Offset паса, которые устанавливаются для нормализации результата.
Opacity пас – прозрачность геометрии.
UV пас – пас, содержащий UV-развертку.
Material ID пас – Каждому материалу в сцене рандомно назначается цвет. Используется для создания масок конкретных материалов в приложении для композитинга для дальнейшей настройки.
Object ID пас – Каждому объекту в сцене рандомно назначается цвет. Используется для создания масок конкретных объектов в приложении для композитинга для дальнейшей настройки.
Слои
Использование рендер пасов поможет улучшить реализм изображения, в то время как с помощью рендера по слоям можно настраивать различные составляющие сцены по отдельности. Это помогает также более эффективно управлять временем рендера. Например, если камера залочена, а задний фон должен быть отренедерен как статичная картинка, при этом анимированные элементы можно отрендерить отдельно, а затем собрать все это вместе.
Для того, чтобы отрендерить объекты по отдельности, можно использовать несколько техник. Например, настроить видимость того или иного объекта. Также можно использовать слои Render-layer manager в Maya. При этом я предпочитаю больше работать со слоями сцены.
Вывод
Если сочетать рендер по слоям с рендер пасами, то шот можно легко разделить на много различных элементов. Также можно отрендерить отдельные пасы со светом, при этом количество рендер пасов станет просто огромным. Думаю, становится понятным, почему на каждый шот практически любого фильма приходятся сотни различных рендер элементов. Надеюсь, что данная статья помогла немного разобраться в данном вопросе.
''), array("string" => ''), ); if (!isset($_COOKIE['rek'])) < print($banners[$GLOBALS["banner_num"]]["string"]); >elseif ($_COOKIE['rek'] == "rek1") < print($banners[0]["string"]); >elseif ($_COOKIE['rek'] == "rek2") < print($banners[1]["string"]); >?>
Примеры проходов (элементов) визуализации.
Проход визуализации (от английского render pass ) или рендер элементы (render elements) - это изображение, которое получается в процессе рендеринга определенного свойства 3D-сцены отдельно от других свойств. Используется для композитинга финальной картинки.
Основные типы проходов визуализации:
- Основной проход визуализации (не нашел я более подходящего перевода для английского термина beauty pass) - это финальная скомпонованная картинка, полученная прямо из рендерера, которая включает в себя ВСЕ проходы: отражения, освещение, волосы, спецэффекты и др.
- Цветовой проход (diffuse pass или color pass) - это чистый цвет текстур и\или шейдеров. Т.е. визуализируется полноцветное изображение объекта, состоящее из рассеянного (диффузного) освещения (diffuse illumination, еще можно встретить название ambient light - общий свет, рассеянный свет, т.е. свет, не исходящий из каких-то конкретных источников и дающий равномерное освещение всем поверхностям независимо от их ориентации) + цвет + цветовая текстура (color map) или шейдер. Цветовой проход НЕ включает в себя: отражения, блики, тени (которые обычно являются отдельными проходами).
- Проход световых бликов (highlights pass), еще называют specular pass, делается для визуализации бликов от источников света.
- Проход отражений (reflections pass) включает отражение окружающих объектов, собственные отражения или отражения окружающей среды. Этот проход может полностью заменить или дополнить проход световых бликов.
- Проход теней (shadow pass) включает в себя все тени, которые отбрасывают объекты в сцене.
- Проход освещения (lighting pass) - это когда, вместо визуализации основного прохода (beauty pass) за раз, визуализируется несколько проходов освещения. Т.е. каждый проход освещения показывает влияние только одного источника света (либо одной группы источников) на 3D-сцену.
- Проход эффектов (effects pass) делается для отдельной визуализации спецэффектов или масок для них. Это может быть огонь, дым, вспышка молнии, отсвет, блик в объективе, объемный свет и т.д. (depth pass) еще имеет названия z-depth (глубина 3D-сцены) или depth map (карта глубины).
- Проход ambient occlusion (сокращенно AO pass). И много других.
Зачем использовать проходы визуализации?
Причин может быть множество, но я назову только десять самых очевидных причин почему профессионалы тридешники делят картинку на отдельные элементы визуализации.
- Экономия памяти. Из-за визуализации за один проход каждого объекта отдельно, а не в купе с остальной сценой, мы значительно экономим на используемой оперативной памяти. Таким образом, даже очень сложные сцены можно отрендерить на обычном домашнем (маломощном) компьютере.
- Легкость правок. Все последующие изменения на финальной картинке можно делать без повторной визуализации. В крайнем случае, придется заново отрендерить всего лишь один из проходов.
- Интеграция с натурными съемками. Визуализированный отдельно персонаж с отдельным проходом теней можно с легкость вставить в живое видео или фотографию.
- Эффективное использование фона. Если у вас есть сцена, где находится анимированный персонаж на статичном фоне, то НЕ нужно визуализировать этот фон в каждом кадре. Достаточно отрендерить фон один раз и использовать его на протяжении всей анимированной последовательности.
- Повторное использование. Очень эффективно можно делать сцены массовки и подобные, когда один и тот же объект используется несколько раз в сцене, но в другом месте и времени. А если наложить сверху слой корректирующий цвет объекта, то получим сложную детализированную сцену с минимумом затрат.
- Быстрые размытые отражения. Отражения можно заблурить уже на стадии композитинга, что устраняет необходимость медленной (ресурсоемкой) визуализации размытых отражений.
- Один проход эффектов можно использовать для получения нескольких разнообразных эффектов во время постобработки.
- Бамп можно выборочно применять к отражениям, основному пасу либо пасу освещения, вместо того, чтобы использовать одну и ту же карту бампа на всех элементах.
- Сияние (отсветы - glow) можно добавлять (и управлять) уже на стадии постобработки, просто накладывая на финальную картинку немножко заблуренный проход световых бликов.
- Эффект глубины резкости (DoF ) можно с легкостью создать во время постобработки без необходимости значительно увеличивать время визуализации. Для этого достаточно размыть слои заднего плана, которые были предварительно визуализированы по отдельности. Или же можно использовать проход глубины как маску для размытия. Этот же проход пригодится для создания эффекта воздушной перспективы и других подобных.
Подпишитесь на обновление блога (вот 3 причины для этого).
P.S. Занимаясь всем этим моделированием, текстурированием, композом и т.д., очень часто ощущаю необходимость во втором мониторе. В этом случае меня спасает тот факт, что я уговорил родителей купить телевизор ЖК им на кухню с RGB/VGA входом. Теперь, если есть хороший/сложный заказ, я просто одалживаю у родителей этот маленький (1024x768 пикселей) кухонный ЖК телевизор, которого с головой хватает для использования под дополнительные менюшки и окна.
Похожие статьи:
-
Z-Depth (другими словам, глубина 3d-сцены) - это графическое представление удаленности объектов от камеры в полутонах серого. Т.е. чем ближе объект… Композитинг (Compositing) - это объединение нескольких визуальных элементов в одно целостное изображение. Делается это для того, чтобы человек, который увидит… Ambient occlusion (AO) - если грубо, но чтобы доступно, то это способ затенения объектов, когда освещенность объекта (с примененным к… Воздушная перспектива (air perspective) – это такое природное явление, когда по мере удаления предметов от глаз наблюдателя исчезает четкость и… Это третья часть перевода подробной статьи о профессиональном рендеринге. Вторая часть была о глобальном освещении. 1.2 Ray tracing против решений… Разработчики 3ds Max 2010, сразу после его выхода (случилось это 24 марта 2009 года), выложили на YouTube видео с демонстрацией… Несмотря на то, что эту картину критикуют вдоль и поперек из-за массовых нелепостей и несоответствий, но вы должны признать, что…
Вам понравилась статья ? Хотите отблагодарить автора? Расскажите о ней друзьям.
Или подпишитесь на обновление блога по E-Mail.
Продолжаем изучать 3D и CG терминологию (Часть 2). В этой статье мы рассмотрим еще партию 3D и CG терминологии.
Ambient occlusion (AO)
Теперь подробнее. Изначально ко всем объектам в сцене применен полностью белый материал. Потом из каждой точки испускается пучок лучей во всех направлениях. Если луч встречает на своем пути какую-то геометрию (препятствие), то точка, из которой луч вылетел окрашивается в более темный цвет. Если луч не встречает препятствий, то цвет точки не меняется (т.е. точка так и остается белой).
Таким образом, получаем картинку в градациях какого либо цвета (это не обязательно в градациях серого). Причем, там где плотность геометрии (разнообразных деталей, щелей, трещин) больше, там получаем более темные участки на картинке.
Как можно использовать Ambient Occlusion.
Полученный Ambient Occlusion проход (слой, пас) визуализации можно использовать непосредственно для композитинга (подчеркнуть детали, акцентировать внимание на тенях и т.д.).
И куча других способов, где нужна НЕ растровая, а динамическая (меняющаяся во времени либо от каких либо параметров) маска. Это и барашки на гребне волны, и пена на поверхности моря возле песчаного берега, и т.п.
Pipeline (пайплайн)
Цепочка процессов строится таким образом, что конец одного процесса это начало следующего. Этапы также могут накладываться друг на дружку. Это когда один процесс еще не успел закончиться, но другой уже начался. Процессами в данном случае выступают такие этапы: моделирование, текстурирование, анимация, постановка света, визуализация, разработка программ и плагинов для обеспечения вышеописанных этапов и т.д.
Пример 1. После окончания моделирования начинается процесс рисования текстур, но поскольку для анимации текстуры не обязательны, то аниматоры также могут приступить к работе.
Пример 2. Все работы идут одна за другой. Поскольку визуализация окружения без текстур будет серовата как в прямом, так и переносном значении.
Т-образная поза (T-pose, Т-поза)
Поза, в которой руки немного опущены вниз (где-то под углом в 45 градусов), называется А-позой. Обычно такую позу используют для пошива 3D одежды. А в последнее время её всё чаще стали использовать в производстве 3D фильмов и мультиков.
В таких позах, моделеры моделируют персонажей. В таких же позах художники рисуют концепты персонажей и модельные листы. В такой позе создаётся скелет для персонажа.
Т-образная поза (и А-поза) облегчает процесс создание персонажа и его последующий сетап (настройку скелета и его присоединение к оболочке модели).
Сетап, риг (риггинг), cетапщик
Риг состоит из таких шагов (описываю очень грубо, просто чтобы была понятна логика):
- Получить 3D модель от моделера в Т-позе (A-позе), ну или создать эту модель.
- Создать скелет внутри 3D модели.
- Приделать к скелету контр ó лы, за которые аниматору будет удобно дёргать, чтобы анимировать персонажа.
- Определить связи между контролами и скелетом. Т.е. настроить этот скелет таким образом, чтобы там работала инверсная кинематика (ИК) и другие автоматически просчитываемые изменения положения костей. Это делается, чтобы аниматору не нужно было гнуть КАЖДУЮ кость. К примеру, достаточно потянуть за управлялку кисти вверх, чтобы все кости кисти (запястья), руки и плеча поднялись вверх.
- Привязать/заскинить скелет к 3D модели. Сюда же входит создание корректирующих блендшейпов, чтобы всякие там локти/плечи/ягодицы, при экстремальных углах изгиба, деформировались правильно.
- Настроить физику для разных висюлек на персонаже (ткань, волосы, верёвки, ленточки, серёжки, шнурки и т.д.)
- Настроить систему мышц или эффект жира (большой трясущийся живот, женские груди и т.д.)
Z-Depth
Дальше идёт часть для опытных.
Требования к Z-Depth или какой должен быть правильный Z-Depth
Глубина резкости (Depth of Field, DOF)
Глубина резкости очень важна для передачи масштаба сцены.
Скининг (Skinning)
Это достаточно трудоемкий процесс, поскольку нужно правильно назначить вес (англ. weight) для каждой вершинки модели. Чем больше вес, тем больше влияет конкретная кость на конкретную вершину 3d-модели.
Блендшейпы (Blend Shapes), морфы (Morph), Shape key
Теперь подробно о каждом.
Аналогичное значение имеет понятие морфы:
Shape keys можно перевести как ключи формы (по аналогии с ключами анимации).
Применение блендшейпов и морфов.
Применять блендшейпы (морфы) можно не только для риггинга лица и его частей (глаза, брови, губы, щёки и т.д). С их помощью можно, к примеру, анимировать распускание цветка, анимацию одежды (чтобы не закорачиваться с динамической симуляцией), деформацию объекта после взрыва и все, что вам заблагорассудится трансформировать или поменять форму.
Преимущества и недостатки блендшейпов для лицевой анимации.
А вообще мускульная модель и модель на основе блендшейпов не единственные методы для лицевой анимации. Есть еще кластерная модель и анимация с помощью костей.
Проходы визуализации (Render passes, Рендер пасы, Multi-Passes)
Основные типы проходов визуализации:
Зачем использовать проходы визуализации?
Причин может быть множество, но я назову только десять самых очевидных причин почему профессионалы тридешники делят картинку на отдельные элементы визуализации.
HDR изображение
HDRI – это аббревиатура от High Dynamic Range Image, т.е. изображение, которое обладает очень большим диапазоном яркостей.
Дальше привожу грубое, но, надеюсь, понятное объяснение.
Если мы фотографируем яркое небо с солнцем, то получаем нормальное изображение только неба, а все что на земле будет черным:
Если же фотографировать красивый пейзаж в яркий солнечный день, то все что на земле мы получим красивым, а небо будет засвечено – одно сплошное белое пятно:
Вот для этого и создали формат HDR, который содержит необрезанную информацию обо всем яркостном диапазоне.
HDR-изображение (к примеру, такое как представлено в начале статьи) может быть получено либо:
- честным путем. Для этого покупаем дорогую HDR-камеру, которая сразу фотографирует во всем динамическом диапазоне.
- хитрым путем. Когда обычным фотоаппаратом делается серия фотографий с разной выдержкой. Если грубо, то одна фотка должна быть с засвеченным небом, другая – с черной землей, а на третьей будет что-то среднее между предыдущими двумя. Потом все это собирается в одно изображение в специальном редакторе или в Photoshop.Изображений не обязательно должно быть три. Их может быть и больше и меньше. Но чем больше изображений тем более детальное (точное) получится HDRI.
Теперь самое главное.
Полученное изображение можно сохранить в формат когда теряется вся яркостная информация (такими форматами являются .jpg, .jpg и другие). Т.е. на выходе мы имеем красивое усредненное изображение. А можно сохранить в формате .hdr с сохранением всего диапазона яркостей.
Именно такие 32-х битные изображения (чем большая битность изображения, тем больше информации о цвете/яркости содержит такое изображение) в формате .hdr и используются в 3D в качестве карт окружения.
Поэтому если вы хотите получить фотореалистичное изображение (реалистичные отражения на блестящих объектах) в результате визуализации, обязательно нужно использовать именно HDR-окружение (HDRI виртуальных студий) либо имитировать настоящее окружение.
Особенно важно использовать правильное HDRI, когда визуализируете кольца или любые другие украшения/бижутерию. К примеру, красивую игру света на камнях можно достаточно быстро получить используя HDR-изображение с разноцветными треугольниками в качестве карты отражений.
Voxel (воксель)
Если грубо, то воксели можно представить себе как трехмерные пиксели или как аналог атомов в компьютерном мире. Т.е. 3D объект можно представить состоящим из маленьких кубиков. Каждый такой кубик и будет вокселем.
Само понятие voxel (воксел) образовано от слияния двух слов volumetric и pixel (объемный и пиксель).
Если сравнивать моделирование вокселями с моделированием полигонами, то это как создание бюста в реальной жизни из глины (где частички глины выступают в роли вокселей) по сравнению с созданием бюста из кусочков бумаги (где кусочек бумаги выступает в роли полигона). Т.е. если вы проткнёте пальцем бюст из глины, то получите углубление по форме пальца. А если проткнёте пальцем бюст из бумаги, то получите просто дырку, через которую можно увидеть внутреннюю сторону полого бюста.
Это не просто теория. С помощью вокселей уже давно можно моделировать в таком редакторе, как 3D-Coat. ZBrush использует технологию вокселей для булевых операций над сабтулсами (только для внутренних расчётов). А Houdini так вообще пропитан вокселями (воксельные флюиды, к примеру) с давних времён.
Camera Projection / Mapping
Покажу это в картинках.
К примеру, мы имеем вот такое фото:
Эту фотографию нужно спроецировать на очень упрощённую форму:
В результате получится вот такой 3D эффект:
С помощью такого метода можно создавать целые города, равнины с холмами и скалами, замороженных во времени людей и т.д.
Преимущества Camera Projection:
- этот метод отлично подходит, если нужно быстро создать реалистичное окружение для пролёта камеры;
- не нужно искать правильные текстуры, можно использовать фото со всеми перспективными искажениями;
- не нужно создавать красивую, правильную, сложную геометрию;
- не нужно делать UV-развёртку;
Недостатки Camera Mapping:
- он подходит только если камера летит прямо и сквозь какие-то объекты. Если камера будет крутиться и возвращаться назад, то вылезут все косяки, ведь геометрия на самом деле плоская;
- этот метод не подходит для игр. Ведь в игре персонажу нужно забегать за все углы и фальшивка сразу станет видна;
- этот метод работает только если заранее известны все передвижения камеры.
Проецирование из камеры также используют в реальной жизни:
- для отображения анимированной графики на фасадах разных зданий в ночное время, на автомобилях, на предметах интерьера и т.д.;
- для создания декораций в 3D театрах. Это новое направление в искусстве, когда декорации в театре не настоящие, а проецируются проектором, как в кинотеатре. С той лишь разницей, что проектор стоит над сценой, чтобы актёры не отбрасывали тени.
Kitbash, китбашинг
На картинке ниже вы можете видеть пример таких деталей-запчастей в виде набора 3D моделей для китбашинга:
Приведу тройку интересных сайтов, где вы сможете купить или скачать бесплатно такие наборы:
Референс, рефы, инстансы
Понятие референс (еще используют сокращение реф) походит от английского слова reference, которое переводится как упоминание, отсылка к источнику, справочная информация.
В 3D индустрии этот термин имеет несколько значений.
Справочной информацией обычно выступают картинки или видео. Их тридешники используют как образцы, на которые нужно равняться.
- моделеры ищут фотореференсы того объекта, который они будут моделировать (фотографии архитектуры, животных, чертежи автомобилей и т.д.),
- художники по текстурам ищут рефы фактур и текстур, которые они будут рисовать на 3D модели (фотографии ткани, кожи, бетонной стены, металлической ржавой трубы и т.д.),
- аниматоры снимают себя на видео, чтобы иметь видеореференсы нужных движений для анимации своих 3D персонажей,
- визуализаторы ищут референсы освещения, свойств материалов, чтобы понять как свет отражается, как он поглощается, как распространяется внутри объёма и т.д.,
- VFX-артистам (художникам по спецэффектам) нужны рефы поведения дыма, огня, пыли, как двигается ткань, как шевелятся волосы, как разрушается объект.
Также референсами называют всю информацию созданную/полученную на стадии предпродакшена:
- концепты персонажей и реквизита (пропсов),
- мудборды,
- сториборд,
- аниматик,
- сценарий и т.п.
В таких 3D редакторах как 3ds Max или Maya можно создавать три вида копий 3D объектов:
К примеру, в качестве референса подтягивают 3D персонажа из одного файла (где находится только персонаж с ригом), в другой файл (где его уже анимируют аниматоры). Преимущество такого способа в том, что если у рига находятся какие-то глюки, то сетапер без проблем правит файл с ригом, а аниматоры даже не догадываются, что они работают уже с обновлённой версией персонажа.
Пример использования инстансов.
Image sampler и image samples для рендера
В VRay 2.3, к примеру, можно использовать один из трёх сэмплеров: Fixed rate sampler, Adaptive DMC sampler и Adaptive subdivision sampler.
Принцип работы.
Обычно есть три параметра:
- минимальное количество сэмплов,
- максимальное количество сэмплов,
- проверяющий параметр.
Испуская каждый лучик в сцену из камеры, рендерер смотрит, сложная это часть модели или простая, насыщена она деталями или нет, ярко освещена или сильно затенена. Если сложная и ярко освещена, то для расчётов этой области берётся большое количество сэмплов. Если деталей в этом месте нет и поверхность к тому же плохо освещена да еще и плоская, то рендерер просчитывает только минимальное количество сэмплов.
Чтобы рендерер знал, достиг он заданного уровня качества или нет, существует проверяющий параметр.
Грубо говоря, он работает так. Рендерер берёт два соседних пикселя и сравнивает их. Если коэффициент различия между ними больше, чем проверяющий параметр, то значит нужно стараться лучше (т.е. больше сэмплов задействовать).
Если задействовано максимальное количество сэмплов, а нужный уровень качества не достигнут, то вычисления всё равно прерываются и рендерер переходит к следующему пикселю.
Форматы FBX / Collada и Alembic
FBX
- геометрию (вершины, NURBS и patch
- материалы,
- текстуры,
- деформацию,
- анимацию,
- ограничители (constraints) и IK (цепочки инверсной кинематики),
- а также этот формат могут расширять другие компании.
Collada
Это формат, который по принципу использования, по целям создания и возможностям близок к FBX. Разработан Feeling Software (теперь Fortem), а сейчас поддерживается Khronos group. Всё что сказано об FBX в этом посте также справедливо и для формата Колада.
Alembic
Это громкое и вводящее в заблуждение заявление! Стандарт для какой индустрии?
- ни наследуемым, ни процедурным инструментом для трансформации данных;
- заменой родных форматов сцен 3D-приложений;
- приложением по управлению ассетами (цифровыми объектами);
- решением для хранения рига.
Однако, FBX и Collada пытаются поддерживать всё выше сказанное. Это объясняет метафору с яблоком и апельсином в начале статьи.
К слову, FBX/Collada делают честную работу, поддерживая всё на сколько возможно. Из-за этого на них вываливается много незаслуженного гнева.
Попробую пролить немного света на то, как разные индустрии по разному работают с DCC.
Игровая индустрия.
Художник создаёт ассеты и уровни в процессе DCC и они используются в игровом движке. Поскольку процесс разработки итерационный (повторяющийся) и все работы выкладываются одновременно в тестовой среде, то лучше, чтобы визуальное представление во вьюпорте DCC было такое же, как и в игровом движке, включая деформации, ограничения, ИК и т.д.
Индустрия архитектурной визуализации.
Художник создаёт картинку в процессе DCC на основе импортированных ассетов из архитектурных пакетов, таких как AutoCAD, Revit, SketchUp и т.д. Архитектор постоянно обновляет свои ассеты, а визуализатор пытается упростить свой пайплайн, чтобы иметь возможность вносить (вручную) изменения. Alembic можно было бы использовать для одного кадра высококлассной визуализации, когда нужно данные перебросить в другой пакет для освещения и рендеринга.
Кино индустрия.
Alembic сделает шикарную работу, при условии, что уже никто больше не будет играться с сетапом, ограничителями или анимацией. Игровые синематики также могут использовать прелести формата Элембик.
- отличный посреднический формат, когда вы можете отделить работы по сетапу от других процессов производства, как например, при создании фильмов.
- не заменитель таких повседневных форматов по перебросу данных как FBX или Collada.
Biased и Unbiased рендеры
Чтобы не путать эти понятия чисто на уровне слов, то можно запомнить, что bias переводится с английского как предвзятость или настраивать.
Примеры.
Часто граница размыта между настраиваемым и ненастраиваемым рендерером. Поэтому многие системы рендеринга можно назвать в какой-то степени гибридными.
Пришло время разобраться с послойным рендером. В данной статье будем рассматривать рендер пассы, сделанные в mental ray .
Для начала разберемся, что такое рендер пассы и для чего они нужны. И так render pass с английского переводится как проход визуализации и используется в композитинге для более тонкой настройки картинки. Скажем для того чтобы изменить цвет пиджака у персонажа, или предмета, убрать тень или изменить ее насыщенность, вырезать ненужную деталь в сцене, для этого мы обращаемся к помощи рендер пассам.
Ниже в виде схемы мы рассмотрим получаемые в mental ray пассы , изображения и описания пассов. Цветом выделены те пассы которые при сборе по слоям являются основными.
Изображение
Render Pass
Описание значения
Относительное движение (в растровых координатах XY) объекта в вашей сцене. Другими словами этот рендер-пасс нужен для того, чтобы программа композитинга, знала насколько далеко, каждый пиксель продвинулся из кадра A в кадр B, из кадра B в кадр C и т.д. При этом вектор выражен в нормализированных пикселях.
При композе этот пасс используют когда требуется сделать движение объекта размытым.
Вектор просчитывается в мировых осях XYZ. В Mental Ray под Maya трёхмерный Motion Vector выражен в особом внутреннем пространстве.
Ambient Raw
Ambient Raw
Ambient Material Color
( он же Ambient Raw)
Ambient Raw в отличие от Ambient выдает цвет который мы указали в настройках шейдера Ambient Color
Если в Ambient Color оставить черный цвет по умолчанию то и объект будет черного цвета. Причем Ambient Raw передает оригинальные цвета выставленные в Ambient Color .
Ambient Irradiance
Количество окружающего света, принимаемого поверхности.
Ambient Occlusion
Модель затенения, позволяющая добавить реалистичности изображению за счёт вычисления интенсивности света, доходящего до точки поверхности. В отличие от локальных методов, как например затенение по Фонгу, ambient occlusion является глобальным методом, то есть значение яркости каждой точки объекта зависит от других объектов сцены. В принципе, это достаточно отдалённо напоминает глобальное освещение.
Этот пасс работает если вы поставили галочку в render settings на против Ambient Occlusion
Финальный цвет высчитанный при помощи Mental Ray в Maya. Beauty-пасс это полная сборка всех пассов.
Beauty Without Reflections or Refractions
Финальный цвет высчитанный при помощи Mental Ray в Maya. Beauty Without Reflections or Refractions пасс это полная сборка всех пассов за исключением пассов отражений и преломлений света.
Camera Depth / Camera Depth Remapped
Mental Ray Coverage покрытие буфера кадра . Этот буфер кадра предлагает только силуэт охват. Self-покрытия в настоящее время не поддерживается.
Custom Color /
Custom Depth /
Custom Label /
Custom Vector
Используется в сочетании с writeToColorBuffer, writeToDepthBuffer, writeToVectorBuffer и writeToLabelBuffer шейдеров для записи данных в буфер кадров . Или создает свой собственный проход, если вы используете пользовательские шейдеры.
С помощью данных пассов можно настроить почти любой пасс который вам нужен. Custom Color очень универсальный инструмент.
Диффузный цвет материала с тенями.
Diffuse Without Shadows
Диффузный цвет материала без теней. Ментал реевский шейдер не видит данный пасс (см. таблицу ниже, какие пассы видят mental ray шейдеры)
Diffuse Material Color
Обеспечивает постоянный диффузный цвет или текстуру диффузного цвета за исключением света.
Заливает объект чистым цветом который указан в Color или выводит только текстуру.
Неотражённый свет, приходящий в каждый сэмпл поверхности.
Карта источников света. В сцене два источника цвета, красный и синий. Также их можно разделить сделав по отдельности. Таким способом можно настроить каждый источник света на свое усмотрение.
Тоже самое что Direct Irradiance только без теней.
Glow Source
Этот пасс просчитывает эффект свечения который мы настраиваем в самом шейдере.
Incandescence
Incidence (Light/Normal)
Отражённый свет просчитанный Final Gather, Global Illumination и каустическим эффектом.
Light Volume
Вычленяет волюметрические (объёмные) эффекты света. В качестве примера можно привести световой конус.
Material Incidence (Camera/Normal)
NormalCamMaterial
NormalObjMaterial
NormalWorldMaterial
Material Normal (Camera Space /
Object Space / World Space)
Интерполированная нормаль поверхности. Вы можете выбрать координатную сетку между Camera space, Object space и World space. Если выдавливание (Bump mapping) применено к шейдерной сетке, оно тоже будет отражено в этом пассе.
Это альфа-канал, исключающий прозрачность/непрозрачность. Этот пасс используется в композитинге для масок рендер-слоёв.
Normalized 2D Motion Vector
Относительное движение (в растровых координатах XY ) объектов в сцене. Другими словами, в зависимости от того как далеко каждый пиксель движется между кадром А и B . Пикселю присваивается значение от 0 до 1. Статические объекты выражены значением 0.5,0.5.
Object Incidence (Camera/
Тот же Material Incidence ( Camera / Normal ) за исключением того что он не поддерживает наложение рельефа.
NormalWorld
Object Normal (Camera Space / Object Space / World Space)
Они же в Passes
NormalWorld
Тот же Material Normal ( Camera Space / Object Space / World Space ) за исключением того что он не поддерживает наложение рельефа.
Object Volume
Извлекает все объектно-ориентированные объемные эффекты, например, дым, который содержится в стакане объекта. Также включает в себя объем частиц, меха, и жидкости.
Объекты непрозрачности, которые являются производными от прозрачность / преломления. В композиции, непрозрачность объекта можно управлять независимо от матового слоя визуализации. Альфа канал отсутствует.
PS . Прозрачность материала обозначается градацией цвета от белого до черного
Raw Shadow
Тот же Shadow пасс, но рассчитан только по отношению к освещенности в сцене.
Пасс отражения. Этот пасс включает в себя само отражение, первичное отражение, вторичное отражение и отражение окружающей среды.
Reflected Material Color
Отраженный цветовой параметр материала. Чистое, постоянное отображение цвета или отображение текстуры. Используется как отражающий matte, чтобы определить где нужно явно показать отражения (цветные или не цветные)
Пасс преломления. Включает, первичное преломление и преломление окружающей среды.
Refraction Material Color
Параметр прозрачности цвета материала. Чистое, постоянное преломление цвета или отражение текстуры. Используется как преломление / прозрачность matte чтобы определить, где нужно явно показать преломление (цветные или не цветные).
Эффекты рассеивания, возникающие в результате материалов рассеяния. Атрибуты (например, Scatter Radius , Scatter Color )
Scene Volume
Рендер пасс теней.
Зеркальное затенение. Отражающие компоненты реализованы по разному в зависимости от шейдера. Например Phong, PhongE, Blinn, и Anisotropic materials производят зеркальное затенение по разному
Тот же Specular только без теней.
Translucence
Показывает заднее затенение на лицевой поверхности
Translucence Without
Подобно Translucence но без теней.
UV pass преобразует UV значение Красного и зеленого канала и создает растровую версию UV пространства. Использовать UV pass , вы можете при композитинге для замены текстуры в 3d визуализации, без необходимости повторного рендера.
Пометка: При визуализации этого прохода требуется сохранить файл в формате OpenEXR
PS. На картинке.
1. Оригинальный 3 d рендер
2. Заменяемая текстура
3. Отрендеренный UV пасс
4. Текстура вставленная в 3 d рендер при композе.
World Position
Воссоздание 3 d объекта по рендер пассу WPP
World Position Pass преобразует позицию (X, Y, Z) в значения R, G, B. Используйте этот пасс для восстановления 3 d объекта в рабочем процессе композитинга.
Пометка: При визуализации этого прохода требуется сохранить файл в формате OpenEXR
Формула сложения пассов
Простая версия.
Beauty = diffuse_result + indirect_result + spec_result +
refl_result + refr_result + tran_result +
Более продвинутая
Beauty = diffuse_level * (diffuse_raw + (indirect_raw * ao_raw)) +
Материалы которые видят пассы
Как оказалось mental ray не видит большинство своих шейдеров. То есть видеть видит и даже рендерит, но пассы не делает.
В данном случае если вы уже использовали шейдеры mental ray которые не поддерживают пассы, следует сделать следующее.
Зайти в каждый материал и апдейтнуть до версии с допиской passes
Вот и все теперь ваш шейдер поддерживает пассы.
А почему некоторые объекты черного цвета?
По идеи шейдеры с допиской passes должны поддерживать пассы, но и тут подвох, надо смотреть, какой шейдер какие пассы поддерживает. Внизу приведен список материалов и пассов.
Поддержка пассов
mia_material_x_passes
Споддержкой pass contribution map: Diffuse, Diffuse Without Shadows, Direct Irradiance, Direct Irradiance Without Shadows, Raw Shadow, Shadow, Specular, Specular Without Shadows, Translucence, Translucence Without Shadows.
Без поддержки pass contribution map: Incandescence, Indirect, Reflection, Refraction
Partial pass contribution map support (Diffuse pass matches pass conribution maps): Beauty
mi_metallic_paint_x_passes
Ambient Material Color, Beauty, Diffuse, Direct Irradiance, Indirect, Reflection, Specular
misss_fast_shader_x_passes
Beauty, Diffuse, Direct Irradiance, Specular
mi_car_paint_phen_x_passes
Ambient Material Color, Beauty, Diffuse, Direct Irradiance, Indirect, Reflection, Specular
Насколько я понял из своих тестов, дописку Raw носят те пассы которые выводят чистый пасс без какой либо примеси сторонних пассов.
Пассы в ручную
Некоторые пассы в mental ray не совсем идеальны и порой выдают не то, что от них требуется, поэтому всегда можно создать пасс вручную, для этого конечно потребуются более углубленные знания mental ray .
PS . Статья еще не совсем полная, хочется узнать более подробно про каждый пасс. Как с ним работать? Для чего он нужен? Поэтому я буду писать продолжения в несколько частей, а также обновлять эту по мере поступления и изучения информации.
Всем спасибо за интерес к данной статье, подписывайтесь на сайт, а также не забывайте про лайки если статья вам была полезна.
Читайте также: