Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Залежність «артефакту волнистости» від прямих кутів і кількості геометрії

Зліва на зображенні хай полі. 2 самі ліві мають прямі опуклості (90 градусів), 6 інших мають скошені опуклості, в іншому вони однакові.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Lowpoly
Серія А має 12 граней, серія B - 6 граней.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Наклавши одну групу згладжування і розглядаючи усереднені нормалі ми можемо зробити висновок про перспективи запікання. Нормалі вершин далекі від гладкості тому будь-яка різниця між хай і лоу поли моделями стає «перебільшеною».

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Вплив кількості граней:

12 гранниє циліндри набагато краще передають силует. Якщо дивитися прямо, на них майже не видно окремі грані циліндра, тоді як на 6 гранних циліндрах вони досить помітні.

Прямі кути: - хвилястість

Опуклості під «прямими кутами» A1 і B1 запеклася найгірше. Збоку добре помітна хвилястість. Кількість граней пом'якшує цю проблему, тому що на 12 граней варіанті хвилі менш помітні.
Вкрай бажано уникати прямих кутів, або додавати додаткові грані, якщо дозволяє бюджет.

Причина проблеми волнистости

Кожен полігон поверхні запускає промені навколо виступу приблизно по такій траєкторії. І будь-яка різниця між хай і лоу поли захоплюється і посилюється. Це добре видно якщо ми подивимося на різницю між моделями накладеними один на одного. Велика різниця - запікається більша «хвиляста» грань. Менше різниця і більше полігонів - на запіканні циліндра більше «секцій» і менше проблем.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Висновок: Коли відбувається запікання циліндричної форми, часто різниця між LP і HP створює хвилясту лінію на КН. Чим більше різниця в кривизні між моделями - тим більше проблем.

Причини виникнення «спотворень деталей» на КН

Підтримують межі розгладжують нормалі щодо довжини циліндра. Без них нормалі «усереднюються» по довжині моделі і це призводить до нерівномірному запіканню деталей. Де то запікання стискається, де то розтягується.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Приклад 2 (практичний)

Модель А - найгірший варіант - безліч прямих кутів, які в підсумку жахливо запекутся в КН. B і C однакові (будуть різні лоу поли) - на них безліч «low-friendly» товстих скосів в проблемних зонах (передня частина стовбура). (Запобігання «спотворень»)

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Гарна новина про «правильних» лоу поли в тому, що вони часто мають менше геометрії і більш цікаві на вигляд. Ми можемо додати трохи більше геометрії в великі циліндричні конструкції (проти волнистости) і потрапляємо в полікаунт від прикладу А.
Не завжди потрібно в 2 рази більше геометрії для кращого результату запікання КН, потрібне розуміння виникаючих проблем і відповідне планування.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

У запікання зверніть увагу на те як «кульовий отвір» отмоделено на хай і на лоу. На хай ми бачимо товстий скіс в самому центрі, а на лоу підтримують межі. (На прямому куті)
На прикладі А, де хай полі має просте пряме отвір без скоса і немає підтримують граней - запікання слабо видно.
Також помітно, що B / C виглядають краще в широкому спектрі кутів, крім повністю прямого виду збоку.

Разом: «low-friendly» - виглядає краще, має менш спотворені деталі, спрощені UV з меншим кол-вом острівців, має усереднені нормалі, і відповідно менше помилок згладжування.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Залежність «артефакту волнистости» від кількості геометрії в окружності

(Додавання фаскіVS Додавання більшої кількості сегментів)

На прикладі можна побачити, що полікаунт 12-гранного циліндра з 2ма фасками на гранях, однаковий з 24 гранним циліндром, але останній виглядає набагато краще в силуеті.
В результаті фаска допомагає циліндру виглядати більш гладким в зоні на яку падає світло, але не може допомогти з незграбністю силуету циліндра.
Збільшення граней править проблеми волнистости тому це зменшує різницю між хай і лоу моделями. (Тому що хвилястість це і є ця різниця запечена від проектування променів під кутом)

Висновок: Більше граней - краще, ніж підтримує грань на кінці.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Якщо проблема все-таки проявляється може допомогти додавання граней ближче до кришок циліндра або вирівнювання граней на кордонах UV островів. (Harden the edges of the UV shell borders)

