Як працює Unreal Engine | SKVOT
Skvot Mag

Не соромно запитати: як працює Unreal Engine

І як із ним працювати 3D-спеціалістам і non-tech фахівцям: особливості, переваги, скілсет.

Не соромно запитати: як працює Unreal Engine
card-photo

Саша Кривко

Редакторка у SKVOT

18 жовтня, 2023 Геймдев Стаття

Якщо геймер бачить на екрані зручну та красиву гру, це значить, що 3D-спеціаліст перетворив ідеї на потужні 3D-моделі та 3D-сцени. Це все можна зробити в Unreal Engine, навіть не вміючи кодити.

Що таке Unreal Engine, чим він корисний для різних спеціалістів у 3D та як працювати з цим софтом, знає Вадим Онишко. Він founder & CEO в SomniumGame. За 7 років у професії побував з різних боків геймдеву: від Gameplay C++ Unreal Engine Developer — до ліда й СТО, працював у Dragons Lake та Fractured Byte. 

 

Основне про Unreal Engine

Unreal Engine —  інструмент для створення ігор і сцен із використанням 3D-моделей, розроблений компанією Epic Games. Ця програма призначена для створення ігор і симуляцій. Особливості рушія такі:

#1. Графічна потужність. Unreal Engine надає засоби для створення дивовижних графічних ефектів: високоякісне освітлення, рендеринг (формування зображення або відео з тривимірної сцени — прим. ред.) і підтримка віртуальної реальності.

#2. Реалістичний результат. Unreal Engine дозволяє моделювати об'єкти, відтворювати їхній рух і взаємодію з навколишнім середовищем реалістично. Дерево, скло, метал, світлові ефекти та обробку світла також можна зробити в цьому рушії.

#3. Підтримка різних платформ. UE (Unreal Engine) використовують для розробки ігор на різних платформах: комп’ютерах, консолях, мобільних пристроях і у віртуальній реальності.

#4. Створення ігор без програмування. Unreal Engine використовує мову програмування C++, а також має систему розширень та графічний інтерфейс для того, щоб зробити гру, не знаючи кодингу.

Інтерфейс Unreal Engine 5 під час створення персонажа. Джерело: beforesandafters.com

Скілсет для роботи в Unreal Engine

Навички для роботи в усіх 3D-програмах схожі. Це розуміння топології (те, як полігони формують об’єкт), базові знання графічного дизайну та робота з текстурами. Окрім цього, для роботи в Unreal Engine потрібно:

#1. Здобувати нові навички. Це дає конкурентну перевагу. 3D-спеціалісти, що інвестують у постійне навчання, мають більше можливостей отримати роботу над цікавими проєктами.

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

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

Для моделера та аніматора: знати анатомію. Це допомагає створювати більш правдоподібні об’єкти й персонажів. Розуміння того, як працює тіло людини або тварини, дозволяє створювати анімацію та моделі з правильними пропорціями та рухом.

Для розробника: розуміти проєктування і геймдизайн. Це потрібно, щоб розробити структуру гри, прописати розташування об'єктів, рівнів, етапів та шляхів, які гравці будуть проходити.

Створення прототипу людського тіла в Unreal Engine. Джерело: docs.unrealengine.com

Що корисного в Unreal Engine для 3D-спеціалістів

Unreal Engine надає різним 3D-фахівцям широкий набір інструментів та можливостей для роботи. 3D-моделер, 3D-аніматор, геймдизайнер і концепт-художник використовують цей софт по-різному. І ось як:

#1. 3D-моделер. Він дивиться, який вигляд матиме його модель, коли її будуть використовувати розробники. Також в Unreal Engine можна зробити рендеринг портфоліо та завантажити його.

#2. 3D-аніматор. Цей спеціаліст створює ріг — скелет об'єкта, який потрібно анімувати. В Unreal Engine це роблять для того, щоб оптимізувати модель перед тестуванням. Також можна робити рантайм-анімацію (яка завантажується не попередньо, а в самій грі). Так перевіряють, чи не навантажуватиме гру анімація, створена спеціалістом. 

#3. Геймдизайнер. Цей фахівець може самостійно зробити невеликий прототип (першу версію 3D-сцени — прим.ред.), подивитися, який це матиме вигляд і чи є сенс у такій механіці. Так геймдизайнер зможе не перекидати цю задачу на розробників, розвантажити їх та зробити самостійний рисерч.

#4. Концепт-художник. Для концепт-художника цей софт є додатковим інструментом. Можна загнати модель в Unreal Engine і зробити поверх неї 2D-обробку. Також у цій програмі виставляють камеру та дивляться на об’єкт для розуміння того, що потрібно вдосконалити.

Дізнатися більше

Чим Unreal Engine корисний для non-tech фахівців у геймдеві

Unreal Engine може знадобитися не лише технічним спеціалістам, але й non-tech фахівцям. Опанувати процес створення гри доволі легко, навіть не маючи поглиблених знань і навичок. Це допоможе краще порозумітися з тіммейтами, які працюють у рушії. Загалом цей софт корисний для нетехнічних фахівців у таких аспектах:

