Що таке Unity? Курс Unity для митців (3 урок)

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

Всіх вітаю! Це третій урок курсу — Unity Essentials (Основи Unity). Перший та другий урок публікувалися на форумі раніше.

Ми переходимо до другого блоку «Досліджуйте Unity». Суть цього блоку — у дослідженні ролей і кар’єрного шляху Unity розробника. Ви дізнаєтеся, як і в яких сферах використовується Unity. А також виконаєте декілька завдань і приміряєте на себе різні ролі, з якими стикаються люди, що працюють із движком Unity. А перша частина блоку присвячена темі real-time creation. Курс розроблений компанією Unity і перекладений для проєкту «Марсіанський Чайник».

Відеоверсія уроку:

Що означає real-time («в реальному часі»)?

Термін real-time означає: зображення, що візуалізується (або відображається) на екрані у реальному часі. Метою real-time програмного забезпечення є відтворення зображень настільки швидко, щоб людина могла вільно взаємодіяти з проектом без будь-яких помітних затримок. Коли проект або додаток працює в режимі real-time, користувач ніколи не замислюється про те, що він просто переглядає серію зображень, що постійно оновлюються, — замість цього він зосереджуються на вмісті.

В Unity взаємодія в реальному часі відбувається як для творців, коли вони створюють свої проекти, так і для кінцевих користувачів, коли вони їх використовують.

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

Цей тип візуалізації, який називається offline rendering, використовувався для неінтерактивних медіа, таких як фільм, у якому в кінцевому продукті є лише один незмінний набір зображень. Offline rendering не можна використовувати для інтерактивних медіа, таких як відеоігри, де користувач очікує контролю над тим, що він бачить і робить. Технологія рендеринга в реальному часі виросла з відеоігор, і мала задовольнити попит на інтерактивність. Ранні рендери в реальному часі жертвували візуальною якістю, складністю анімації та спецефектами. По мірі розвитку комп’ютерних процесорів якість відтворення в реальному часі зросла, що дало можливість створювати фотореалістичні real-time зображення в сучасних іграх.

Як сьогодні використовуються real-time інструменти?

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

Розрив між реальним світом і real-time rendering швидко скорочується. Ще не 1:1, але це скоро відбудеться — і набагато швидше, ніж ви очікуєте.

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

Що таке Unity?

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

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

Що таке ігровий движок?

Процес створення гри набагато складніший, ніж здається на перший погляд. На комп’ютері або мобільному пристрої, на якому ви зараз знайомитесь із цим матеріалом, працює операційна система, яка повідомляє вашому пристрою, як подавати живлення на екран, підтримувати налаштування яскравості, підтримувати доступ до Інтернету та відображати текст і зображення на екрані. ОС також виконує багато роботи у фоновому режимі, наприклад, регулює доступ пристрою до джерела живлення. Як виявляється виконується дуже багато задач, щоб відобразити лише текст!

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

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

Що ви можете робити в ігровому движку?

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

У ігровому движку творець об’єднує все, що користувач отримує в кінцевому продукті. Якщо цей продукт є грою, творець проектує ігрові механіки, наприклад стрибки на платформах; якщо це анімація, творець придумує анімацію, що записується; якщо це архітектурна VR візуалізація, творець створює фотореалістичне середовище, в якому опиниться користувач. Ігровий движок також дає розробнику можливість перетворити свій продукт в інтерактивний досвід для користувача.

Чого ви не можете робити в ігровому движку?

Усередині ігрового движка ви не створюєте assets — об’єкти та звуки, які є будівельними блоками інтерактивного досвіду. Натомість assets створюються в спеціалізованих програмах, які називаються інструментами створення цифрового контенту (DCC). Багато DCC інтегровано з Unity, щоб полегшити процес їх імпорту.

Найпоширеніші типи інструментів DCC, які використовуються в real-time розробці, включають:

  • 3D DCC: програми для створення 3D моделей, анімованих персонажів і середовища; приклади: Maya, ZBrush, Blender.
  • 2D DCC: програми для створення 2D зображень, ілюстрацій, текстур та інтерфейсів; приклади: Photoshop, Illustrator, Substance Painter, Gimp.
  • Аудіо DCC: програми для запису, редагування та змішування звукових ефектів і музики; приклади: Audition, Logic Pro, Reaper, Audacity.
  • Інтегровані середовища розробки (IDE): програми для написання коду різними мовами; приклади: Visual Studio, Rider.

Unity Asset Store

Хороші новини! Хоча навчитися використовувати DCC для створення Unity assets може бути чудовою навичкою, вам не потрібно створювати кожен asset у своїх проектах з нуля. Сотні готових до використання assets, створених за допомогою DCC, доступні вам через Unity Asset Store. Деякі з них навіть безкоштовні. Ви можете завантажувати та імпортувати assets безпосередньо у власні проекти, використовуючи менеджер пакетів у редакторі Unity.

