Ето как можете да направите 360 VR приложение за 10 минути с Unity

Имидж кредити: вашите наистина

Виртуалната реалност (VR) е вълнуваща. Това е и Новата граница на разработката на приложения.

VR е готов да роди нови форми на разказване на истории и емоционално мощни преживявания. И все пак правенето на VR се възприема като плашещо: скъпо е и изисква както специален хардуер, така и умения.

Но това се променя, тъй като интуитивните инструменти и достъпният хардуер правят разработката на VR достъпна. Този урок ще ви покаже как да изградите 360 видео приложение на Android и Google Cardboard само за няколко минути. И почти не се изисква кодиране;)

Развитието на VR не трябва да бъде пречка за реализиране на вашите идеи. Да започваме:

От какво имаш нужда

Ето нашия списък с хранителни стоки:

Android телефон с жироскоп за усещане на движенията на главата, работещ на KitKat или по-нова операционна система.

Слушалки от картон Ако нямате такъв, можете да намерите много в Amazon за по-малко от 10 долара. Този ми е любим.

Unity3D, игра на кросплатформен игра, която трябва да инсталирате на вашия компютър, версия 5.6 или по-нова. Ще използваме този софтуер за изграждането на целия ни проект.

SDK на GoogleVR SDK за Unity, който можете да изтеглите предварително.

360 видео. Снимайте такава с 360 камера (ето тази, която можете да включите в телефона си) или я намерите онлайн.

Как изграждаме това приложение?

За разлика от обикновеното видео, което има правоъгълна рамка, 360 видеото имат формата на сфера. Така че, първо трябва да създадем сферичен екран, за да проектираме 360 видеото си върху. Плейърът (или зрителят) ще бъде разположен вътре в тази сфера и ще може да гледа видеоклипа във всяка посока.

Стъпките по-долу трябва да ви накарат да се почувствате овластени да направите свои собствени промени, като обясните как всичко работи под капака. За инструкции стъпка по стъпка вижте видеото

Стъпка 1: Изградете сфера

Първо, нека отворим нов проект Unity, ако започвате от нулата (или нова сцена, ако искате да интегрирате 360 видео плейъра в съществуващ проект.) Мислете за сцена като едно ниво на видео игра, а проект като пълна игра.

След това добавете сферен обект в Сцената, поставен в центъра му (Позиция = 0, 0, 0), с радиус 50 (Мащаб = 50, 50, 50). Положението на камерата също трябва да бъде настроено на 0, 0, 0. Камерата е очите на играча / зрителя, така че искаме в центъра на сферата. Поставянето му на друго място би направило видеото да се изкриви.

След като камерата бъде поставена вътре в сферата, последната вече не се вижда в сцената. Не се притеснявайте, има обяснение за това! Всъщност повечето двигатели по подразбиране не представят по подразбиране вътрешната страна на 3D обектите. Това е така, защото рядко ни се налага да ги виждаме, би било загуба на ресурси да ги рендираме. Ще поправим това следващо.

Стъпка 2: Обърнете нормалните полета за сферата

В нашия случай трябва да виждаме нашата Сфера отвътре. Това е цялата точка на приложението, така че ние ще го превърнем отвътре навън.

В Unity сферите всъщност не са сфери (какво? Ние сме били лъгани през цялото време!), Те са полигони, направени с хиляди малки, мънички фасети. Външните страни на фасетите са видими, но не и вътрешните. Поради тази причина, ние ще направим програма за прелистване на тези малки фасетки като палачинки.

В 3D геометрията наричаме тази трансформация «обръщане на нормали» или «прелистване на нормали».

Ще използваме програма, наречена Шейдър, която ще приложим към материала на сферата. Материалите контролират появата на обекти в Unity. Шейдърите са малки скриптове, които изчисляват цвета на всеки представен пиксел въз основа на осветлението и информацията, изтеглена от техните материали.

Следователно създайте нов материал за сферата, а след това нов шейдър, приложен към този материал. Трябва да напишем персонализиран код за Шейдъра ... но не се страхувайте, можете да копирате и поставите кода по-долу:

Този малък шейдър ще превърне всеки пиксел от сферата отвътре навън. Сега нашата сфера изглежда като голяма бяла топка, гледана отвътре, в нашата сцена. Следващата стъпка е да превърнете тази бяла сфера във видеоплейър.

Стъпка 3: Проектирайте 360 видеоклипа си в сферата 📽

Тук трябва да имате под ръка 360 mp4 видео. Импортирайте го в проекта, след което го плъзнете в сферата. И тогава се случва магията: компонентът на „Видео плейър“ се появява и се разраства, видеото е готово за възпроизвеждане.

Можете да играете с настройки като контури и аудио. Той също така поддържа стрийминг!

Стъпка 4: Настройте Google Cardboard

