Некорректное отображение нормала

Импорт текстур, моделей, звуков и пр.

Некорректное отображение нормала

Сообщение Aleks_T 06 окт 2010, 14:31

Столкнулся с проблемой инверсии нормала на зеркальных участках модели. В максе это решалось инверсией зеленого канала через настройки материала. В юнити избежать этого не удалось. Что я делаю неправильно?
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

Re: Некорректное отображение нормала

Сообщение antonio 06 окт 2010, 18:36

Проверь uv на моделе видимо в отзеркаленной половине их надо тоже отзеркалить извините за тавталогию.
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск

Re: Некорректное отображение нормала

Сообщение Paul Siberdt 06 окт 2010, 18:41

Я не совсем в курсе, но галочка пересчёта тангентов в настройках FBX экспорта в Unity разве не призвана лечить ситуацию с обратной разверткой?
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Некорректное отображение нормала

Сообщение Aleks_T 06 окт 2010, 21:05

Как оказалось, все траблы были в плохой культуре развертки. Нужно было на ранней стадии исключать инвертированные куски модели.
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

Re: Некорректное отображение нормала

Сообщение antonio 07 окт 2010, 12:41

Paul Siberdt прав можно с тангентами поработать.
Так как есть только скриншот решил потестить подобную ситуацию. Вы накладываете одну карту нормалей и на оригинальную модель и на отзеркаленную. Видимо у вас возникает подобная ситуация показанная ниже на скриншоте. Думаю что все таки стоит делать карту нормалей на всю модель.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск

Re: Некорректное отображение нормала

Сообщение Aleks_T 08 окт 2010, 00:32

Достаточно просто недопускать инвертированные участки развертки.
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

Re: Некорректное отображение нормала

Сообщение Aleks_T 11 окт 2010, 17:23

Попробовал поделать развертку "правильно", гемор неимоверный. А если делать без зеркальных частей, то это все равно что отказаться от оптимизации намеренно и добавить себе лишней работы.
Недавние изыскания показали, что crazybump позволяет избежать подобного косяка, но хотелось бы тоже самое и для чесного нормала пофиксить.
Также копался в тангентах при экспорте .fbx. Тщетно, не тыкнете пальцем, что там конкретно нужно изменить? Буду признателен :)
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

Re: Некорректное отображение нормала

Сообщение antonio 12 окт 2010, 11:34

В предыдущем посте. Надо копаться не в экспорте fbx в фотошопе. (Вторую половину текстуры для отзеркаленой части необязательно зеркалить, но тогда получиться две карты нормала.
http://developer.nvidia.com/object/phot ... ugins.html
Аватара пользователя
antonio
UNIт
 
Сообщения: 132
Зарегистрирован: 03 ноя 2009, 15:42
Откуда: Смоленск

Re: Некорректное отображение нормала

Сообщение Aleks_T 12 окт 2010, 11:56

Есть моменты, когда зеркалить участки развертки просто необходимо. Нвидиа фильтр конечно вещь неплохая, но порой используется нормал снятый с геометрии и мне не хочется увнличивать размер текстуры, чтобы обойтись зеб зеркал.
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

Re: Некорректное отображение нормала

Сообщение Paul Siberdt 12 окт 2010, 13:29

Пересчитывайте тангенты модели (если это не делает Юня). Просто определите сторону и пробегите по всем вертексам вручную. Можно это повесить на отдельную команду редактора и применять по желанию на отзеркаленные модели.

Если сами не в курсе, как это сделать - приаттачьте к посту заготовку с зеркалом и картой нормали, я напишу.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Некорректное отображение нормала

Сообщение Aleks_T 12 окт 2010, 18:23

Закинул в архив модельку и мапы, косяк там прямо над дверями в виде этих наших зеркальных частей развертки. Буду рад услышать путь решения траблы)))
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

Re: Некорректное отображение нормала

Сообщение Paul Siberdt 12 окт 2010, 22:10

А вы точно пробовали экспортнуть в движке FBX с настройками:
Import Normals
Calculate Tangents?

1. Нашел большую проблему с моделью ( нет связи с обсуждаемым артефактом ) :
Модель представляет собой набор несвязанных воедино треугольников и, соответственно, несшитых фрагментов развертки.
Вряд ли это есть результат экспорта. Все модели настоятельно рекомендуется мержить по вертексам и сшивать по развертке.

2. Когда в моделлинге принимают решение использовать бамп-миррор, принято миррорить лишь относительно одной оси/плоскости, скажем, оси X / плоскости YZ. Ваша кузница замиррорена по двум плоскостям и довольно спонтанно. Скачайте тестовую текстурку и навесьте на диффуз модели. Развертка выбранной половины здания должна быть такой, чтобы везде буква N читалась правильно.

3. Далее, решение моделить с бамп-миррором подразумевает возможность разрезать модель ровно посередине. У вас крыша и труба не позволят это сделать, что снова приведет к артефактам.

В принципе, можно верно развернуть тангенты и для текущей модели, но автоматики тут не добиться всвязи с пунктом 2.
Советую привести домик в подходящий для снятия карты нормали вид, получить карту и уже с ними разбираться. :)

Кстати, есть вариант использования миррора для диффузной развертки и создания второго полного uv-seta для развертки под бамп.
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Некорректное отображение нормала

Сообщение Aleks_T 13 окт 2010, 00:21

Cпасибо за детальный ответ. По первому пункту: абсолютная цельность модели - далеко не всегда идеал и это даже рекомендовать стоит далеко не во всех случаях. Также и со сшитем вершин для развертки, это не несет совершенно никаких проблем. Даже сейчас это не выражается как не в артефактах так любых других косяках. Домик и правда косячный, но на нормальном не было бы видно проблемы)
Второй пункт постараюсь теперь взять на вооружение. Не всегда удается отмиррорить участок строго в одной плоскости по неосторожности.
Разрез строго посередине конечно рекомендуется, но хотелось бы избавиться и от этого бремени, если возможно выправить тангенты руками.
Я вот почему сейчас стараюсь найти хитрый и простой способ? Просто crazy bump позволяет генерить из диффуза нормал без проблем с зеркалкой. То есть чота он делает с самой текстурой нормала.
Да и хотелось бы узнать как выправлять тангенты вручную :)
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

Re: Некорректное отображение нормала

Сообщение Paul Siberdt 13 окт 2010, 07:54

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

Выпрямлять тангенты вручную надо в массиве тангентов меша, проводя инверсию бинормали (тангент - это вектор + компонент бинормали). Инверсию проводить надо с вертексами зеркальной стороны, то есть, стороны с обратной разверткой.
Но если моделить не четкими половинками и текстурить как удобно, не задумываясь о правильности каждого фрагмента развертки, исравить тангенты получится лишь хитрым анализом массивов вертексов, полигонов и ювишек, о котором я даже думать боюсь. :D
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Некорректное отображение нормала

Сообщение Aleks_T 13 окт 2010, 12:30

Вобщем ясно, придется искать компромисс))
Аватара пользователя
Aleks_T
UNец
 
Сообщения: 8
Зарегистрирован: 06 окт 2010, 14:26
  • ICQ

След.

Вернуться в Медиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6