что такое нормали в blender

Правильное создание карты нормалей в Blender

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

Введение в карты нормалей

Гораздо проще понять о чем речь, посмотрев на вот эту картинку:

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

Тут изображен стрит-арт художника, который использует эмуляцию цвета тени для создания оптической иллюзии объема на плоской дороге. То есть, по факту деталей нет, там плоская дорога, но если цвета настроены правильным образом — человеческий глаз начинает видеть иное.

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

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

Такой меш имеет высокую производительность за счет низкой детализации и подходит для мобильных игр, в которых очень важна малая детализация. Но он выглядит очень плохо. Карта нормалей же позволяет, сохранив такую низкую детализацию(3000 полигонов) и производительность, передать, тем не менее, все элементы оригинальной модели в точности. Так делают в большинстве современных игр, в том-же World of Warcraft, к примеру.

Подготовка среды в Blender

У вас изначально должен быть включен Cycles Renderer и задана хоть какая-то текстура для модели. Так-же должна быть сама модель + ее 3d скульпт или иной высокополигональный объект, с которого мы будем считывать нормали. Обе модели должны находиться в центре, с точным наложением друг на друга. У низкополигональной модели уже должна быть UV развертка.

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

Теперь создадим файл текстуры для нашей карты нормалей.

Делается это в UV/Image Editor’е, который я разместил слева вверху.

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

Чем больше размер карты нормалей, тем более качественно передаются детали и тем больше она потребляет видеопамяти. Вполне достаточно 1024 пикселей, но вы можете сделать и 4к текстуру, если хотите, все равно весить она будет очень мало.

Теперь надо в Node-Editor’е добавить нашу текстуру как нормаль используя шейдер NormalMap.

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

Добавьте примерно такую цепочку шейдеров:

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderВажно при этом задать пространство Tangent для карты нормалей и выбрать UV пространство из выпадающего списка. Далее стоит выбрать текстуру из выпадающего меню ту, которую мы создали выше.

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

И не забыть выставить тип данных на Non Color Data.

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

Создание карты нормалей

Теперь мы готовы срисовать карту нормалей с высокополигонального меша и автоматически применить ее на низкополигональный объект. В правом меню Blender’а найдите внизу вкладку Bake(Запекание, если я не ошибаюсь) и выберите там тип Normal.

Выглядеть по умолчанию это будет вот так:

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

Тут у нас немного кривые настройки и с этими настройками карта сайта будет иметь кучу черных артефактов и прочих сюрпризов. Я, когда первый раз создавал карту нормалей, был просто в шоке от творящегося безумия. Поиски в интернете решений, к сожалению ничего не дали, поэтому я пишу этот пост. В частности бесили черные бугры на объекте и прочие явления. Сейчас покажу, вы сами можете это увидеть, если выделите в Outliner’е сначала высокополигональный объект, а потом его ремеш, вот так:

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

А потом нажмете на кнопку Bake. Результат будет таким:

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

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

К счастью, решение этим проблемам было мной найдено посредством множественных проб и ошибок. Надо выставить для запекания настройку Cage с более-менее большим цифровым значением. Вот так:

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderЕсли теперь нажать на кнопку Bake все пойдет как надо.

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

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

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

Как вы видите все спорные детали были сглажены и идеально подогнаны, за счет правильной игры теней, всего-лишь.

Так-же улучшена детализация ушей, шеи, пальцев и прочих элементов, хотя они и остались квадратными по контуру:

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

Хотя отдельные мелкие косяки все-же остались. Связаны они с… да шут его знает с чем связаны, они просто есть. Вот например, пальцы ног:

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderА вот аналогичная проблема на руках.

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

Так-же она имеется в ноздрях носа.

К счастью стандартные инструменты Blender’а позволяют решить такую проблему.

Уточнение карты нормалей

Для уточнения карты нормалей мы будем использовать встроенный в Blender режим Texture Paint. Чтобы его включить щелкните по шейдеру карты нормалей, а потом в главном окне Blender’а перейдите в TexturePaint mode.

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

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

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

Дальше просто водим ей по артефактам. Вот так выглядит стопа после обработки.

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

Таким-же точно методом правим остальные проблемные места.

Скачать

Вот в общем-то и все секреты, которые я хотел вам поведать. Скачать файл проекта вы можете ниже. Файл проекта находится в папке Blends. Лицензия — Creative Commons.

Источник

Blender, 1000 мелочей

Базовые приёмы работы с Blender версии 2.79.

Общее

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

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderТипы выбора геометрии:

Кнопка в редакторе на панели сверху справа отвечает за используемый рендер. По умолчанию там выставлен Blender Render, но желательно его вовсе не использовать и переключать на Cycles Render. При этом у материалов, света и ещё некоторых настроек понадобится нажать кнопку Use Nodes.

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderВключение Use Nodes:

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderРежимы отображения:

Для стандартного режима solid в менюшке справа в графе Shаding можно включить маткапы, для удобства. Это специальный шейдер, применяющийся сразу на всю геометрию в кадре и не влияющий на итоговый рендер. Обычно маткап стоит включать при скульпте, для большей наглядности.