Історія Unity

Все почалося з гри. Першим продуктом, що випустила Unity Technologies, був не ігровий движок, а гра. У 2005 році засновники Unity, Йоахім Анте, Девід Хелгасон і Ніколас Френсіс, випустили відеогру для MacOS, через рік після створення своєї компанії, яка тоді називалася Over the Edge Entertainment. Гра була створена на движку, який вони розробили з нуля, з наміром ліцензувати движок іншим розробникам.

Як створювалися ігри (до Unity)

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

Обмежена доступність попередньо створених движків була особливо проблематичною для незалежних розробників (indie developers): як окремих осіб, так і в невеликих команд. Створення ігрового движка є надзвичайно складним у технічному плані процесом і вимагає великого досвіду програмування. Якщо незалежний розробник не мав великого досвіду програмування, у нього не було б іншого вибору, окрім як ліцензувати движок, який часто коштував непомірно. З цих причин до середини 2000-х років самостійна розробка ігор була набагато рідким явищем, ніж її корпоративний аналог, а комерційно успішні indie ігри були ще більшою рідкістю.

Народження движка

GooBall не мав успіху, зате Unity мала успіх. Анте, Френсіс і Хельгасон представили движок Unity на Apple’s Worldwide Developers Conference. Початкове впровадження движка відбувалося повільно, але незабаром воно завоювало популярність серед інді-розробників.

Unity з’явився на ринку в середині 2000-х, коли обличчя ігрової індустрії почало кардинально змінюватися. Unity мав унікальну позицію, щоб стати важливою частиною «революції інді-ігор» (indie game revolution), як її почали називати. Три фактори мали вирішальне значення для успіху Unity: впровадження надійних цифрових моделей розповсюдження ігор, зосередженість на незалежних розробниках як основній аудиторії, і підтримка перших смартфонів.

Впровадження високошвидкісного Інтернету було в самому розпалі, коли Unity вперше запустили, що зробило цифрове розповсюдження ігор життєздатним варіантом. До цього у інді-розробників був дуже обмежений вибір моделей розповсюдження ігор. Майже всі ігри продавалися в роздрібних магазинах через домовленості з великими видавцями — тими самими компаніями, від яких інді-розробники намагались бути «незалежними». Завдяки швидшому та доступнішому Інтернету пересічний користувач міг легко завантажувати ігри, розміщені на особистому веб-сайті розробника, або через інтернет-магазини, які займаються послугами цифрової дистрибуції (які почали з’являтися в цей час). Ці цифрові видавці взяли на себе такі послуги як: хостинг, обробка платежів, і навіть керуванням цифровими правами. Використовуючи одну з цих служб, розробники отримали можливість витрачати більше часу на створення та підтримку своїх ігор, замість управління продажами та розповсюдженням своїх ігор. Хоча роздрібні продажі ігор все ще були найбільш поширеною формою росповсюдження ігор у середині 2000-х років, все більше споживачів почали використовувати цей новий спосіб пошуку та придбання ігор. А інді-розробники отримали доступ до своєї аудиторії.

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

Коли Apple відкрили App Store для сторонніх додатків, Unity був однією із перших технологій, яку підтримувала платформа iOS, що зміцнило роль Unity на стрімко зростаючому ринку мобільних ігор. Незабаром більше половини ігор у App Store були розроблені за допомогою Unity — тенденція, яка збереглась і на сьогодні для мобільних ігор як на iOS, так і на Android.

Колись основною цінністю Unity було «демократизація розробки ігор». Сьогодні — це просто «демократизація розробки» — не переміщення уваги від ігор, а — відкриття можливостей для чогось більшого. Зараз Unity перетворився з ігрового движка на real-time движок, отримавши нові інструменти для розробників ігор, а також для аніматорів, інженерів, дизайнерів, вчителів і маркетологів у багатьох галузях.

Що може Unity?

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

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

З моменту випуску в 2005 році Unity використовувався для створення тисяч ігор на більш ніж 20 різних платформах. Ігри Made With Unity (MWU) складають близько 50% з того, що сьогодні доступно на ПК, консолях і мобільних платформах, і близько 60% XR програм (віртуальна, доповнена та змішана реальність) створено на Unity. Отже, якщо вам подобається грати в ігри, ймовірність того, що ви грали в гру Made With Unity, величезна!

Медіа та розваги