В тази стъпка ще направим опитът наистина да се почувства потапящ. Ето защо искаме да го видим в VR слушалки, тук Google Cardboard.

Ще създадем „стереоскопичен“ изглед (екранът ще бъде разделен на две, с някои ефекти на рибешко око от двете страни - по една страна за всяко око), използвайки SDK на GoogleVR. Ефектът „риболовно око“ върху всяко око, съчетан с изкривяването на пластмасовите лещи от Картон, е това, което ви създава илюзията за дълбочина и потапяне.

За да добавите GoogleVR SDK към нашия проект, изтеглете и импортирайте приставката, след това ще коригираме набор от настройки за Android:

  • Отидете в менюто на горната лента> Файл> Настройки за изграждане. Добавете вашата отворена сцена, ако тя вече не е добавена, след това изберете Android в списъка с поддържани платформи.
  • Кликнете върху Switch Platform. Трябва да отнеме малко време, когато за първи път превключите.
  • Кликнете върху Настройки на плейъра. Компонентите се появяват в панела с инструктори.

В инструмента за настройки на плейъра, в секцията „Други настройки“:

  • Проверете поддържаната виртуална реалност. Под SDK за виртуална реалност изберете иконата +, след това изберете Картон, за да го добавите към списъка.
  • Въведете име на пакет в полето Идентификатор на пакет (например com.yourdomain.demo360). Тя трябва да бъде уникална и се използва за разграничаване на нашето приложение от другите в магазина на Google Play.
  • Задайте падащото меню Минимално ниво на API на „Android 4.4„ Kit Kat “(API ниво 19)“.

След това вземете елемента „GvrViewerMain“ от папката GoogleVR \ Prefabs в браузъра на проекта и го плъзнете на сцената. В инспектора му дайте същото положение като центъра на сферата - (0, 0, 0).

Предварителната настройка на GvrViewerMain контролира всички настройки на VR режим, като например адаптиране на екрана към обектива на Картон. Той също така комуникира с жироскопа на телефона си, за да следи движенията на главата ви. Когато завъртите главата си, камерата и това, което виждате, също се обръщат във 360 видео плейъра.

Сега можете да погледнете във всички посоки, когато видеото е включено и екранът е разделен на две, за да се поберат и двете лещи на картона.

Стъпка 5: Стартирайте приложението на Android

За нашата последна стъпка ще стартираме приложението на телефон с Android и ще го споделим с приятели!

Има два начина да направите това:

  • Върнете се към File> Build Settings. Можете да включите Android телефон с USB кабел към вашия компютър и да кликнете върху Build & Run. Това инсталира приложението направо на вашия телефон.
  • Другият вариант е да кликнете само върху Build. Това не го инсталира на телефон, а вместо това генерира APK файл. Можете да споделите APK по имейл с всеки, който иска да опита шедьовъра, който току-що сте изградили. Те трябва два пъти да докоснат APK прикачения файл, за да го инсталират на своите телефони.

По време на процеса на изграждане може да бъдете помолени да изберете основната папка Android SDK. В такъв случай изтеглете SDK за Android, след което изберете местоположението на папката му.

Стартирайте приложението, пуснете телефона си в картонни слушалки, добре е да продължите! Можете да замените видеото с всичко във формат 360 и да изпитате потапяне на VR 360 у дома.

Отиваме по-нататък

Поздравления, направихте 360 видео приложение и сте на една крачка от създаването на VR видео приложение! Въпреки че термините често се използват еднакво, 360 и VR определят две различни преживявания:

  • 360 видео се записват от всички ъгли, със специална камера или сбор от няколко. Потребителят може да гледа във всяка желана посока, но няма интерактивност на изживяването.
  • VR обикновено се отнася до компютърно генерирана среда, в която потребителят е потопен. Това е интерактивно преживяване: играчът може да се движи и да контролира обекти, в допълнение да гледа във всички посоки.

Вашето ново приложение може да служи като отправна точка за изграждане на по-богато VR преживяване. Unity има много функции, които можете да използвате, като добавяне на 3D елементи или готини ефекти на частици за наслагване и подобряване на видеоклипа ви или хвърляне на някои интерактивни елементи.

Можете също да поставите пълна 3D среда във 360 видео плейъра и да използвате последния като небесна кутия. Потребителят може да се ориентира в пейзажа, използвайки този прекрасен сценарий за ходене.

Оставете въображението си да се развихри и да ми покажете вашите творения: туитвайте ме @AdrianaVecc или оставете коментар.

Изработването на красиви VR истории е трудно. Изграждането им не трябва да бъде.

Ако тази статия ви е харесала, моля, натиснете по-долу, така че другите хора да я видят.

Адриана е художник и продуктов дизайнер, който прави VR преживявания, изграждащи съпричастност. Ако искате да оживите вашите VR идеи, застрелете ни имейл: hello@vrtiginous.com