что такое запекание в блендер

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендерuss_auriga

Пакос Чивалдори

Начало http://uss-auriga.livejournal.com/694009.html
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

01. Переносим на другой слой или удаляем со сцены все источники света (можно не удалять, а просто снять видимость и видимость при рендере)

02. На вкладке World устанавливаем Color в белый. (Или, думаю, можно в серый, в зависимости от интенсивности/яркости дифьюза который хотим получить). Там же отключаем Ambient Occlusion, если он включен.

03. Жамкаем Combined (хотя он и так стоит по умолчанию) на вкладке Bake

04. Запекаем. Видим, что красный дифьюз и белый глосси запеклись замечательно в один проход. Фактически, думаю, у нас просто один большой и жирный дифьюз запекся. Потому что параметрами глосси уже управляет шейдер внтури Cycles или другого рендера. Это уже не просто цвет самого объекта, а взаимодействие с освещением, но это детали.

05. Количество сэмплов на вкладке Sampling при запекании дифьюза и глосси можно оставлять дефолтным или вообще ставить равным 1 (одному).
Bake the ‘color’ pass (Diffuse Color, Glossy Color, etc). This will bake the only the color supplied to the shader, not its interaction with illumination. Because of that, you can set the samples 1.

UPD: Так, а что если вывести MixShader в еще один дифьюз? И уже его запекать. По идее тогда запечься должно нормально с Diffuse Color, а не в Combined режиме где мы выставляем World в серый цвет для достижения нужного эффекта. Это не всегда дает адекватный дифьюз, на мой взгляд. Он то пересвечен, то наоборот.

UPD2: Нифига. Что же, делаем ход конем. Тупо, на время запекания, заменяем все Glossy шейдеры на Diffuse (Или же наоборот, но тогда запекаем Glossy Color) c таким же цветом и запекаем Diffuse Color.
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Получаем «чистый» Diffuse, такой, какой он указан в шейдере, а не твикнутый до нужного состояния с помощью цвета ноды World
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Либо, запекаем по отдельности, сначала Glossy Color потом Diffuse Color и совмещаем в фотошопе, как уже и было сказано, да.

UPD3: В принципе, получается абсолютно один хрен, что запекать чистый Diffuse или Glossy с помощью Glossy Color или Diffuse Color или запекать Combined рендер с World выставленным в белый. Сильно подозреваю, что Cycles при запекании Diffuse Color или Glossy Color точно так же по умолчанию выставляет World в белый.

Источник

Blender — Заметка о запекании нормалей. Baking normals.

Данная заметка актуальна для Blender 2.79 и младше.

Примечание: Н ейтральное значение нормали по цвету: красный канал — 128; зелёный канал — 128; синий канал — 255.

В появившемся окне настроить параметры:
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

Color — любой. Позже он будет заменён на содержимое запечённой текстуры нормали.

Alpha — отключить, не требуется в большинстве случаев.

Generated Type — Blank, если нужна просто текстура нормали.

Настроить параметры запекания в Properties / Render / Bake.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

Нормали вершин должны быть настроены (применено сглаживание, обозначены жёсткие рёбра).

Сначала выделить высокополигональную модель, а потом добавить в выделение низкополигональную. Главное не перепутать.

Ещё бывает, что с нормалью всё совсем не так:
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

В данном случае жёлтый цвет указывает, что лучи не пропекли геометрию. Необходимо проверить длину лучей ( Ray Distance ) или корректность Cage, если применяется.

После сохранения стоит обратить внимание, что в N-панели UV/Image Editor в выпадающем списке Source вместо Generated стало Single Image и появился путь до сохранённой текстуры:
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

Источник

Запекаем карты нормалей в текстуру и ленивое текстурирование 3D модели через авторазвертку и запекание текстуры в Blender для игрового движка Unity3D

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

В данной статье описывается способ запекания карты нормалей в текстуру с одной 3D модели на другую 3D модель в случае, если была утеряна высокополигональная 3D модель, а на низкополигональной модели изменилась uv развертка. Во второй части статьи рассматривается простое создание uv развертки автоматически, без выделения швов на 3D модели, при помощи инструмента Smart UV Project в Blender для дальнейшего использования в игровых движках на примере Unity 3D.

Об описываемой в данной статье возможности запекания карт (дуффузных, нормалей, отражений, затенений и т.д.) в текстуру с одной модели на другую я упомянул в обзоре программы для цифровой скульптуры Sculptris от Pixologic.

Бывает, что у разработчиков игр и 3D художников возникают ситуации, когда для низкополигональной модели (low poly) осталась карта нормалей или текстура (диффузная карта) от высокополигональной 3D модели (high poly), однако uv развертка low poly модели и uv развертка, по которой была запечена карта нормалей, отличаются. Такое может случиться, если у вас потерялась high poly моделька (а вы по каким-то соображениям изменили развертку low poly 3D модели), но осталась low poly модель. Этот же способ отлично подойдет для запекания карты нормалей с существующей лоуполи модели на другую новую 3D модель или болванку персонажа, которые схожи своей геометрией. Данный способ позволяет избежать мытарства в GIMP’е с вырезанием кусков текстуры (карты нормалей и пр.) и перенесением их на новые карты другой 3D модели. В некоторых случаях, конечно, не обойтись без использования NDO painter и DDO Painter из набора Quixel SUITE или GIMP‘а, чтобы подправить получившиеся перезапеченные карты, да и просто для того, чтобы добавить какие-то отличительные штрихи своей 3D модели. Также способ запекания карт с одной модели на другую (или запекание диффузной карты из наложенной в Blender’е текстуры на эту же 3D модель) в совокупности с автоматическим созданием uv развертки является отличным способом «ленивого» текстурирования.

Поскольку напрямую (через меню Bake) запечь с high poly модели на low poly 3D модель карту нормалей нет возможности, а запекание карты нормалей в карту нормалей невозможно, то выходом из ситуации является запекание карты нормалей с одной 3D модели на другую 3D модель, причем, какая развертка у обоих персонажей — абсолютно не важно.

Давайте разместим на сцене 3D модели: с которой будем запекать карты и 3D модель, на которую будет производиться запекание.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показаны две модели с разными uv развертками.

Для того чтобы карта нормалей запекласть с одной 3D модели на другую, необходимо, чтобы у целевой модели имелась uv развертка, как показано в верхней части рисунка, представленного выше.

Теперь давайте подготовим 3D модель-донора. Создайте материал 3D модели-донору, с которой будет запекаться карта нормалей, если он не был создан ранее. Назначьте модели-донору имеющуюся у вас карту нормалей в качестве текстуры (не в качестве карты нормалей, как обычно это делается).
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показан процесс добавления материала и текстуры 3D модели-донору. В данном случае, в качестве текстуры (диффузной карты) используется карта нормалей.

Для того чтобы посмотреть назначенную 3D модели текстуру в одном из окон 3D вида, поместите курсор мыши (не 3D курсор) в окно 3D вида, в котором хотите увидеть затекстуренную модель, и нажмите сочетание клавиш Shift+Z, чтобы включить в окне 3D вида отображение шейдеров, полностью “отрендеренную” 3D модель.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показана визуализация 3D модели с использованием шейдеров Rendered (справа вверху), справа внизу 3D модель отображается с применением материалов (Material) слева вверху показано отображение 3D модели в режиме Solid и Wareframe, а слева внизу показана uv развертка целевой 3D модели, для которой будет запекаться карта нормалей в текстуру. Режимы отображения 3D модели вы можете переключить, если нажмете на иконке сферы, расположенной под каждым из окон 3D вида.

Чтобы открыть окно uv развертки в одном из окон 3D вида, выберите иконку пейзажа слева под желаемым окном для отображения uv развертки и выберите в открывшемся меню Типа Редактора (Editor Type) UV/Image Editor.

Также для успешного запекания карт необходимо изображение, в которое карты и будут запекаться. В меню создания нового изображения (New Image) введите имя и параметры изображения, в которое будет производиться запекание. После создания изображения фон uv плоскости зальется черным цветом.