Медіа та розваги (M&E) включає кілька різних, але тісно пов’язаних галузей, таких як кіно, анімація та реклама. M&E, на відміну від ігор, використовують Unity для створення пасивного контенту, а не інтерактивного, а це означає, що глядачі можуть не знати про те, що вони дивляться на контент, що створений за допомогою Unity. Unity значно скорочує час, необхідний для створення фільмів та анімацій, дозволяючи художникам і аніматорам бачити, як їхні твори оживають в режимі реального часу, заощаджуючи час на рендерингу та дозволяючи студіям швидше випускати високоякісний контент. Unity також дозволяє M&E розробникам досліджувати нові платформи, такі як доповнена та віртуальна реальність. Згідно статистики, у 2019 році 65% контенту на кінофестивалі Sundance New Frontier було створено за допомогою Unity.

Архітектура, інженерія та будівництво

Починаючи від магазинів і театрів і закінчуючи нашими робочими місцями і навіть нашими будинками — індустрія архітектури, інженерії та будівництва (AEC) буквально створює світ навколо нас. За допомогою Unity ці компанії поєднують традиційні методи проектування та будівництва з передовими технологіями, що дозволяє їм швидше проектувати, а також будувати ефективніше і безпечніше. Одним із популярних застосувань Unity в AEC є real-time 3D візуалізації, які відображають нещодавно спроектовані будівлі та кімнати з реалістичними деталями ще до того, як вони будуть побудовані. Ці візуалізації можуть допомогти дизайнерам експериментувати з новими технологіями, будівельникам — допомогти потенційним інвесторам візуалізувати свої проекти, а архітекторам та інженерам — співпрацювати під час будівництва. З XR ці візуалізації стають ще більш переконливими: з доповненою реальністю (AR) будівельники можуть побачити завершену візуалізацію будівлі на території, де вона буде стояти ще до того, як почнеться будівництво; завдяки віртуальній реальності (VR) клієнти можуть пройтись по збудованій будівлі під час початкової презентації проєкту. Більше половини з 50 найкращих компаній AEC використовують Unity для оптимізації життєвого циклу проектування та будівництва.

Автоіндустрія, транспорт та виробництво

Автомобільна, транспортна та виробнича галузь (ATM) використовує Unity різними способами: від прискорення інновацій до створення маркетингових кампаній. Вісім із десяти основних виробників автомобілів використовують Unity для впровадження інновацій та покращення своїх робочих процесів, революціонізуючи спосіб розробки, виробництва та продажу своєї продукції. Наприклад, автомобільні інженери використовують можливості VR від Unity для створення дизайнів продуктів і макетів заводських цехів, які прискорюють час ітерації та значно знижують витрати на розробку. Інженери розробляють ультрасучасні дисплеї в транспортних засобах і моделюють автономні моделі транспортних засобів у 3D середовищах високої якості. Автомобільні маркетологи створюють real-time конструктори за допомогою Unity, які дозволяють клієнтам переглядати та збирати особисту конфігурацію автомобілів за допомогою фотореалістичних 3D моделей та візуалізувати їх у різноманітних динамічних середовищах під час покупок в Інтернеті.

Відчуйте Unity в дії

Найкращий спосіб дізнатися про щось — це випробувати на власному досвіді! Ми створили програму, яка дозволить вам експериментувати з п’ятьма різними кейсами застосування Unity в різних галузях. Хоча це невеликі приклади, вони демонструють приклади реальних застосунків в цих областях сьогодні. Вивчаючи програму, спробуйте визначити відмінності та подібність у тому, як ці галузі використовують Unity. Як Unity їм допомагає? Що у Unity виходить особливо добре, виходячи з вашого досвіду?

Unity використовується в багатьох галузях різними способами, але спільним є потреба бачити, розуміти або взаємодіяти з фізичними об’єктами у віртуальних просторах, робити нереальне реальним. У віртуальному просторі будь-хто може зробити що завгодно — все, що їм потрібно, — це Unity та ідея.

Творці приходять в Unity з багатьох різних галузей з різних причин. Незалежно від їхніх кінцевих цілей, їхні шляхи навчання подібні. Коли ви починаєте власний шлях навчання з Unity, пам’ятайте, що для того, щоб стати досвідченим творцем, потрібен час. Ніхто не стає експертом у Unity за одну ніч, і навіть найуспішніші відомі творці зазнали таких же труднощів, як і ви. У наступних уроках ви дізнаєтеся більше про процеси, інструменти та ролі real-time творців, щоб обрати своє місце в цій індустрії.

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

Хіба ж ігровий движок — це те, чим його тут називають?
Ігровий движок, наскільки я знаю — це весь той код, який є основою гри. Наприклад, якщо ви скажете, що якийсь об’єкт може падати під впливом фізики, то саме ігровий движок прорахує цю фізику. Якщо об’єкт взаємодіє з іншим об’єктом, то саме движок визначить цю взаємодію
А от Unity — це скоріш конструктор з власним ігровим движком

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