Unity URP. Туторіал для початківців

«Фотореалізм, сочна картинка чи просто крутий стиль гри? Це не про Unity!»

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

Теорія

URP (universal render pipeline) — це один з SRP(scriptable render pipeline), анонсованих Unity у версії 2019.3.

Легше не стало, тож давайте розбиратися далі. SRP — це крута можливість розробникам самостійно через скрипти змінювати спосіб рендеру, не поринаючи у глибини математики шейдерів та фізики світла у Unity.

Ціль URP в тому, щоб ще більше зменшити це заглиблення і дати вже готовий пресет для будь-кого, хто працює з рушієм. URP може видати красиву та соковиту картинку у будь-якому необхідному стилі мінімальними затратами ресурсів пристроїв та розробників. Але як? Величезна кількість налаштувань, вбудований постпроцесинг, змінений рушій рендерингу світла і матеріалів... URP повністю змінює підкапотну частину нашого улюбленого рушія, роблячи його ще кращим, ніж він був до цього!

Практика

Давайте розберемося на практиці, що ж таке URP і з чим його їдять.

Існує два способи почати використовувати URP:

1) Створити проєкт з пресету і почати працювати;
2) Перевести вже існуючий проєкт на URP шляхом встановлення відповідного package.

Для створення проєкту з вбудованим URP ми йдемо у Unity Hub і звідти вибираємо 3D Sample Scene(URP) або ж просто 3D(URP). Якщо ви не бачите цих пресетів у вікні створення, тоді пролистайте вниз та додатково інсталюйте їх.

Головна перевага проєкту з передвстановленим URP у тому, що він вже налаштований. Ефекти постпроцесингу, налаштування у самому едіторі — все виставлено та з цим вже можна працювати.

При створенні семплу нас зустрічає приблизно така сцена:

Вже непогано, еге ж? Проте, як я вже зазначив, такий варіант найкраще підходить лише для створення нових проєктів. Гайда розглянемо варіант з вже готовим проєктом.

Нехай у нас є такий проєкт: простенька сцена з lowpoly графікою та кастомний скайбокс. *Пекеджі: Fantasy Skybox FREE, SimpleNaturePack*

Щоб перевести вже існуючий проєкт на URP нам треба:

1) Відкрити Package Manager.

2) У пошуку вписати «universal rp».

3) Інсталювати його, трішки почекати та перезапуститися.

4) Далі ми повинні вказати Unity, що хочемо використовувати URP замість дефолтного рушія рендерингу.

Йдемо до вкладинки Assets, правим кліком Create -> Rendering -> URP Asset (with Universal Renderer)

5) Далі переходимо у вкладинку Project Settings -> Graphics. Перетягуємо у поле «Scriptable Render Pipeline Settings» наш створений URP Asset. Чекаємо, поки Unity все підгрузить.

Тепер, в більшості випадків, все перетворюється в рожеву кашу, як на цьому скрині:

Проте розробники Unity передбачили такий розвиток подій.

Як це виправити:

6) Вибрати матеріали, які зламалися, у папці Assets.

7) Перейти у вкладинку Edit -> Rendering -> Materials -> Convert Selected Built-in Materials to URP.

І ось результат:

Тепер ми можемо переходити до використання усіх смаколиків, що завозяться разом з URP! Наприклад, додамо постпроцессингу:

1) Створимо новий GameObject та додамо на нього компонент Volume:

2) У полі Profile тикнемо New, а потім Add override:

3) А тепер ми можемо гратися з усіма ефектами, допоки не отримаємо бажаний вигляд! Наприклад так:

4) Якщо ви не бачите свої ефекти у Game view, тоді переконайтеся, що на камері у вкладинці Rendering ввімкнена галочка Post Processing:

І ось фінальний результат у порівнянні з початковим:

Блякла та нецікава сцена стала набагато соковитішою, а кольори — світлішими та насиченими. І все це лише декількома кліками!

Висновок

URP — це дуже крута річ, яка перетворює розробку ігор в насолоду, виправляє деякі недоліки Unity та допомагає надихати більше кольорів у вже існуючу графіку. В майбутньому URP замінить дефолтний pipeline і стане основною фішкою та силою Unity.

Любіть Unity, використовуйте URP та робіть хороші ігри! До зустрічі!

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

👍ПодобаєтьсяСподобалось7
До обраногоВ обраному1
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

Стаття гарна, але ще б подібне для 2Д зробити.

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