Ещё несколько кнопок на главной панели отвечают за смещение, поворот и размер объектов (можно тащить за ось или за центр). В Blender большинство возможностей продублировано горячими кнопками (и для быстроты стоит преимущественно пользоваться ими). Для вышеупомянутых функций выбраны такие горячие кнопки: G (переместить), если после этого нажать кнопку нужной оси (X, Y или Z), то перемещение пойдёт по ней. R (поворот). S (общий размер).

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderОсновные действия:

Чтобы смесить объект на фиксированное расстояние можно нажать G, затем (не двигая мышкой), букву нужной оси и в конце набрать число пунктов, на которое нужно передвинуть объект. То есть должна получится запись вида «GX20» или «GZ+100» или «GY-2» или «GX3.25» и так далее. Сдвигая в положительном направлении оси «+» можно не писать.

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

Параметры при добавлении:

Горячие клавиши на цифровой клавиатуре управляют перспективой и видами. Numpad 5 переключает между ортографическим и перспективным режимом камеры. Numpad 7 выставляет вид сверху и так далее.

Объекты на сцене освещены общим фоном (background), а также источниками света. Цвет и сила первого настраивается во вкладке с синим кружком (World). У источников освещения есть специальная вкладка с настройками, появляющаяся когда они выбраны.

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderДаже если в сцене нет источников света, она освещается фоном (если не убрать его силу на 0)

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

Перенос центра объекта к курсору:

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

Редактирование

что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blenderМожно не пользоваться опциями в Tools, запомнив нужные сочетания клавиш, но на первых порах эта вкладка (и пара вкладок пониже) пригодятся

Иногда требуется выделить либо удалить подобные разрезы. Для этого можно отметить несколько точек разреза и обратиться к меню Select, выбрав Edge Loop. Теперь разрез можно двигать или удалить, нажав Delete и указав нужный вариант.

Горячая кнопка I (i) создаёт грань/грани внутри выделенной области, после чего можно отрегулировать размер.

Клавиша Delete позволяет выбирать способы удаления геометрии. Что-то можно убрать совсем, что-то растворить/объединить.

Иногда при экспорте модель может неправильно затеняться. Скорее всего дело в неправильных нормалях. Включить отображение нормалей можно в подразделе Mesh Display, вытянув окно справа. Во вкладке Shading окна слева есть способы правки нормалей.

Для создания заполняющих граней (рёбер) по точкам используется клавиша F. Если выделен замкнутый контур, то по Alt F можно сделать автозаполнение его треугольными гранями.

Чтобы отделить элемент геометрии в отдельный объект, нужно выделить его и нажать P, выбрав вариант Selection.

Источник

Трудности и «глюки», возникающие у новичков в программе Blender, и как их преодолеть

Blender это замечательный бесплатный 3d пакет, который делает возможным и доступным осуществление гигантского количества проектов, и, как человек, прошедший путь от абсолютного новичка в 3d до преподавателя данной программы в учебном центре «Специалист» в Москве, я могу поделиться несколькими типами, которые помогут преодолеть несколько несложных, но каверзных моментов, которые хоть и очень просты, но далеко не очевидны, и могут заставить просидеть несколько часов в поиске решения проблемы.

Перевод программы и подсказок

Для того чтобы активировать подсказки, если они не работают, нужно зайти в меню Edit-Preferences-Interface. Поставить галочку напротив Tooltips.

Для активизации перевода подсказок в том же разделе открываем выпадающее меню Translation, ставим русский язык, и галочку напротив Affect Tooltips.

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

Забагивание области просмотра

Находится эта функция в меню View-Frame selected.

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

Clipping

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

    устраняется заходом в боковое меню нажатием кнопки N, и во вкладке view в выпадающем меню view, уменьшаем значение Clip Start (Например 0,001)

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

    Нормали

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

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

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

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

      Развернуть нормали нам помогут функции Mesh-Normals-Flip (или recalculate outside)

      Также мы можем выделить все полигоны объекта (шорткат А) и нажать Recalculate outside чтобы blender автоматически пересчитал все наши полигоны наружу.

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

      За направлением нормалей лучше следить.

      Двойные вертексы

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

      Карты нормалей

      Проблема в том что карты нормалей, в вышеперечисленных, и не только, программах, запекаются c использованием DirectX, а blender работает с OpenGL. Если говорить простым языком то нам нужно развернуть зеленый канал на карте нормалей. Делается это следующим образом:

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

    Надеюсь, что данный пост поможет людям, осваивающим блендер, проскочить несколько часов поиска решения проблем!

    Источник

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

    что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blender
    Если вы когда-либо пытались запечь нормали в 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 предназначена для запекания информации о нормалях вашего материала в карту нормалей. Поэтому вы должны добавить ее непосредственно перед процессом запекания и затем удалить из своего материала.
    что такое нормали в blender. Смотреть фото что такое нормали в blender. Смотреть картинку что такое нормали в blender. Картинка про что такое нормали в blender. Фото что такое нормали в blender
    Входной слот Normal соответсвует тому же входу, что и у стандартных BSDF-шейдеров, и он является нормалью, которую вы хотите запечь. Есть два выходных слота: цвет sRGB и Non-color. Вы должны использовать тот же выход, что и цветовое пространство текстуры, которую вы запекли. По умолчанию Blender создает текстуру в цветовом пространстве sRGB.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Источник

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

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