Зонди відображень

Вступ

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

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

Хоча ці зонди є ефективним способом зберігання відображень, вони мають кілька недоліків:

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

  • Вони найкраще підходять для кімнат, або місць прямокутної форми, в інших випадках відображення стають недостовірними (особливо коли шорсткість дорівнює 0).

Налаштування

Створіть вузол ReflectionProbe (Зонд відображення) і загорніть у нього область, де ви хочете мати відображення:

../../_images/refprobe_setup.png

Результатом має бути негайна поява місцевого відображення. Якщо ви використовуєте текстуру Sky (Неба), відображення, за замовчуванням, змішуються з нею.

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

../../_images/refprobe_box_property.png

Цей параметр змінює відображення з нескінченного скайбокса на відображення області розміром з зонд:

../../_images/refprobe_boxcorrect.png

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

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

../../_images/refprobe_center_gizmo.png

За замовчуванням відображення тіней вимикається при вимальовуванні зондів (тільки на вимальованому зображенні всередині зонда, а не на фактичній сцені). Це простий спосіб заощадити на продуктивності і пам'яті. Якщо ви хочете тіней в зонді, їх можна ввімкнути/вимкнути за допомогою параметра Enable Shadow (Увімкнути тінь):

../../_images/refprobe_shadows.png

Нарешті, майте на увазі, що ви можете захотіти, щоб зонд відображення не вимальовував деякі об'єкти. Типовий сценарій - це ворог всередині кімнати, який буде пересуватися. Щоб об'єкти не вимальовувалися у відображеннях, скористайтеся параметром Cull Mask (Маска вибракувань):

../../_images/refprobe_cullmask.png

Інтер'єр та екстер'єр

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

../../_images/refprobe_ambient.png

Коли в зонді виставлено Interior, на зонд можна навішати користувацьке постійне навколишнє освітлення. Просто виберіть колір і енергію.

За бажанням ви можете змішати це навколишнє світло з захопленим зондом розсіяним, налаштувавши властивість** Ambient Contribution** (0,0 означає чистий колір навколишнього середовища, тоді як 1,0 означає чисте розсіяне захоплення).

Змішування

Можна використовувати кілька зондів відображення, і Godot буде змішувати їх там, де вони перекриваються за допомогою розумного алгоритму:

../../_images/refprobe_blending.png

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

Крім того, Зонди Відображення добре поєднуються з Відображенням Простору Екрана, для вирішення цих проблем. Їх поєднання робить локальні відображення більш вірними, тоді як зонди використовуються лише як запасний варіант, коли не знайдено інформації про екранний простір:

../../_images/refprobe_ssr.png

Нарешті, змішування внутрішніх і зовнішніх зондів є рекомендованим підходом при створенні рівнів, які поєднують як інтер'єри, так і екстер'єри. Біля дверей зонд може бути позначений як екстер'єр (так він отримає відображення неба), в той час як всередині він може бути інтер'єром.

Атлас відображень

У поточній реалізації рендерера всі зонди однакового розміру і вписуються в Атлас Відображень. Розмір і кількість зондів можна налаштувати в Параметри проекту -> Quality -> Reflections

Налаштування Atlas Subdiv за замовчуванням: 8 дозволяє до 16 зондів відображення у сцені. Це значення потрібно збільшити, якщо вам потрібно більше зондів.

../../_images/refprobe_atlas.png