Керівництво для початківців VR-розробників



У цьому посібнику зібрані базові посилання та рекомендації, які можуть послужити вам точкою відліку в освоєнні VR-розробки.

1. Вивчаємо обладнання
Запитайте себе: мене цікавить розробка для десктопних пристроїв, на зразок HTC Vive, або мене більше приваблюють мобільні пристрої на кшталт Samsung Gear VR або Google Cardboard? Якщо ви поки не визначилися, то почитайте огляди і подумайте про те, що краще вибрати для вашого ринку. Якщо для ваших ідей потрібні контролери руху або якісна графіка, то орієнтуйтеся на підключаються до комп'ютера окуляри VR. Моделі, які сьогодні підтримуються движками Unity, Unreal та веб-реалізаціями:

Комп'ютерна VR:

Мобільний VR: (в якості базового пристрою може використовуватися смартфон)

Веб-реалізація віртуальної реальності: (в якості базового пристрою може використовуватися смартфон)

  • Мова розробки Mozilla A-Frame (як HTML і XML) для створення кроссплатформенних VR-додатків. Щоб зрозуміти, як це виглядає, зайдіть на сайт зі свого смартфона, відключіть блокування орієнтації і натисніть кнопку VR.
  • Vizor — веб-додаток, що дозволяє створювати 3D-сцени і переглядати їх на різних платформах, включаючи мобільні пристрої. Звичайно, можливостей у нього менше, ніж у ігрових движків або відкритих веб-платформ, але зате вона дуже проста і дозволяє легко почати вивчати створення віртуальної реальності без дорогих пристроїв. блог є кілька вступних постів.
  • Responsive WebVR — багатоплатформовий інструмент, доступний для модифікування. Можливо, ви захочете, щоб освіжити його за допомогою Three.js.
Поки не випущений:

  • Google Daydream. Недоступне, але вже підтримується в Unreal Engine 4, очікується підтримка в Unity.
  • OSVR HDK 2, $399. Вийде в липні, не згадано контролер руху.
2. Вивчаємо
Дизайн для VR дуже схожий на дизайн відеоігор, оскільки в обох випадках ми маємо справу з інтерактивним 3D-досвідом. Різниця в тому, що в VR потрібно приділяти особливу увагу ефекту присутності, заглибленості, нелінійності оповідання, не викликає нудоти переміщення та графічній оптимізації.

Більшість VR-розробників воліють використовувати ігрові движки (якщо тільки не створюють для веб-VR, про що нижче), і з самого початку їм доводиться вибирати, на чому працювати. Найпопулярніші движки — Unreal Engine 4 (UE4) і Unity. Обидва мають дуже широкі можливості і є надійними інструментами. Навколо обох склалися активні спільноти з численними інформаційними ресурсами. Обидва движка дозволяють керувати 3D-оточенням, імпортувати власний контент (3D-моделі, зображення, звук, відео), а також програмувати інтерактивність і геймплей. На YouTube є величезна кількість навчальних відео, а в мережі — посібників, створених як самими авторами, так і шанувальниками.

Серед VR-розробників немає загальноприйнятої думки, що один з цих движків краще іншого. У кожного є свої особливості. UE4 вважається більш оптимізованим з точки зору обчислень, дає більш достовірну картинку, але має більш круту криву навчання. Unity створювався з розрахунку, щоб його вистачало можливостей для створення комерційних ігор, але при цьому він залишається більш інтуїтивно зрозумілим і ефективним для початківців розробників. Unreal Engine 4 можна завантажити і використовувати безкоштовно, але авторам доведеться щоквартально виділяти по 5% доходу з гри, якщо він перевищить $3000. У Unity є кілька версій різної вартості, але можна зупинитися на безкоштовній Unity Personal. Бажано спробувати обидва движка, щоб зрозуміти, який вам підходить більше, хоча тут важко помилитися, тому що ви в будь-якому випадку отримуєте чудовий і могутній інструмент.

