Як працює світло та віддзеркалення у відеоіграх

Привіт! Мене звати Олексій Плаксін, я обіймаю посаду Art Director. Працював над проєктами Off The Grid, Warface, Sniper 3: Ghost Warrior, MotoGP та Ride. У геймдеві я вже 13 років і присвятив чимало часу, щоб створити у відеоіграх правильне світло, що не завжди мусить бути реалістичним.

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

Я викладатиму онлайн-курс по Art Direction у геймдеві і спеціально для GameDev DOU докладніше розкажу про освітлення та рейтресінг.

Що треба знати про світло у геймдеві

Освітлення в відеоіграх відіграє ключову роль у створенні атмосфери та вражень від гри. Воно може трансформувати одну і ту саму сцену, створюючи різні настрої: від темного та загадкового, як у трилерах, до яскравого та енергійного, немов у аніме. В іграх з сюжетом, наприклад у Call of Duty, освітлення використовується для підсилення атмосфери і занурення гравця в історію. Але в компетитивних іграх, де важлива чіткість видимості, освітлення адаптується так, щоб не створювати сильних контрастів і темних закутів.

У більшості сучасних AAA-іграх використовують ефект адаптації зору до світла. Це фізичне явище, через що нашому оку потрібен час для адаптації до світла (коли входиш до темної кімнати з яскравої вулиці, та навпаки). За легендою пірати таким чином нівелювали цей ефект — вони змінювали пов’язку на оці для швидкого переходу з яскравого світла до темряви, коли спускалися до трюму. У компетитивних іграх, таких як оновлений Counter Strike, адаптація до світла мінімізується, щоб забезпечити однакову видимість для всіх гравців, незалежно від того, чи знаходяться вони всередині приміщення чи надворі.

Також у компетитивних іграх освітлення налаштовується так, щоб світло падало однаково на всіх гравців з різних сторін, забезпечуючи їм рівні умови. Тіні теж мають важливе значення, оскільки вони можуть викрити позицію супротивника. Іноді, намагаючись отримати максимум fps, для гравців вимикають більшість ефектів для забезпечення високої продуктивності, але залишаються тіні, оскільки вони важливі для тактичного орієнтування.

Технічно освітлення в іграх завжди було складним завданням. Після появи освітлення в іграх почали використовувати статичне (запечене) освітлення, і лише рухомі об’єкти мали реальні тіні. Сучасні ігри пропонують повне ріал-тайм освітлення, що дозволяє змінювати день та ніч у реальному часі.

Що таке Ray Tracing у сучасних іграх і яке це відношення має до світла?

Ray Tracing (рейтрейсінг) у відеоіграх — це технологія, що змінює підхід до освітлення в іграх, роблячи його реалістичнішим і динамічним. З приходом Unreal Engine 5 та системи Lumen, яка забезпечує ріалтаймове освітлення з глобальною ілюмінацією, можливості освітлення в іграх значно розширились.

Традиційно в іграх використовувалось комбіноване освітлення, де основний принцип полягав у простій генерації тіней від об’єктів, які блокують світло. Однак, у реальності світло відбивається від поверхонь, освітлюючи навколишні об’єкти. Це явище називають у геймдеві та у рендерингу Глобальна Ілюмінація (GI — Global Illumination). Завдяки взаємодії з PBR матеріалами досягається фізично-коректне освітлення, яке враховує Альбедо і властивості поверхні. Наприклад, світлі поверхні відбивають більше світла, а темні — менше.

Рейтрейсінг дозволяє враховувати промені, які знаходяться поза межами екрана. До цього в іграх все покладалося на методи Screen Space (те, що є на екрані) для спрощення, але це призводило до таких артефактів, як об’єкти, що зникають у віддзеркаленнях, коли вони знаходяться поза межами екрана або тіні, які зникають навколо персонажа.

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

У минулому, наприклад у CryEngine, Глобальна Ілюмінація симулювалась за допомогою спеціальних об’єктів Environment Probe. На відміну від класичних, на той час, проб, які наче «фотографували» все навколо себе і таким чином спрощено давали об’єктам інформацію — що нам віддзеркалювати. Environment Probe «фотографували» ще й інформацію про світло — де світліше, де темніше, і таким чином фейкали GI.

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

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

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

Зокрема, у трейлері GTA VI є такий рендер — у дзеркалі автівки помітно дуже чіткі віддзеркалення. А це вже подвійні віддзеркалення у дзеркалі, яких раніше у відеоіграх не було.

Рейтрейсінг допомагає подолати обмеженість. Він зберігає відображення об’єктів, навіть коли вони виходять за межі кадру. Це робить зображення стабільнішим і реалістичнішим. Якщо об’єкт знаходиться у полі зору камери, використовується Screenspace, а коли він виходить за межі кадру — рейтрейсінг бере на себе роль відображення цього об’єкта.

Крім того, часто використовуються додаткові техніки, зокрема у вищеназваних environment probs, що допомагають покращити якість відображення у складних сценах. Мета цих комбінованих технік — створення економічно ефективного та реалістичного зображення.

Поради для початківців, які хочуть працювати зі світлом і рейтресингом

Вивчення основ світла:

  • Основоположним є розуміння теорії світла. Почніть з вивчення базових принципів світла, як фізичного явища.

Використання навчальних ресурсів:

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

Гра як засіб навчання:

  • Грайте у відеоігри, як-от The Last of Us, Uncharted або Counter Strike, аналізуючи, як у них використовується світло для створення атмосфери та напрямку гравців.

Аналізуючи елементи світла в іграх:

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

Розуміння історії освітлення в геймдеві:

  • Ознайомтеся з історією освітлення в іграх. Наприклад, розгляньте як у Silent Hill обмежені технології світла використовувались для створення атмосфери.

Вивчення сучасних технологій:

  • Освойте сучасні технології, такі як рейтресинг і Lumen, які дозволяють створювати реалістичне освітлення без видимих джерел світла.

Аналіз шедеврів освітлення у геймдеві:

  • Вивчайте ігри, які вважаються взірцем у використанні освітлення, наприклад, Alan Wake 2, де використовуються м’яке та розсіяне світло.

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини про геймдев

👍ПодобаєтьсяСподобалось5
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі