Использую свой кастомный шейдер на hlsl для генерации поверхностей и покрытия их текстурами. Столкнулся со странным поведением TO при Sampler Type = Normal. Чтобы нормальная карта корректно наложилась, нужно инвертировать нормаль поверхности. Такой тип сэмплера есть в движке на карте с чайником, фото ниже. Если тип Linear Color, то нормальная карта накладывается корректно. Чисто по приколу потыкал в куски алгоритма где распакоука нормали, но ожидаемо ничего хорошего не получил, оно же не переворачивает нормаль кверху ногами.
Если мне память не изменяет, у анрила флипнут третий канал, может дело в этом?
А, стоп, это уже я дурачок, ты полностью прав, я сейчас не то флипнул просто. Спасибо большое.
Смотря из чего экспортируешь
иногда он нормально встарет)
Но да надо очень аккуратно проверять себя)
Нет, флип именно третьего канала всё равно не соответствует референсу, только отрицание всей нормали вообще.
Отсюда и вопрос: а что там под капотом такое происходит.свой кастомный шейдер на hlsl для генерации поверхностейЭто у тебя надо спрашивать :D
А не у анрила
А так свой код можно добавлять через кастомную ноду кода - но все остальное лучше делать через стандартные инструменты
Интересно ещё, что меняется отображение нормали в нодеВсе так - превью видит что это карта нормали и отображает как карту нормали . Все логично.
Обычно оно конечно должно опознавать все автоматом .
Что, опять же, не отвечает на вопрос, почему переворот нормали поверхности фиксит проблему.нужно проотрицать нормаль поверхности.Очень сложный способ сказать слово "инверсия"
Да Юнити и Анрил читают карты нормалей по разному, сюрприз.
Правда инвертировать достаточно зеленый канал. И Это можно сделать одной галочкой внутри текстуры
Да, я пишу в кастомных нодах, не стал уточнять просто.
И да, я прекрасно знаю, что есть два стандарта с перевёрнутым зелёным каналом. Здесь вообще не этот случай. Здесь нужно инвертировать всю нормаль поверхности, чтобы тип сэмплера нормаль давал тот же результат, что тип сэмплера линейный цвет. Отсюда у меня и вопрос.
И да, я в моменте забыл слово инверсия лол