Крім ігрових движків, ви можете звернутися до розробки інтерактивних VR-веб-сторінок. Це можна робити за допомогою мови розмітки mozilla's A-Frame, JavaScript (поковыряйтесь Three.js!), HTML5 та/або WebGL. Подібні експерименти ведуться в Chrome і Mozilla. Розробка для веба дозволяє відображати VR-контент прямо на смартфонах користувачів, так що вам не знадобиться дороге додаткове обладнання. Також вам не доведеться компілювати або упаковувати код, ви можете легко ділитися своїми творіннями з друзями. Якщо вам це здається занадто трудомістким, то можете почати з найпростішого редактора VR-сцен Vizor, що дозволяє малювати на комп'ютері і переглядати з мобільних пристроїв.

Після того, як ви визначитеся з движком або веб-додатком, треба детальніше ознайомитися зі своїм вибором. Почніть з азів мови програмування, який використовує ваш інструмент: C++ і Blueprints Visual Scripting (UE4), C# (Unity) або кастомный мова розмітки для веб-додатків. Якщо ви розробляєте для Android, то скачайте Чоловічий Studio і спробуйте розгорнути тренувальне додаток. У випадку з Google Cardboard і Unity зверніться до Google SDK.

/learnVRdev wiki є посилання і матеріали, корисні для тих, хто навчається використовувати движки. Краще знайомитися з движком з якого-небудь керівництва, щоб краще відчути його, як маніпулювати об'єктами у просторі, і так далі. У Unity і Unreal є вбудований попередній перегляд, так що ви можете відразу побачити, що у вас вийшло!

3. Створіть або знайдіть арт-матеріали
Отже, ви вибрали движок і обзавелися VR-пристроєм. Тепер вам потрібен графічний контент, аудіо матеріали, 3D-моделі і анімації для заповнення віртуального світу. Все це можна знайти в мережі, насмикати з популярних ігор (якщо ви не плануєте продавати свій продукт), зробити самостійно або модифікувати готові матеріали. Пам'ятайте, що віртуальна реальність вимагає максимально реалістичного візуального та звукового оформлення при близькому дослідженні, з різних сторін, навіть якщо об'єкт стилізований або абстрактний.

3D-моделі
У початківців є два шляхи.

  1. найпростіший: використовувати відкрито доступні 3D-моделі, поки ви вивчаєте інші аспекти VR-розробки. Можна використовувати вміст сховищ ресурсів (asset stores) Unity і Unreal, або пошукати на сторонніх сайтах. У початківця і так голова забита безліччю нової інформації, так що краще таким чином спростити собі процес навчання.
  2. Інший варіант: навчитися робити 3D-моделі самостійно. Це важче, але в довгостроковій перспективі краще. Адже з часом ваші проекти будуть ускладнюватися, і рано чи пізно вам знадобляться власні арт-матеріали.
Навіть якщо ви вирішили взяти вже готові исходники, можливо, в результаті ви захочете підправити їх в 3D-редакторі. На щастя, для цього є достатньо онлайн-ресурсів. Професійними інструментами можна користуватися по щомісячної підписки, порівнянної з абонентською платою за MMORPG. І в мережі є керівництва з усіх питань 3D-моделювання (в першу чергу, на YouTube). Використовуйте пошук на кожному сайті! Якщо вам потрібен більш якісні навчальні матеріали, то можете підписатися на PluralSight. Чимало корисного можна знайти і на Reddit, в обговореннях різних VR-спільнот.

  • 3D-моделювання:
    • Autodesk's Entertainment Creation Suite. Пакет програм, що включає в себе Maya, 3ds Max, Motionbuilder і Mudbox, з нативним експортом в Unity і UE4) доступний для «студентів» безкоштовно протягом трьох років. При цьому ніякої перевірки на «студентство» не робиться. У цьому пакеті є все, що потрібно для створення професійних моделей, текстур, анімацій і так далі.
    • Pixologic ZBrush (від $795, студентам — знижка). Це додаток для створення 3D-скульптур, що дає більше творчої свободи, ніж традиційні програми на кшталт Maya або 3ds Max. Воно дозволяє створювати і обробляти високополігональних, фотореалістичні моделі. Аналогічна функціональність Autodesk Mudbox.
    • Blender. Безкоштовний пакет opensource-програм для 3D-моделювання, анімації і ігрового дизайну. У нього дуже широкі можливості, але він набагато складніше в освоєнні, ніж комерційне.
    • Купувати і скачувати моделі і 3D-скани можна на сайтах Turbosquid і Sketchfab.
    • MODO Indie ($15 в місяць, або $300). Інструмент для 3D моделювання, малювання та анімації, призначений для ігрових дизайнерів та аматорського моделювання.
    • Speedtree ($19 в місяць). Додаток корисно для створення процедурно генеруються моделей дерев, рослин та інших гіллястих структур. Їх можна витягти зі всілякими опціями для використання в фотореалістичних ландшафтах.
