Как работают сэмплеры под капотом Texture Object в Unreal Engine[РЕШЕНО]

Использую свой кастомный шейдер на hlsl для генерации поверхностей и покрытия их текстурами. Столкнулся со странным поведением TO при Sampler Type = Normal. Чтобы нормальная карта корректно наложилась, нужно инвертировать нормаль поверхности. Такой тип сэмплера есть в движке на карте с чайником, фото ниже. Если тип Linear Color, то нормальная карта…

11

Отсюда и вопрос: а что там под капотом такое происходит.свой кастомный шейдер на hlsl для генерации поверхностейЭто у тебя надо спрашивать :D
А не у анрила
А так свой код можно добавлять через кастомную ноду кода - но все остальное лучше делать через стандартные инструменты

Интересно ещё, что меняется отображение нормали в нодеВсе так - превью видит что это карта нормали и отображает как карту нормали . Все логично.
Обычно оно конечно должно опознавать все автоматом .

Что, опять же, не отвечает на вопрос, почему переворот нормали поверхности фиксит проблему.нужно проотрицать нормаль поверхности.Очень сложный способ сказать слово "инверсия"
Да Юнити и Анрил читают карты нормалей по разному, сюрприз.
Правда инвертировать достаточно зеленый канал. И Это можно сделать одной галочкой внутри текстуры

Ответить

Да, я пишу в кастомных нодах, не стал уточнять просто.
И да, я прекрасно знаю, что есть два стандарта с перевёрнутым зелёным каналом. Здесь вообще не этот случай. Здесь нужно инвертировать всю нормаль поверхности, чтобы тип сэмплера нормаль давал тот же результат, что тип сэмплера линейный цвет. Отсюда у меня и вопрос.
И да, я в моменте забыл слово инверсия лол

1
Ответить