Зачем нужна CoronaNormal?
Карта нормалей – обязательный атрибут качественного материала на рендере. Но почему-то эта текстура подключается только через карту CoronaNormal. Без нее программа ругается, что отображение будет некорректным. Что же делает этот волшебный элемент? Давайте разбираться.
Полное обучение: «3ds Max и CORONA для дизайнеров интерьера и визуализаторов»
Гамма изображения
Если мы подключим карту нормалей через CoronaNormal, то выскочит ошибка. И в тексте будет написано, что наша картинка имеет некорректную гамму, из-за чего могут возникнуть артефакты.
Гамма – это числовое значение, которое нужно для коррекции яркости пикселей, чтобы выдать максимально корректную картинку. Чтобы ее внешний вид практически не менялся при переходе между устройствами. Чем меньше гамма, тем светлее изображение и лучше видны детали.
В 3ds Max мы используем два значения гаммы: 1 и 2.2.
1 – это линейная гамма, без коррекции. Эта линейная зависимость между двумя значениями яркости. Первое значение, входное, мы показываем программе, чтобы она работала с картинкой. А второе значение, выходное, это то, которое покажет программа нам.
2.2 – скорректированная гамма. Устройства вывода изображений не идеальны. Поэтому, чтобы показать картинку такой, какой она должна выглядеть, ее цвет надо скорректировать. И если ее не включить, то будет следующее:
[banner-art]
Гамма текстуры
Любой картинке, которую мы видим глазами, нужна коррекция гаммы. И в 3ds Max любая картинка подгружается в гамме 2.2 и корректируется. Но карту нормалей мы напрямую не видим. Она нужна только для внутренних расчетов материала. И здесь коррекция не нужна, она только искажает вид карты нормалей и нарушает расчеты.
Когда мы ставим галочку Add Gamma to Input, мы исправляем гамму карты нормалей на 1. И тогда картинка в точности передается в материал и работает правильно. То есть, гамма 2.2 нужна не всегда.
И это же касается других текстур. Все карты, которые не устанавливают видимый цвет и имеют только черно-белые оттенки, нужно загружать в гамме 1. К ним относятся:
- Glossiness;
- Roughness;
- Metalness;
- Normal;
- Displacement.
Гамму 2.2 мы устанавливает для текстур, которые имеют полноценный RGB цвет:
- Diffuse Color;
- Reflection Color;
- Specular;
- Translucency Color.
Перезагрузка карты
Если Вы уже добавили текстуру и ей установилась гамма 2.2, то картинку можно перезагрузить. Для этого выделите Bitmap, кликните по названию текстуры и в появившемся окне нажмите галочку Override 1. На превью карта нормалей станет светлее. Перезагружаем текстуру кнопкой Open.
И так можно поступить со всеми остальными техническими текстурами. Но учтите, это не решение всех проблем. Такая маленькая деталь увеличивает физическую корректность материала и очень тонкая в восприятии. Если материал изначально сделан плохо, то такой метод его не спасет.
Освойте профессию визуализатора
Научитесь создавать крутые рендеры, панорамы 360, виртуальные туры и анимационные ролики.
Разбор настроек Corona Normal Map в Corona Renderer
Используйте Corona Normal Map в редакторе материалов для загрузки файлов карт нормалей RGB, которые вы хотите использовать в качестве карты неровностей для вашего материала. Растровые карты можно загружать как с помощью встроенного узла 3ds Max Bitmap, так и с помощью узла Corona Bitmap, который предлагает больше возможностей фильтрации и, как правило, рендерит быстрее:
При загрузке файла карты нормалей в 3ds Max рекомендуется использовать настройки гаммы по умолчанию в окне Browse Images for Input:
Какие проблемы?
К сожалению, существуют различные стандарты, когда речь идет о том, как информация о нормальной карте хранится и интерпретируется различными 3D-программами. Например, красный цвет может представлять направление «вверх по плоскости текстуры» или «вправо по плоскости текстуры». Светло-голубой цвет (RGB 128 128 255) обычно представляет «плоские» области (непосредственно обращенные к зрителю), однако к изображению может быть применена гамма-коррекция, которая может изменить значение этого цвета.
Это означает, что одно и то же изображение может давать разные результаты при загрузке в качестве карты нормалей в различных программах. Аналогично, две карты нормалей, созданные в разных программах, могут дать разные результаты при загрузке в качестве карт нормалей и рендеринге в одном 3D-приложении.
Чтобы решить эту проблему, узел CoronaNormal предлагает несколько вариантов:
- «Add gamma to input» — добавляет гамму sRGB к линейному входному изображению. Эта опция должна быть включена для получения правильных результатов, если загруженная карта нормалей не имеет гаммы sRGB.
Примечание : Corona попытается определить, должна ли быть включена эта опция или нет, и в случае, если она должна быть включена, покажет предупреждающее сообщение после начала рендеринга: - Flip red (X) — определяет направление карты нормалей слева направо (более высокие значения красного цвета означают либо правое, либо левое направление нормалей).
- Flip green (Y) — определяет направление карты нормалей снизу вверх (более высокие значения зеленого цвета означают направление нормалей снизу вверх или вверх).
- Поменять местами красный и зеленый — определяет, какой цвет следует интерпретировать как направление слева направо, а какой — как направление слева направо.
Как определить, какие настройки использовать?
Есть два способа выяснить, какие настройки являются правильными:
- Получить достоверную информацию об используемой карте нормалей (например, она может быть включена в файл readme, поставляемый вместе с растровой картой).
- Метод проб и ошибок.
Иногда легко представить, как должны выглядеть нормали (в случае сферического или пирамидального рисунка), но иногда это может быть сложнее (в случае хаотичного, органического рисунка).
Ниже приведено руководство, показывающее, какие настройки следует применять в различных случаях.
В первом примере мы будем использовать карту нормалей, созданную на основе полусферы, видимой сверху. Она была сохранена непосредственно из Corona VFB как 32-битный EXR-файл:
Карта нормалей, которую мы будем использовать.
Скриншот вьюпорта с геометрией, которая использовалась для захвата карты нормалей.
Давайте посмотрим, что произойдет, если мы загрузим приведенную выше карту нормалей в узел CoronaNormal с настройками по умолчанию, подключим ее к каналу карты неровностей в CoronaMtl и включим отражение, чтобы увидеть, как распределяется свет:
Очевидно, что карта неровностей работает неправильно (например, неровности вогнуты, а должны быть выпуклыми). Так что давайте попробуем это исправить:
Во-первых, давайте отрендерим тестовый объект без каких-либо неровностей, чтобы увидеть, как выглядят правильные нормали:
Это позволит нам лучше понять, нужно ли добавлять гамму к карте нормалей или нет. Если гамма карты нормалей неправильная, мы увидим разницу в «плоских» областях, которые должны выглядеть идентично оригинальной геометрии.
Давайте включим карту нормалей обратно и посмотрим, как она реагирует на флажок «Add gamma to input»:
Галочка «Add gamma to input» выключена
Галочка «Add gamma to input» включена
Мы можем ясно видеть, что включение флажка «Add gamma to input» не решило проблему с неправильным затенением. Более того, это ухудшило затенение в «плоских» областях, что означает, что мы определенно не должны включать эту опцию. Это означает, что исходная карта нормалей уже содержит правильную гамму.
Давайте теперь попробуем с настройкой «Flip green (Y)»:
«Add gamma to input» выключено, «Flip green (Y)» включено.
Теперь мы видим, что материал выглядит ближе к тому, что мы ожидали — неровности выпуклые, а затенение выглядит правильным. Мы можем еще более точно настроить материал, немного уменьшив силу карты нормалей:
«Strength multiplier» уменьшен до 0,5
Теперь материал выглядит так, как нам хотелось бы. Решением было оставить не отмеченным флажок » Add gamma to input «, включить опцию » Flip green » и снизить силу карты нормалей до желаемого значения.
Как было сказано выше, эти настройки могут быть разными для карт нормалей, загруженных из разных источников (или сгенерированных в них):
В приведенном выше случае (кирпичи) решением было включить оба параметра «dd gamma to input» и «Flip green», иначе результат был бы неверным.
В приведенном выше случае (гравий) решением было включить опции «Add gamma to input» и «Swap red and green», иначе результат будет неверным.
Примечание : интерактивный рендеринг чрезвычайно полезен для выяснения того, какие настройки следует использовать для конкретной карты нормалей.
Более подробно ознакомиться со всеми курсами образовательного проекта CGBandit вы можете здесь.
Перевод статьи осуществлен образовательным проектом CGBandit c официального сайта Coronarenderer.
Corona Normal Map
This page provides information on the Corona Normal Map, its settings, and usage.
Overview
Use the Corona Normal Map in the material editor to load RGB normal map files you want to use as the bump map for your material. The bitmaps can be loaded using either the native 3ds Max Bitmap node, or using the Corona Bitmap node, which offers more filtering options and generally renders faster.
Settings
Input image – Allows loading a normal texmap.
Strength mult – Controls the overall intensity of the bump effect.
Add gamma to input – Textures are usually assumed to have sRGB gamma baked in and when they are being loaded 3ds Max automatically performs a correction to remove the sRGB gamma (to make them linear). While this provides correct results for most of the texture maps, normal maps usually do not have sRGB gamma baked in and are already linear — therefore they should not be gamma corrected. To make sure that no gamma correction is applied to the normal map, either override its input gamma parameter to 1.0 or leave its input gamma parameter at 2.2 and enable this checkbox.
Corona will attempt to detect whether this option should be enabled or not, and in case it should, will show a warning message once rendering is started.
Flip red (X) – D etermines the left-to-right direction of the normal map (higher red values mean either the right direction or the left direction of the normals).
Flip green (Y) – D etermines the bottom-to-top direction of the normal map (higher green values mean either the bottom or up direction of the normals).
Swap red and green – D ecides which color should be interpreted as the left-to-right direction, and which as the left-to-right direction.
Additional bump mapping – An additional bump map can be plugged into this slot. It will be mixed with the normal map.
You can plug an existing Corona Normal Map into the Additional bump mapping slot of another Corona Normal Map to mix them. You can mix multiple normal maps this way.
How to find out what settings to use?
There are two ways to find out which settings are correct:
- Get reliable information about the normal map you are using (e.g. it could be included in a readme file supplied with the bitmap).
- Trial and error approach.
Sometimes it is easy to imagine what the normals should look like (in case of a spherical or pyramidal pattern), but sometimes it may be harder (in case of a chaotic, organic pattern).
In the first example, normal map is generated from a half-sphere, seen from above and saved directly from the Corona VFB as a 32-bit EXR file.
Viewport screenshot of the geometry which was used to capture the normal map.
- Chaos Corona Forum
- Chaos Corona for 3ds Max
- [Max] I need help!
- Normal maps in Corona
Pages: 1 2 [3] 4 All
Author Topic: Normal maps in Corona (Read 12772 times)
Pages: 1 2 [3] 4 All
- Chaos Corona Forum
- Chaos Corona for 3ds Max
- [Max] I need help!
- Normal maps in Corona