Фотограмметрія (3D-сканування)
Як і VR, тривимірне фотосканування — це ще одна футуристична технологія, вже доступна для використання в дешевих мобільних рішеннях. Фотограмметрія — це використання численних фотографій цих об'єктів з різних ракурсів для побудови їх моделей. Фотографії імпортуються в додатку зразок Agisoft Photoscan, або одне з численних рішень від Autodesk, і на їх основі генеруються докладні сітчасті моделі. Потім їх разом з колірними/дифузними текстурними картами можна експортувати і використовувати в ігровому движку в якості регулярного ресурсу. Весь процес добре показаний на YouTube.

  • Фотограмметрія та 3D-сканування
    • Agisoft Photoscan (від $179). Набір програми для 3D-сканування, де в якості джерела даних використовуються фотографії.
    • Autodesk пропонується декілька різних рішень, від безкоштовних мобільні і хмарних (123D Catch до десктопних (Кам і Recap 360). Здесь обговорюються відмінності між різними програмами.
Аудіо і музика
Робота зі звуковими ефектами VR не надто відрізняється від роботи над музикою та ефектами в кіно і традиційних іграх. Як і у випадку з графікою, потрібно робити упор на реалізм і якість. Найбільша ступінь занурення досягається за допомогою розміщення джерел звуку відносно позиції гравця, напрямку його погляду. Щоб Unity і UE4 коректно функціонували з точки зору звуку, їх доведеться налаштовувати.

4. Впровадження інтерактивності
Після того, як ви освоїтеся з движком і приготуєте арт-матеріали, потрібно буде придумати, як надати вашому проекту інтерактивності. Я дуже рекомендую спочатку почитати про принципи побудови UI і UX у віртуальній реальності. Інакше у ваших користувачів можуть захворіти очі від поганих рішень по стереоскопічного рендерингу, або їх заколисує. Цього можна уникнути, просто відмовившись від прив'язки тексту для поля перегляду, навівши камеру гравця під час руху в видиму капсулу (автомобіль, скафандр, кабіну). А якщо ви хочете реалізувати ручне управління, то рекомендую робити все якомога реалістичніше — ваші зусилля по дослідженню і прототипированию будуть винагороджені відчуттям присутності.

Корисні ресурси за UI/UX у віртуальній реальності

Вам потрібно освоїти якусь подобу скриптової мови. В Unreal Engine 4 використовується інтуїтивно зрозуміла, схематична скриптова система Blueprint Visual Scripting. До речі, вона буде корисна для тих, хто ще не дуже впевнено почуває себе в програмуванні взагалі. Загальне введення в Blueprint, ця система достатньо потужна, щоб з її допомогою зробити весь проект, не написавши ні строчки коду (хоча ви і будете використовувати ряд програмістських методик). А взагалі в Unreal використовується З++, а в Unity — C#. Багато з тих, хто прагне увійти в VR-розробку, мають дуже мало досвіду програмування, так що цей етап стає особливо важким.

5. Кілька порад наостанок
Якщо ви самостійний розробник, пам'ятайте краще починати з малого. Коли ви освоїте базові речі, можна буде переходити до більш масштабних ідей. Але почніть краще з самого примітивного проекту. Розвивайтеся поетапно, створивши кілька проектів, ви зможете набагато впевненіше штурмувати більш складні завдання.
Джерело: Хабрахабр

0 коментарів

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