Выберите 3D модель, на которую будет запекаться текстура карты нормалей, перейдите в режим редактирования меша (клавиша ‘Tab’), выберите все составные элементы меша (клавиша ‘A’), чтобы показать uv развертку в окне редактора развертки.
Если у вашей целевой модели есть uv развертка, вы увидите ее в окне UV/Image Editor, если нет вы либо ничего не увидите, либо увидите нагромождение вершин и ребер, так что вам придется сделать для своей целевой модели uv развертку (можно даже автоматически созданную).

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показано меню экспорта uv развертки (слева), а справа показано меню создания развертки и параметры для настройки “автоматической” развертки.

Допустим, развертка модели присутствует или вы ее создали. Еще одним условием успешного запекания текстуры/карты нормалей в текстуру необходимо, чтобы обе модели находились в одной точке, причем целевая 3D модель, для которой будет запекаться карта нормалей, должна по возможности покрываться, так называемой, моделью-источником или моделью-донором, т.е. 3D моделью с существующей картой нормалей.

После того как вы совместили 3D модели и подогнали модель-донора под целевую модель или наоборот, целевую модель под модель донора (последний вариант иногда предпочтительней, поскольку карта нормалей не будет деформирована при изменении геометрии high poly модели, но еще лучше подгонять как low poly, так и high poly, так сказать, навстречу друг другу, как решения задач по физике из учебника с ответами), пришло время запечь текстуру.
Обратите внимание, что если вы изменяли геометрию целевой 3D модели в режиме редактирования меша, то вам, возможно, потребуется обновить ее uv развертку, «переразвернуть» ее, поскольку в противном случае запеченная карта нормалей может запечься с искажениями на целевую модель. Если же вам нравится созданная uv развертка и компоновка uv островов целевой модели, то перед обновлением развертки закрепите/запиньте ее вершины (от слова pin — прикалывать), выделив все вершины развертки в окне UV/Image Editor и нажав клавишу ‘P’. Отменить закрепление вершин развертки – Alt+P. Закрепленные вершины развертки маркируются красным. Вы можете закреплять не только все вершины развертки, но и uv острова и отдельные вершины или группы вершин.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показаны совмещенные 3D модели, подготовленные для запекания карт/текстур. Вершины uv развертки целевой модели “запинены”. Также на рисунке зеленым контуром выделена кнопка переключения режима редактирования uv развертки, позволяющая включать режим синхронного редактирования развертки, т.е. uv развертка будет отображаться без необходимости выделения вершин 3D модели в окне 3D вида.

Для запекания текстуры с одной модели на другую необходимо в режиме объектов выделить сначала 3D модель-донор, а затем с зажатым Shift’ом выделить
целевую модель. После этого нажмите клавишу ‘Tab’, чтобы перейти в режим редактирования меша целевой 3D модели (и если у вас отключен синхронное редактирование uv развертки, выделите все ее вершины в окне 3D вида), чтобы видеть, как будет запекаться карта.

Чтобы запечь что-то с чего-то на что-то, например, карту нормалей, как в данном случае, с одной 3D модели на другую, откройте вкладку Renderer в меню свойств (на рисунке ниже выделено оранжевым), и в нижней части открывшегося окна выберите вкладку Bake. Выберите Texture в раскрывающемся списке. Выставьте значение параметра Margin, отвечающего за размер контура вокруг запекаемой текстуры таким (по умолчанию 16 пикселей), чтобы запеченная текстура выступала за края островов uv развертки, но не залезала на другие острова.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показано меню запекания карт с выставленными параметрами для запекания текстуры с одной 3D модели на другую 3D модель.

Нажмите кнопку Bake, чтобы запечь карту нормалей в текстуру с модели-донора на целевую модель. Вы увидите, как сетка uv развертки начнет заполняться картой нормалей. В верхней части Blender’а вы увидите состояние данного процесса в процентах.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показана карта нормалей с которой производилось запекание (слева) в текстуру (справа).

