Скорочування Шуму – Reducing Noise¶
При здійсненні фінального рендера важливо, наскільки це можливо, скоротити шум. Тут ми обговоримо ряд хитрощів, які, порушуючи закони фізики, особливо важливі при рендерингу анімацій у межах розумного часу. Клацайте для збільшення зображень прикладів, щоб бачити різницю у шумі.
Простеження Шляху – Path Tracing¶
Cycles використовує простеження шляху з наступною оцінкою подій, яка не є доцільною при рендерингу усіх типів ефектів освітлення, таких як каустика, але має перевагу у тому, що здатна рендерити більш деталізовані та великі сцени, у порівнянні з іншими алгоритмами рендерингу. Це тому, що нам не потрібно зберігати, наприклад, розкладку фотонів у пам’яті, і тому, що ми можемо тримати промені відносно послідовними, щоб використовувати кеш зображення на вимогу, у порівняні з, наприклад, двонапрямним простеженням шляху.
Ми робимо зворотне до того, що відбувається у реальності, простежуючи світлові промені від камери у сцену та на освітлювачі, а не з джерел світла у сцену, а потім у камеру. Це має перевагу у тому, що ми не витрачаємо світлові промені, які не доходять до камери, однак, це також означає, що важко знайти кілька шляхів світла, що зможуть все зробити. Промені світла будуть надіслані відповідно до поверхні BRDF або у напрямку відомих джерел освітлення.
Дивись також
Детальніше дивіться документацію про Light Paths та Sampling.
Звідки Береться Шум – Where Noise Comes From¶
Для розуміння, звідки береться шум, візьмемо, наприклад, сцену нижче. Коли ми простежуємо промінь світла у локації, позначеній білим кругом на червоній точці, то друге зображення дає бачення того, що «бачить» шейдер розсіяння.
Для знаходження світла, що відбивається від цієї поверхні, нам необхідно знайти усереднений колір з усіх цих пікселів. Зверніть увагу на глянцеву підсвітку на сфері та на яскраву пляму, яку відкидає освітлювач поблизу на стіну. Ці гарячі плями є у 100 разів яскравішими, ніж інші частини зображення, та значно впливатимуть на освітлювання цього пікселя.
Цей освітлювач є відомим джерелом світла, а тому його локація вже відома, але глянцева підсвітка(и), які він спричиняє – це інше питання. Найкраще, що ми можемо зробити за допомогою простеження шляху, – це розподілити промені світла випадково по півсфері, сподіваючись виявити усі важливі яскраві плями. Якщо для деяких пікселів ми пропустимо якусь яскраву пляму, але ми знаходимо її для інших пікселів, то це спричинить шум. Чим більше вибірок ми візьмемо, тим вища ймовірність того, що ми охопимо усі важливі джерела освітлення.
За допомогою деяких хитрощів ми можемо скоротити цей шум. Якщо ми розмиємо ці яскраві плями, то вони стануть більшими та менш інтенсивними, що полегшить їх знаходження та дасть менше шуму. Це не дасть точно такого ж результату, але часто він буде достатньо близьким при огляді його через розсіяння або м’яке глянцеве відбиття. Нижче наведено приклад використовування Фільтра Глянцю – Glossy Filter та Спаду Освітлення – Light Falloff.
Відскоки – Bounces¶
У реальності світло відскакує величезну кількість разів у зв’язку з тим, що швидкість світла є дуже високою. На практиці більше відскоків привнесе більше шуму і може бути доцільно вжити щось на кшталт передустави Limited Global Illumination на панелі Light Paths, яка використовує лише по кілька відскоків для різних типів відтінювачів. Поверхні розсіяння типово можуть потребувати меншої кількості відскоків, тоді як поверхні глянцю потребують їх дещо більше, а шейдери пропускання, такі як скло, зазвичай, вимагають найбільше відскоків.
Також важливим є використання кольорів для шейдера, що не мають значень 1.0 або близько цього для компонент; намагайтеся зберігати максимальне значення 0.8 або менше для колірних компонент та робіть ваші освітлювачі яскравішими. У реальності, поверхні рідко ідеально відбивають усе світло, але, звичайно, є винятки; зазвичай, скло буде пропускати більше світла крізь себе, тому нам потрібно для нього більше відскоків. Вищі значення для колірних компонент тяжіють уводити шум, оскільки інтенсивність світла далі значно не зменшується при відскакуванні його від кожної поверхні.
Каустика та Фільтр Глянцю – Caustics and Filter Glossy¶
Каустики – caustics – це добре відоме джерело шуму, що спричиняє світлячки – fireflies. Вони трапляються тому, що рендерер має труднощі з виявленням блікових підсвіток при перегляді крізь м’яке глянцеве або розсіяне відбиття. Існує варіант без каустики – No Caustics для повного вимкнення глянцю позаду розсіяного відбиття. Багато рендерерів будуть типово вимикати каустики за стандартом.
Проте, використання варіанту Без Каустик буде призводити до пропущення освітлення і він все ще не охоплює випадок, коли різке відбиття глянцю переглядається через м’яке відбиття глянцю. Існує опція Filter Glossy для скорочення шуму у таких випадках, але ціною точності. Це буде розмивати різке відбиття глянцю для полегшення його знаходження, збільшуючи шорсткість – Roughness для шейдера.
Вище наведені зображення показують випадки зі стандартними уставами, без каустик та фільтром глянцю, заданим у значення 1.0.
Спад Освітлення – Light Falloff¶
У реальності освітлення у вакуумі завжди спадає зі швидкістю – 1/(distance^2). Проте, при зменшенні відстані до нуля це значення зростає до безкінечності й ми можемо отримати дуже яскраві плями на зображенні. Це, здебільшого, проблема для побічного освітлювання, де ймовірність потрапляння на таку малу, але надзвичайно яскраву пляму, є низькою, і це трапляється дуже рідко. Це типовий рецепт для світлячків.
Для зменшення цієї проблеми вузол «Спад Освітлення» – Light Falloff має фактор Smooth, котрий може використовуватися для скорочення максимальної інтенсивності світла, що може бути привнесене для поверхонь поблизу. Зображення вище показують приклади стандартного спаду та спаду зі значенням Smooth як 1.0.
Багатовибірка за Важливістю – Multiple Importance Sampling¶
Матеріали з шейдером Emission можуть бути сконфігуровані, щоб використовувати Багатовибірку за Важливістю – Multiple Importance Sampling (Устави Матеріалу – Material Settings). Це означає, що вони будуть отримувати промені, послані у напрямку прямо на них, а не вибиратися по залишковому принципу на основі випадкових відскоків навколо. Для дуже яскравих джерел світних сітей (mesh light) це може суттєво скоротити шум. Проте, коли емісія не є особливо яскравою, то це буде відбирати вибірки з інших яскравих джерел світла, для яких важливо виявити їх таким способом.
Оптимальну уставу тут важко вгадати; це може бути справою проб і помилок, але часто ясно, що якийсь яскравий об’єкт може привносити світло тільки локально, тоді як світна сіть (mesh light) як освітлювач, потребує увімкнення цієї опції. Ось приклад, де емісійні сфери привносять мало в освітлення, і рендери зображень з дещо меншим шумом при вимкненій опції Multiple Importance.
Фон світу також має опцію Multiple Importance (Устави – Settings). Це здебільшого корисно для розкладок середовища, що мають малі яскраві плями в них, а не є плавними. Ця опція потім буде, при попередній обробці, визначати ці яскраві плями та посилати промені світла прямо на них. Знову ж, вмикання цієї опції може відбирати вибірки з більш важливих джерел світла, з яких не потрібно брати.
Скло і Прозорі Тіні – Glass and Transparent Shadows¶
При вимкненні каустик скло буде пропускати тіні, і з фільтром глянцю вони можуть бути надто м’якими. Ми можемо зробити шейдер скла, що буде використовувати Glass BSDF при перегляді прямо та Transparent BSDF при перегляді побічно. Transparent BSDF може використовуватися для прозорих тіней для знаходження джерел світла прямо крізь поверхні та буде давати належно забарвлені тіні, але без каустик. Вузол Light Path використовується для визначення того, коли використовувати який з цих двох шейдерів.
Вище ми могли бачити уклад вузлів, що використовується для хитрості прозорості скла; зліва рендер має надто багато тіні через відсутність каустик, а справа рендер з цією хитрістю.
Портали Освітлення – Light Portals¶
При рендерингу інтер’єрної сцени, освітленої денним світлом, в якій більшість світла входить крізь вікно або відкриті двері, інтегратору важко знаходити шлях до джерел світла. Для виправлення цього використовуйте Портали Освітлення – Light Portals. Далі вам необхідно модифікувати форму освітлювача відповідно до форми отвору, через яке світло надходить і джерело якого ви намагаєтеся заповнити.
Знешумлення – Denoising¶
Навіть з усіма описаними вище уставами на рендері завжди зрештою буде шум, не залежно від того, скільки вибірок ви використовуєте. Для виправлення цього є техніка після оброблення для очищення фінального шуму. Для використання цього увімкніть «Знешумлення» – Denoising у вкладці «Шари Рендера» – Render Layers Редактора Властивостей – Properties editor.
Нижче наведено приклад рендера від The Pixelary.
Затиск Світлячків – Clamp Fireflies¶
Ідеально за допомогою усіх наведених вище хитрощів світлячки можуть бути усунені, але вони все ще можуть траплятися. Для цього, інтенсивність, яку будь-яка вибірка індивідуального променя світла буде привносити у піксель, може бути затиснута максимальним значенням за допомогою устави «Затиск» – Clamp setting для інтегратора.
Якщо ця устава буде задана надто низькою, це може спричинити пропуск підсвіток на зображенні, що може бути корисно для збереження ефектів камери, таких як свічення та відблиск. Для послаблення цієї загадки часто корисно затискати тільки побічні – indirect відскоки, залишаючи підсвітки, що прямо (directly) видимі для камери, неторканими.