Побудова геометрііHP підлаштовуючи її під крівізнуLP

A. HP з деталями збігаються з округлістю LP (без протектора)
B. HP з деталями збігаються з округлістю LP (c протектором)
C. HP виглядає добре і округло (без протектора)
D. HP виглядає добре і округло (c протектором)

Версія «без протектора» використана тому зовнішня форма має ідентичний результат при використанні протекторів тому округлість йде від них.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація


Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Висновок: модель HP, що не згладжена як повинна бути, а приведена до виду підсумкової LP це неправильний метод. LP з КН в результаті виглядає дуже погано.

Візьмемо «меншу», «приблизно ідентичну» і «велику» LP. (Щодо HP)

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

А. на «меншою» ми бачимо, що межі починають проектуватися трохи залазячи на бічні частини циліндра. Це виглядає найгірше якщо дивитися збоку, і виглядає дивно якщо дивитися прямо.
B. на «ідентичною» ми отримали саме акуратне запікання, і кришка циліндра там де вона повинна бути. Прямо це виглядає добре. Збоку якщо невелика хвилястість, але в цілому - нормально.
С. на «більшої» ми практично повністю втратили скіс. Сама кришка занадто маленька і не підходить до розміру циліндра, що видно якщо дивитися прямо.

При це крупніше лоу поли або менше це абсолютно ніяк не впливає на «хвилястість». Це тільки впливає на те як деталь запікатиметься на кінець циліндра.

Тепер «зламаємо» (broken) Cage. (Швидше за все тут маються на увазі групи сглажіваніяCage)

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Відразу бачимо шви - гострі грані.

«Менша» лоу полі може комусь сподобається, тоді буде простіше створити карту бампа. Також це не допоможе з більш складними ніж цей приклад моделями.
«Ідентична» і «Велика» приклади показують виразні шви в розбитій Cage.

  1. LP потрібно завжди намагатися повторити хай так точно як можливо.
  2. «Розбиття» Cage не є «правкою», а лише створює інші проблеми.
  3. Кращим рішенням проблеми волнистости за допомогою геометрії є додавання більшої геометрії:

- в «округлість» моделі (силует)
- в фаски на кінцях (менш бажано)
що згладжує екстремальні перепади в:

1) варіаціях поверхні (округлість)
2) напрямку проектування нормалей (скоси).

Краще використовувати геометрію для підтримки великих форм на моделі, ніж крихітних міні-скосів. Додавання скосів до кінців циліндра збільшує в 3 рази полікаунт по трикутниках, тому краще просто додати більше граней.
Різниця у витратах ресурсів між додаванням фаски (4 вершини - 2 трикутника) і стиком груп згладжування (4 вершини, 0 трикутників) - мінімальна.

Тепер знаючи правила їх можна порушувати для досягнення певних цілей.

Увімкніть на LP режим прозорості (alt + x), так щоб ми змогли бачити HP під нею. Для прискорення відтворення у вьюпорте потрібно включити відображення «wireframe» тільки на виділеному об'єкті тому отрисовка wireframe на HP сильно уповільнює 3ds max. Для цього натисніть на perspective в верхньому правому куті вьюпорті і натисніть Configure. У Rendering Method натисніть display selected with edged faces. Тепер, коли edged faces відключено - то що буде виділено буде відображатися з сіткою (edged faces).

Підстройте поверхню LP якомога ближче як HP. Основна мета - передати силует і обсяг хай полі. Приділяйте особливу увагу частинам, що впливає на силует.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

LP повинна збігатися за розміром з HP так близько як можливо. Це зазвичай означає, що вона може бути трохи менше в деяких зонах, і трохи більше в інших. Немає потреби в тому, щоб LP була більше HP - це робить Cage.

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Взаємне расположеніеHP іLP для запікання фаски на межі

Для запікання якісної фаски на стику двох полігонів потрібно розмістити сам стик двох полігонів на LP точно в центрі фаски на HP. (Push модифікатор)

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Я все таки не зрозумів. Чи є обов'язковим пунктом тріангуляції моделі перед запіканням?



Звичайно ж да. Це необхідний захід для отримання якісного результату у всіх програмах. Так як при експорті куди-небудь модель може тріангуліроваться по-іншому, що спричинить за собою спотворення shading`a, адже вона безпосередньо впливає на групи згладжування і, відповідно, карти нормалей. До того ж, щоб уникнути артефактів, cage необхідно створювати саме з тріангулірованія моделі, будь-яка інша може привести до проблем, які доведеться правити вручну.

А якщо я не буду ні куди імпорт модель крім мармосета, тому що моделі просто для портфеля буду робити? Просто я дивився галерею на артстейшн і там 90% ігрових модельок мають не тріангулірованную сітку

[/ Quote]
Я описав навіщо це необхідно, а висновки робіть самі.

Я все таки не зрозумів. Чи є обов'язковим пунктом тріангуляції моделі перед запіканням?


Звичайно ж да. Це необхідний захід для отримання якісного результату у всіх програмах. Так як при експорті куди-небудь модель може тріангуліроваться по-іншому, що спричинить за собою спотворення shading`a, адже вона безпосередньо впливає на групи згладжування і, відповідно, карти нормалей. До того ж, щоб уникнути артефактів, cage необхідно створювати саме з тріангулірованія моделі, будь-яка інша може привести до проблем, які доведеться правити вручну.
[/ Quote]

А якщо я не буду ні куди імпорт модель крім мармосета, тому що моделі просто для портфеля буду робити? Просто я дивився галерею на артстейшн і там 90% ігрових модельок мають не тріангулірованную сітку

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

Я все таки не зрозумів. Чи є обов'язковим пунктом тріангуляції моделі перед запіканням?



Звичайно ж да. Це необхідний захід для отримання якісного результату у всіх програмах. Так як при експорті куди-небудь модель може тріангуліроваться по-іншому, що спричинить за собою спотворення shading`a, адже вона безпосередньо впливає на групи згладжування і, відповідно, карти нормалей. До того ж, щоб уникнути артефактів, cage необхідно створювати саме з тріангулірованія моделі, будь-яка інша може привести до проблем, які доведеться правити вручну.

Jaroslav Grafskiy, про копіпаст я виключно в тому моменті, що вставки інформації з різних джерел, іноді в силу пріменямий методів суперечать один одному в загальному вигляді. Я ж написав, що праця величезний, за інформацію про цифри паддінга від дозволу текстур спасибі.

спробую доповнити і вказати протиріччя.

КНплохо сглажіваютгеометрію .. - згладжують, оскільки формують відбиття світла, як на хайпольной моделі.

Поетомужелательно запікати КН з найбільш меншою кількістю градієнтів -

нижче у вас йде мова з прикладом на коліматор, цей висновок суперечить всьому описаному. градієнти неминучі і ви самі за це пишіть. найбільш іеньшее колічемтво градієнтів це їх повна відсутність. варіант С на прикладі коліматорі.

Чому це відбувається-

потрібно прагне до меншої кількості розривів шейдинга. кожен Юві шов, це здвоєний ейдж в движку. + Кожен хард ейдж пропікається у вигляді 2 розірваних ребер.

для дрібних деталей, у яких Texel Density низький, потрібно розривати (причина то що ви пишете нижче). для великих деталей, це не правило, якщо компенсація не створює сильного ефекту вм'ятини. Компенсація градієнта в синхронізації програми випічки і середовищі відтворення це однакове простір розрахунку бінормаль і тенгенсов в DX шейдерах. mikktspace найпоширеніший. (за замовчуванням в хNormal). для Юніті є свій плагін прорахунку для хНормала -UnityTSpace.компенсація градієнта з побудовою бікасательних виглядає відмінно і на великих деталях немає зламів.

потрібно робити мінімальну кількість розривів (це і призводить до так званим помилок шейдинга) і дивитися вже по об'єкту. де це критично - розривати Юві і робити жорстке ребро.

за логікою, теж не зовсім вірно, що якщо тут гострий у

Особливості застосування карт нормалей - комп'ютерна графіка та анімація

"Блакитна колірна це« глибина »(Z), по суті, є звичайною картою рельєфу (bump map)." Це неправда, третій канал використовується для нормалізації векторів, і він не є Bump картою. У Bump карті в кожному пікселі зберігається його висота, а в третьому каналі нормалмапи картинку можна описати так: вектора спрямовані в бік камери білого кольору, всі інші вектора чорні. Наткнуся на що то ще, напишу)

Особливості застосування карт нормалей - комп'ютерна графіка та анімація