Unreal Engine 4 для розвитку своїх здібностей

Доброго часу доби, Хабр!

У цій статті я б хотів поговорити з вами про що недавно вийшов Unreal Engine 4, який на даний момент набирає все більшу популярність серед розробників ігор. І хоча стаття про UE4, проте вона зовсім не про игростой, хоч і пов'язана з ним.

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

Саму статтю я б хотів розділити на дві основні частини: Програмування з логікою і Дизайн з творчістю. Але перш за скажу пару слів про себе, що б ви розуміли, чому саме цей движок і що мене наштовхнуло на цю статтю.
Отже, приступимо.

Про себе

Мене звуть Олександр і мені зараз 20 повних років. Все життя ще попереду і саме час визначитися зі своїм майбутнім. Роки три тому я почав захоплюватися 3х-мірним моделюванням і до сьогоднішнього дня, на мій погляд, досяг хороших результатів. Ще з дитинства я любив грати у всякі комп'ютерні ігри і, як і багато, мріяв зробити щось подібне. Тому моя спеціальність спрямована в основному на real-time моделювання.

Однак для створення повноцінних ігор мені цього не вистачало, так як я не знав мов програмування, хоча мат. мислення було на хорошому рівні. Я намагався пізнати PHP, C++, Lua, RubyOnRails, JS. Але максимум, на що мене вистачило, це Jquery, та і той через тиждень після курсу примудрився забути. Все це досить таки розчаровувало, але я не здавався, продовжуючи тим часом удосконалювати свої здібності у 3-вимірної графіки.

Менше року тому вийшов UE4 і я, як шанувальник Unreal Tournament і самого Unreal Engine, дуже зрадів. Побіг вчити. Тут я б хотів проводити вас до наступних пунктів, які розкажуть, що може дати UE4, крім самих ігор.

Програмування і логіка

Деякі знають, в движку можна писати ігрову логіку на С++, а так само з допомогою візуальної системи програмування — Blueprint. Для тих, хто не знає, виглядає вона так:


Алгоритм сортування методом вставки) за ціною предметів в інвентарі

Саме про цю систему я й хотів би з вами поговорити. Будемо називати її «Блупринт».

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

Коли вперше його побачив, я був дуже радий, що зміг повторити спробу вивчення програмування на даній системі. І дійсно все пішло, куди краще, ніж з текстовими мовами. Я почав з простих речей. Змінні, прості функції, що куди з'єднувати і все в такому дусі. Тоді (це було влітку 14-го року) я ще не дуже добре тямив, як правильно організовувати роботу, як правильно і оптимізоване будувати алгоритми. Але поступово я став освоюватися в даній системі.

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

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

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

Таким чином, початківці игроделы, програмісти, або просто люди, які зацікавлені в тому, що б зробити щось своє, можуть без праці навчитися не тільки роботі з Блупринтами, але і дізнатися багато нових речей, не кажучи вже про розвиток логіки.

Давайте поглянемо на інший приклад — Матеріали:



Тут робота відбувається таким же чином, однак немає ніяких логічних послідовностей, тільки математика.

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

Давайте візьмемо простенький приклад: у матеріалу може бути колір і гладкість; у вас є текстура, на якій зображені різні робили вашого предмета, і вона вся красива і радує око. Але наклавши на модель просто текстуру, ви розумієте, що тут чогось не вистачає. Точно! Ось ця частина повинна бути гладка і відображати світ навколо, а ось ця робити навпаки матовою без відбиттів. Тут вам може знадобиться математика, що б з вашої текстури згенерувати чорно-білу мапу, де білий колір означатиме матову частину, а чорний — гладку.

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

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



Звичайно, текстура не звичайна, а спеціальна, але суть в тому, що після вивчення системи і невеликого досвіду, ви навчитеся будувати самі неймовірні речі.

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

Дизайн і творчість

Вам коли-небудь хотілося побудувати свій будинок, походити в ньому? Зняти свій фільм? Або просто створити красиву або похмуру сцену що б виплеснути накопичені емоції? Якщо так, то Unreal Engine 4 вам теж зможе чимось допомогти.

Ось кілька вражаючих роликів, які демонструють графічні можливості:



А так само в сфері візуалізації архітектури:



Звичайно, тут не обійшлося без красивих 3д моделей, анімації і всього іншого. Однак я хотів помітити особливість графіки, яку може видавати цей движок в реальному часі.

Сам же Unreal Engine 4 надає певний набір, завдяки якому можна створити щось своє, не вдаючись до стороннього софту (не рахуючи текстур). Не хочу вдаватися в подробиці, які ви самі зможете вивчити, якщо зацікавитесь, проте згадати все ж варто.

Всередині редактора існує інструмент під назвою BSP, завдяки якій ви можете спроектувати сцену. Хоча інструмент і призначений для проектування, а не для фінального результату, але за допомогою нього можна зробити нескладну модель і навіть перетворити її для того, що б вона могла піддаватися фізики. Можна зробити будинок, паркан тощо. Що завгодно, на що вистачить терпіння, так як інструмент поки що не самий зручний у використанні.

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

Для тих, хто знайомий з 3х-мірним моделюванням, в UE4 буде ще більше можливостей. Простота в імпортуванні (через формат FBX), простота установки, накладення матеріалів, так і їх створення теж не таке складне, якщо розібратися, робота зі світлом, запікання і багато іншого.

Сам я теж створюю 3D моделі і помітив за собою, що весь час хочеться перевірити, як модель буде виглядати всередині движка. І, зізнаюся, якість не поступається сучасним рендерам.

image
Робота користувача The_Distiller з офіційного форуму

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

Звичайно, тут можна придумати ще безліч переваг. Наприклад, візуалізація архітектури в реальному часі на прикладі відео, що було вище. Зняття красивих 3д роликів без багатогодинного рендера. Навіть є підтримка VR очок, завдяки чому можна зробити віртуальний тур. А уявіть, якщо цей тур буде з тієї реалістичної квартирі? Словом, для творчих людей тут теж знайдеться місце.

Підводимо підсумки

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

Звичайно, не варто розглядати UE4 як набір кнопок «зробити все добре». Інструмент дуже потужний з приголомшливим функціоналом, тому вивчити все і відразу теж не вийде. Однак якщо ви зумієте поставити собі стимул і наберетеся достатньо терпіння, то все у вас вийде!

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

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.