Як зробити реалістичний лід?


45

Я намагаюся написати льодовий шейдер в Unity, який виглядає добре і принаймні напівреалістичним.

Якщо наступний кадр ( знайдений в Google ) був CG, що б включав його шейдер? (печера переднього плану). Я можу помилятися, але, схоже, у нього навіть є інша модель освітлення, ніж дифузне за замовчуванням.

введіть тут опис зображення


Ось підручник для DirectX 11 з використанням HLSL та C ++. Можливо, ви зможете поглянути на принципи. Крім того, де ви побачили, що на зображенні був CG? Повідомляється як справжній.
MichaelHouse

Я не сказав, що це було. Я сказав "якщо" це було. і Спасибі! Я перевірю це
Даніель Пендергаст,

9
Це явище називається підповерхневим розсіюванням. Це викликано тим, що світло проникає на поверхню матеріалу і розсіюється через середовище самого матеріалу. Ось чому, наприклад, вуха людини виглядають червоними при підсвічуванні. Ось повідомлення в блозі, що пояснює чиюсь спробу відтворити ефект льоду за допомогою нього.

Ах, вибачте, що я пропустив "якщо".
MichaelHouse

@ Byte56, Без проблем
Даніель Пендергаст

Відповіді:


53

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

Ось малюнок, який, на мою думку, добре демонструє ефект:

введіть тут опис зображення

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

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

Ресурси

Деякі інші ресурси, які я знайшов під час написання відповіді:


Ви також можете заглянути в Заключення навколишнього середовища ( en.wikipedia.org/wiki/Ambient_occlusion ), щоб імітувати потемніння в скалах, для цього, як правило, досить важко дістатись, використовуючи лише тіні.
Коарл

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.