#1. Естимація задачі. Проджект-менеджер і продакт-менеджер мають знати, скільки часу займає розробка гри та кожен з її етапів. Якщо фахівець орієнтується у простих задачах, він не турбуватиме зайвий раз ліда, tech-спеціаліста й розробника із запитаннями про те, коли вони виконають завдання. Звісно, час виконання будь-якої задачі non-tech спеціаліст має узгодити з 3D-фахівцем.

#2. Орієнтація в софті. Проджекту й продакту необхідне розуміння, чого від них хочуть, про що кажуть розробники та замовники. Цей скіл потрібен, щоб не бути людиною, що стоїть осторонь і зовсім не осмислює, що відбувається. Non-tech спеціаліст не має бути зіпсованим телефоном, що передає неточну інформацію від розробників замовникам і навпаки.

#3. Відсіювання неможливих задач. Є речі, які неможливо зробити в Unreal Engine. Частина з них має відсіюватися ще менеджером, а не командою розробників. Тоді 3D-спеціаліст або розробник зможе одразу взятися до таски, а не ламати голову над тим, як виконати завдання в рушії, який для цього не пристосований. 

Основні обмеження Unreal Engine

Unreal Engine — це потужний ігровий движок. Він має не тільки численні можливості, але й деякі обмеження. Ось головні з них:

#1. Unreal — не для маленьких проєктів. Казуальні та мобільні ігри краще робити на інших рушіях: Unity або Cocos2d. Unreal Engine має велику кількість інструментів та можливостей, які не знадобляться маленькому стартапу під час розробки гри. Неправильний вибір софту робить гру більш складною і тривалою в розробці, особливо якщо це невеликий проєкт з обмеженим бюджетом та ресурсами.

#2. Ліцензійні витрати. Для комерційних проєктів Unreal Engine передбачає роялті (відрахування від прибутку), якщо гра приносить творцям великий дохід. Це може стати обмеженням для невеликих студій.

#3. Створення вебігор. Unreal Engine у версіях після 4.24 не має підтримки для браузерної взаємодії, адже софт спроєктований головним чином для розробки ігор і симуляцій. Вебігри краще створювати на інших софтах.

Чому Unreal Engine, а не Unity

Вибір між Unreal Engine та Unity залежить від конкретних потреб команди. Обидва рушії мають свої переваги та обмеження в роботі над різними проєктами. Ось деякі поінти на користь Unreal Engine:

#1. Графіка та візуалізація. Unreal Engine має потужний графічний рушій, тому підтримує фотореалістичну візуалізацію. Цей софт надає можливості для створення величезних світів і 3D-моделей, тут можна додавати ефекти світла й тіней. 

#2. Розвинені блупринти. Це система візуального програмування, що дозволяє створювати скрипти (програмні коди) та інтерактивні функції без написання коду вручну. Для роботи з Unity потрібно базово знати мову програмування С#. Unreal Engine дозволяє зібрати готовий проєкт, зовсім не знаючись на коді.

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

Do’s and Don'ts

Щоби працювати в Unreal Engine, потрібно опанувати прототипи, меші (геометричні форми) і текстури. Робота в цьому рушії буде легшою, якщо знати й розуміти ці правила: 

#1. Не працюй з Unreal, якщо не любиш ігри. Це стосується всіх рушіїв загалом. Хтось іде у геймдев, бо йому розповіли, що тут великі зарплати (це не завжди так). Якщо людина не геймер, у розробці ігор їй буде незручно і некайфово. Вона не виросте до професійного рівня і просто втратить час. У такому випадку високий ризик вигорання. 

#2. Застосовуй інструменти контролю версій. Один із найпопулярніших — Git. Він дозволяє зберігати історії змін і працювати над проєктом у команді (адже кожен може завантажити код). Цей інструмент розв’язує конфлікти: якщо кілька розробників вносять зміни в один і той самий файл, система контролю версій вивчає конфлікти й розв’язує проблеми шляхом об'єднання чи відхилення змін.

Редагування геймплею двома людьми одночасно в Unreal Engine. Джерело: docs.unrealengine.com

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

#4. Кастомізуй рушій. Unreal Engine має великий код, його можна повністю переробити під себе. Так створиш унікальний геймплей та стиль, графічні ефекти й шейдери (тіні). 

Важливі гарячі клавіші в Unreal Engine

Цей софт, як і будь-який інший, має hotkeys — гарячі клавіші, які полегшують і прискорюють роботу. Ось декілька гарячих клавіш, які зазвичай використовують в Unreal Engine:

#1. Ctrl + X — вирізає потрібний об’єкт.

#2. Ctrl + D — дублює виділений предмет.

#3. Alt + ліва кнопка миші — обертає камеру. 

#4. Alt + права кнопка миші — робить зум камери.

#5. Пробіл — вимикає інструмент редагування об’єктів. 

#6. Shift + F1 — відкриває довідку з докладним поясненням роботи UE.