Как только процесс запекания завершится, необходимо сохранить полученную карту нормалей (и экспортировать uv развертку (чтобы удобней было текстурировать 3D модель, если вы этого еще не сделали).

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показано меню сохранение запеченной карты нормалей.

Blender не сохраняет автоматически ничего, включая изменения в геометрии 3D модели, ее положение и ориентацию в трехмерном пространстве, запеченные карты (диффузную карту, карту нормалей, ambient occlusion…) и т.д., причем запеченные карты и результаты раскрашивания в Blender’е (hand painted texturing) необходимо сохранять в окне редактирования UV/изображения (UV/Image Editor), как показано на рисунке выше, поскольку сохранение файла сцены через Ctrl+S не сохраняет упомянутые изменения. Настройки материалов с назначенными текстурами, геометрию меша, его позицию, модификаторы, настройки освещения и камер — это да, а изменения и создание самих текстур — нет. Обычно, двух-трех потерянных текстур, отрисованных вручную, хватает, чтобы запомнить про необходимость сохранять их отдельно.
Итак, новая карта нормалей сохранена, осталось лишь использовать ее на оригинальной low poly модели.
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке: слева – оригинальная 3D модель, справа – 3D модель с перезапеченной картой нормалей.

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

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показана визуализированная 3D модель в Blender’е, для которой была перезапечена текстура с одной 3D модели в текстуру другой.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показаны две текстуры: оригинальная и перезапеченная.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке: слева – оригинальная 3D модель, справа – 3D модель с перезапеченной диффузной картой (Albedo).

Помимо описанного метода существует ещё один способ восстановления карты нормалей для 3D-модели — через превращения карты нормалей в карту высот с последующим её использованием на низкополигональной модели в качестве карты смещений (displacement map). Данный метод будет описан в отдельной статье///.

P.S. Про ленивое текстурирование.

Blender позволяет использовать текстуру на 3D модели без uv развертки.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показана 3D модель столба, затекстуренного в Blender без создания uv развертки.

В отличие от Blender’а Unity3d не рендерит текстуру на 3D модели без uv развертки. Об этой особенности Unity 3D и о других артефактах, возникающих при рендере 3D моделей в Unity можно почитать в статье Ошибки в отображении 3D моделей в Unity 3D. Розовый, черный, белый цвет 3D модели в Unity. Проблемы с материалами, шейдерами, uv разверткой и кешем.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

Итак, в Blender’е можно создать материал для 3D модели без uv развертки и назначить ему текстуру. И все будет отлично отображаться. Но как же перенести 3D модель в Unity, затратив на это минимум усилий? В Blender можно воскользоваться одним из инструментов создания автоматической uv развертки “Smart UV Project”. Поиграв некоторое время с параметрами данного типа uv развертки, вы, в конечном счете, подберете нужные.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показана созданная uv развертка при помощи инструмента Smart UV Project. Также обратите снимание на правую часть рисунка, в которой показано меню способа наложения текстуры, т.е. согласно каким координатам: оконным, uv, объекта и т.д. А под этим меню есть еще одна волшебная опция — это способ проецирования текстуры, включающий плоское проецирование текстуры, цилиндрическое/Tube, кубическое и сферическое. Благодаря таким настройкам текстуру можно разместить почти всегда так, как хочется. Если хотите, чтобы текстуры накладывались без разрывов и стыков, то ваш путь лежит к изучению текстурирования или использованию упомянутых в начале статьи пакетов для текстурирования и работы с изображениями, а также продуктов от Adobe, Allegorithmic и других.

3D модель уже можно экспортировать для использования в Unity3D, а можно еще и запечь, примененную к 3D модели текстуру, ведь в Unity по умолчанию вы можете использовать лишь один способ наложения текстуры на 3D модель – согласно uv координатам. Но вы можете в Blender’е выбрать наиболее подходящий способ расположения текстуры на поверхности 3D модели (способ по оконным координатам/Window является очень интересным) и запечь отображаемую на 3D модели текстуру так, как вы ее видите.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

На рисунке показано меню запекания текстуры. Отличие от предыдущего метода заключается в том, что текстура натягивается на саму 3D модель и флажок рядом с опцией запекания с одной 3D модели на другую “Selected to Active” должен быть снят.

Осталось лишь экспортировать 3D модель и использовать ее в Unity3D.

Источник

Запекание карты нормалей из материала в Cycles

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Если вы когда-либо пытались запечь нормали в Blender, используя движок рендеринга Cycles, вы, вероятно, замечали следующее поведение: процесс запекания использует только информацию о геометрии меша и игнорирует вариации нормалей, созданные вашим материалом. Это означает, что если вы используете карту нормалей и/или карту рельефа, то они не будут учитываются.

Если мы подумаем об этом, это не должно быть достаточно удивительно: поскольку Cycles основан на системе нодов, мы можем создавать материалы с бесконечным числом комбинаций, мы можем даже использовать одну карту нормалей для диффузного шейдера, а другую для глянцевого шейдера. Он обеспечивает полную свободу творчества… но это также означает, что Cycles не может определить, какая часть вашего материала связана с вычислением нормалей. Таким образом, инструмент запекания не имеет другого выбора, кроме как полностью игнорировать эффекты, созданные вашим материалом, когда вы выбираете тип запекания Normal.

Слишком большая свобода приводит к разочарованию! На самом деле, запекание нормалей, включая эффекты материала действительно полезны по крайней мере по двум причинам:

Несмотря на то, что это не так просто, вы, все-таки, можете создать карту нормалей, включая эффекты от вашего материала в Cycles. Я нашел несколько способов позволяющих добиться этого. Все они, насколько я могу судить, являются математически правильными (иначе итоговая карта нормалей создавала бы немного иной эффект, нежели исходный материал). С моей точки зрения, наиболее эффективным способом было создание специальной группы нодов в Cycles. Я назвал ее normal to map. В этой статье я покажу, как работать с этой группой нодов и обосную ее математическую сторону.

Если вы просто хотите использовать normal to map, вы можете загрузить blend-файл. Файл содержит очень простой пример и саму группу нодов. Этот файл лицензируется под CC0 1.0 Universal, поэтому вы можете свободно использовать эту группу для своих собственных целей.

Далее в этой статье, я буду предполагать, что вы знакомы с Blender, Cycles и инструментом запекания в Blender.

Как использовать группу normal to map

Группа normal to map предназначена для запекания информации о нормалях вашего материала в карту нормалей. Поэтому вы должны добавить ее непосредственно перед процессом запекания и затем удалить из своего материала.
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Входной слот Normal соответсвует тому же входу, что и у стандартных BSDF-шейдеров, и он является нормалью, которую вы хотите запечь. Есть два выходных слота: цвет sRGB и Non-color. Вы должны использовать тот же выход, что и цветовое пространство текстуры, которую вы запекли. По умолчанию Blender создает текстуру в цветовом пространстве sRGB.

Я рекомендую вам использовать формат Non-Color: требуется меньше вычислений (не применяется гамма-коррекция), поэтому вы избежите некоторых проблем округления при расчетах. Вы можете изменить цветовое пространство вашей текстуры на панели свойств в редакторе UV/Image.
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

Пошаговая инструкция использования группы normal to map:

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Группа создает соответствующие цвета для представления информации о нормалях. Поэтому вы должны использовать шейдер Emission, как если бы объект излучал информацию о них. Поскольку чистый шейдер Emission не подвержен влиянию светлячков и отскокам света, вы можете использовать всего-лишь один сэмпл для рендеринга. Это означает, что процесс запекания экстримально быстрый!

Улучшение производительности

Создание одной карты нормалей для замены части материала может дать интересные улучшения. Рассмотрим изображения ниже. Для левой части в материале тела используется карта нормалей, карта рельефа и процедурная текстура для генерации дополнительных вариаций нормалей. Для правой части я запек все вышеперечисленный текстуры в одну карту нормалей с помощью группы Normal to map. Я сохранил результат в файл и создал гораздо более простой материал, используя запеченную карту нормалей.

что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендерчто такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер

В таблице ниже приведены некоторые данные о визуализации:

МатериалВремя рендерингаПик используемой памяти
Оригинальный материал16:031371 Mб
Запеченная карта нормалей13:55350 Mб

Для данной модели использование более простого материала оказывает значительное влияние на производительность!

Известные проблемы

Из-за внутренних вычислений вы можете получить незначительные изменения между исходными нормалями, и вычисленными с помощью группы нодов Normal to map. Поскольку эти отличия минимальны, они совершенно незаметны.

Группа Normal to map сильно зависит от вращения и масштаба вашей модели. Не забудьте применить эти преобразования перед запеканием.

Самая раздражающая проблема исходит не от самой группы, а от процесса запекания. Если вы внимательно посмотрите на два изображения выше, они покажутся вам идентичными… но это не так! Если вы откроете эти изображения на отдельных вкладках при 100%-ом разрешении и будете переключаться между ними, вы заметите странный эффект: некоторые детали, похоже, скользят по поверхности! Посмотрите на гифку ниже, чтобы увидеть этот эффект:
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Мне потребовался день, чтобы убедиться в том, что этот эффект не был создан группой Normal to map! На самом деле проблема связана с трансформацией карты рельефа в карту нормалей. Если обобщить, карта рельефа хранит информацию о высоте, в то время как карта нормалей сохраняет изменение высоты. Это означает, что если текстура содержит три пикселя для отображения карты рельефа, каждый пиксель представляет собой разную высоту. Для достижения такого же результата с помощью карты нормалей текстура должна содержать не менее двух пикселей для кодирования изменения высоты. Из-за этого мы и получаем небольшой сдвиг между картой рельефа и картой нормалей.
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Поэтому, когда мы хотим преобразовать информацию о карте рельефа в информацию о карте нормалей, мы получаем смещение информации на финальной текстуре. Один из способов избежать этого — использовать текстуру с более высоким разрешением для окончательного запекания. Но это не всегда желательно.

Поэтому, если вы планируете использовать группу Normal to map, держите в голове этот нюанс, особенно если вы создаете рендер модели крупным планом.

Как работает группа Normal to map

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

Очевидно, что карта номралей не имеет ничего общего с цветом! Текстура нормалей — это изображение, и мы можем открыть его в редакторе изображений. Но это не изображение, потому что каждый пиксель (или, точнее, каждый тексель) не является цветовой информацией: это информация о нормалях.

Что такое нормаль? Нормаль — это вектор, перпендикулярный поверхности. Почему это так важно? Потому что нормаль используется, чтобы определить, где находиться лицевая сторона грани, а где тыльная. Что еще более важно, нормаль используется практически в любом шейдерном ноде. Например, чтобы определить, как свет отскакивает от поверхности. Если мы можем изменять ориентацию нормали, то, тем самым мы можем изменить способ отражения света, создать поддельные царапины и имитировать не существующую геометрию. Это и есть то, для чего используется карта нормалей.

Текстура нормалей содержит направления нормалей, учитывая исходные их направления (0,0,1). Это означает, что координаты должны быть в касательном пространстве. И в этом суть: Cycles представляет информацию о нормалях в мировом пространстве. Чтобы запечь карту нормалей, нам нужно преобразовать вектора нормалей из мирового пространства в касательное пространство. Итак, мы должны выполнить следующую операцию:

Где Nws — вектор нормали в мировом пространстве (тот, который создается материалом), M — матрица преобразований из мирового пространства в касательное пространство, а Nts — вектор нормали в касательном пространстве (тот, который мы хотим получить). Матрица трансформации M представляет собой матрицу 3×3, составленную в линию касательным вектором, бикасательным вектором и исходным вектором нрмали грани:
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Cycles обеспечивает нас касательным вектором и вектором нормали для текущей грани. Мы можем легко вычислить бикасательным вектор как перекрестное произведение вектора нормали и касательного вектора. Однако Cycles не поддерживает матричные операции, но мы можем легко разложить эти операции:
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
И создать набор нодов для выполнения вычислений:
что такое запекание в блендер. Смотреть фото что такое запекание в блендер. Смотреть картинку что такое запекание в блендер. Картинка про что такое запекание в блендер. Фото что такое запекание в блендер
Все это могло бы быть намного проще, если бы нод Vector Transform работал с касательным пространством… может быть интересным улучшением в будущем.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *