Графический дизайн, арт игры, концепт, персонажи, текстуры, анимации, модели
GameDev.ru / Графический Дизайн / Форум / Что с нормалями?

Что с нормалями?

Поделиться
cwoodПостоялецwww31 окт. 20174:13#0
Я не понимаю... Ну, сделал геометрию в максе, запек карту нормалей, закинул в субстанс, там выглядит все вообще огонь! Закидываю в юнити и вдруг глянец начинает скакать с разной степенью отражения...

https://i.imgur.com/MKOwwo1.jpg

Нормал мап полностью одинаковый. 807eff везде на плоских частях. Почему в зависимости от вращения изменяется глянец? Металнесс мап тоже одинаковый.
Я... Не по ни ма ю...

SuslikМодераторwww31 окт. 20175:07#1
сделай отладочный шейдер, который выводит цветом нормали. или металнесс или какие у тебя там ещё параметры влияют на освещение.
MrShoorУчастникwww31 окт. 20177:00#2
cwood
> Я... Не по ни ма ю...
Если ты про стыки плит, которые пометил стрелочками - то там 2 варианта проблемы.
1. Если у тебя каждая плитка отдельная геометрия, то фаска плитки становится точньше 1 пикселя, и из-за семплинга её алиазит. Выход: переделать плитку на один огромный полигон, на который накладывать карту нормалей.
2. У тебя плитка отдельный полигон, на который ты накладываешь карту нормалей. Тогда это алиазинг из-за того, что в текстуре у тебя нет мип уровней либо не включена фильтрация по мипам. Чинится генерированием мип уровней для карты нормалей и включением нормальной фильтрации с мипами (и желательно анизотропной).
YukioПостоялецwww31 окт. 201710:29#3
cwood
> Закидываю в юнити и вдруг глянец начинает скакать с разной степенью отражения...
нормали за степень отражения вообще не отвечают. Тут скорее всего неправильное декомпозирование (полигональное разделение примитива для запекания). Это нужно сам файл смотреть, а не на кофейной гуще гадать...

складывактся такое ощущение, что вот на этих зонах нормали инвертированы:
Изображение

видно, что именно эти зоны тайлинга светлее остальных.  У меня такая фигня была, когда я накладывал одинаковые части развертки друг на друга.

Suslik
> лай отладочный шейдер, который выводит цветом нормали. или металнесс или какие у тебя там ещё параметры влияют на освещение.
вот-вот. шейдера правда делать не прийдется. Просто зайти в режимы отрисовки и показать Normal.

Правка: 31 окт. 2017 10:34

widewrdПостоялецwww3 ноя. 20173:19#4
У тебя на нормал мапе в юнити тип "нормал мап" стоит?
cwoodПостоялецwww4 ноя. 20171:06#5
Да. Я тут подумал, что может проблема в том, что я текстуру в субстансе начал делать под директикс. Хотя субстансу должно быть пофиг на это при экспорте.
В общем, юнити при импорте нормалмапа попросил ее сделать нормалмапом. Я нажал и вроде бы норм было, пока не стал их рядом выставлять.

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

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

Так я потом проверил в анриле - там тоже все нормально встало, разницы нет. Поверни/не поверни, а глянец одинаковый.

Правка: 4 ноя. 2017 1:09

marggobПостоялецwww4 ноя. 20171:22#6
cwood
> я текстуру в субстансе начал делать под директикс
Если экспортировал нормалки из субстанса всё так же под directx(X+,Y-), то надо инвертировать зелёный канал. В юнити нормалки идут в OpenGL, то есть (X+,Y+).
RoyoyoПостоялецwww4 ноя. 201713:39#7
Если с нормалями в модели окажется всё в порядке, то это может быть из-за предпросчитанного GI, юнити сама делает развертку по GI и сама же устраивает подобные косяки.
Отключи всё освещение, кроме прямого света, а потом постепенно включай опции освещения. И сразу увидишь на каком этапе вылазит глюк.
У меня подобное было, тоже грешил на нормали, а оказалось авто-развертку GI пришлось править.

/ Форум / Графический Дизайн / Моделирование

2001—2017 © GameDev.ru — Разработка игр