Майже не залишилося людей, які б не чули про віртуальну реальність, і, напевно, вже всі чули про VR-гарнітуру Oculus Rift, яка стала стандартом для подібного роду пристроїв. Також на ринку представлені рішення, що дозволяють використовувати екран смартфона з діагоналлю 4-5" в якості екрану VR-окулярів, таких як
Durovis Dive або гучні
Google Cardboard, які знизили планку демократичного входження у віртуальну реальність для всіх бажаючих, але, тим не менш, ця технологія поки не стала повсюдно поширеною: смартфон з правильною діагоналлю є далеко не у всіх, Щоб скористатися тим же картонним проектом Google, звичайній людині досить проблематично купити пристрій на кшталт Durovis Dive, нехай і не дорогого, але коштує грошей без будь-якого розуміння, що саме з ним робити далі, а тим більше замовити і дочекатися самого шолома Oculus Rift звичайній людині з багатьох причин - починаючи від ціни на пристрій, що робити з яким поки не зовсім зрозуміло і закінчуючи досить довгим очікуванням доставки замовлення. Природно, найголовнішим гальмом, крім ціни, є звичайна лінь і згасла цікавість.
У цій статті я розповім вам про свій шлях у віртуальну реальність, опишу докладний і майже вичерпний посібник з виготовлення VR шолома за допомогою будь-якого відносно сучасного Android-смартфона або планшета будь-якої діагоналі, цей проект обійдеться приблизно в 5-8 годин роботи і 500-2000 рублів витрат, в залежності від ваших побажань і можливостей, а на виході ви отримаєте дуже цікавий пристрій, що дозволить дивитися fullHD 3D фільми та фото, грати в ігри на Android, а також використовувати шолом для гри в улюблені комп'ютерні ігри будь-якого ступеня сучасності. Так, з відстеженням голови та зануренням у VR.
Тому, якщо ви не лінуєтеся і допитливі, будь ласка, заходьте, але попереджаю, стаття наповнена трьома десятками зображень "картопляної якості", загальною вагою 4 мегабайти.
У недавній статті про Google Cardboard читачі захопилися такою простою і цікавою концепцією - картонний шолом з парою лінз, вставте свій смартфон і полетіть, але у багатьох виникали питання «як його зробити для іншої діагоналі», «як встановити туди планшет», і, найголовніше, «чому мені складно побачити цей ваш 3D». Мене, як власника смартфона Sony Xperia Z Ultra діагоналлю 6,4", теж зацікавили ці питання, особливо після того, як мій друг отримав посилку з недавно випущеним Durovis Dive, де, як і в картонному шоломі Google, можна встановити пристрої тільки в районі п'яти дюймів по діагоналі, і він подарував мені пару лінз, які купив для виготовлення власного шолома.
Спроба притулити смартфон до занурення дуровіса не увінчалася успіхом – щось, звичайно, було видно, але це було далеко не 3D або хоча б прийнятною картинкою, та й запаху віртуальної реальності не було. При цьому четвертий нексус, встановлений у цьому пристрої, показав хороші результати, але роздільна здатність 1280х720 пікселів також не дозволяла досягти повного відчуття занурення.
Отже, маючи в руках смартфон, пару лінз і трохи оптимізму, я вирішив витратити трохи часу на виготовлення VR-шолома. Якщо у вас вже є подібний шолом власної розробки, гугл-картон або дуровіс дайвінг, і вам не цікаво читати мій досвід виготовлення, можна відразу переходити до опису можливостей застосування, впевнений, воно буде вам цікаве.
Інструменти і матеріали, необхідне обладнання для виготовлення шолома
Отже, перше, що нам потрібно - це fullHD смартфон або планшет з операційною системою Android, чим сучасніше, тим краще, при цьому діагональ, здебільшого, не важлива. Довга сторона екрану найважливіша – вона не повинна бути набагато менше вдвічі відстані між вашими зіницями, але і не повинна бути набагато більше – центр кожної половини кадру повинен припадати в центр зіниці, цей параметр регулюється близькістю і віддаленням лінз один від одного, і тут є підводні камені. Для довідки, діагональ смартфона, що використовується в описуваному шоломі, становить 162 мм, а довга сторона – 142 мм.
Друге, що нам потрібно – це лінзи. Тут потрібно пам'ятати, що об'єктив має робочу зону з мінімальними спотвореннями в центрі, а з віддаленням від неї якість зображення швидко падає, тому діаметр лінзи повинен бути досить великим, щоб покрити без спотворень різницю відстаней між очима і центрами половинок кадру, але при цьому не перевищувати певну межу, щоб лінзи можна було зрушити ближче один до одного або розсунути далі. Але так, щоб погляд проходив близько до центральної області лінзи. Це схематично зображено на малюнку нижче.
Я не буду зупинятися на темі вибору та пошуку об'єктивів, та й оптичної системи взагалі, тому що повністю описати цю велику тему в цій статті проблематично, варіантів дуже багато, і я не знаю, який з них у вас буде. У моєму випадку пара збільшувальних стекол була куплена в господарському магазині за 160 рублів, ось так:
В ході випробувань і первинних налаштувань було прийнято рішення розібрати їх корпуси, і який сюрприз - в кожній такій лупі була пара однакових (хоча б нерозрізнених неозброєним оком) лінз діаметром 50 мм і товщиною близько 8-9 мм, і ми будемо з ними працювати.
Власне, для виготовлення шолома вам знадобляться наступні матеріали та інструменти з найближчого будівельного магазину, в моєму випадку це був Leroy Merlin:
1. Піна будівельна, середньої щільності, товщиною 20 мм – 0,5 м2, 60 рублів за лист
2. Спінений поліетилен, товщиною 20 мм – 0,8 м2, 80 рублів за лист
3. Рулон двостороннього скотчу і лист мікрогофрокартону 2мм – 60 рублів за все
4. Широка гумка або ремінь, можна на липучках Velcro - 50 рублів за все
5. Набір інструментів для креслення і розкрою матеріалів - 100 рублів за все
6. Скотч, або в моєму випадку вінілова плівка в асортименті - 100 рублів за все
Скажу відразу, при купівлі матеріалів я не знала необхідної витрати, але за підрахунками на око, купленого одного листа пінопласту і поліетилену повинно було вистачити на 3-4 таких шоломи, і все це не продавалося в менших обсягах. Не біда, перед тим як приступити до роботи, просто запам'ятайте наступний корисний навик - відрізайте і відрізайте сміливо рівно половину матеріалу, не бійтеся викинути його і спробувати ще раз - матеріали коштують копійки, а ваш комфорт всередині шолома безцінний, тому краще переробити деталь зручніше, ніж терпіти натирання поверхні або здавлювання, або навпаки, занадто вільний розмір отриманого виробу.
Далі, оптимізуючи свою діяльність, я заздалегідь скажу вам, що ще до початку роботи вам потрібно буде завантажити на смартфон додатки та файли, на яких ви спробуєте налаштувати свою оптичну систему.
Програми та файли для перевірки працездатності
1.
MX Player 1.7.28 — цей безкоштовний програвач дозволяє відтворювати необхідні файли з потрібним співвідношенням сторін, а також кодек для нього, в залежності від типу процесора
2. Будь-які 3D відео файли, записані поруч, це можуть бути фільми, шоу та що завгодно, шукайте SBS HD в Інтернеті
3. Якщо вам складно знайти фільм у форматі SBS, є два чудових плеєра
Go Show і
SBS-Player – перший показує мультфільм з відкритим вихідним кодом Elephant Dream у безкоштовному режимі, а другий може відтворювати будь-які звичайні відеофайли, щоб вони відображалися в режимі SBS – тобто 3D ви не побачите, але зможете налаштувати фокус і зсуви об'єктива, А всередині шолома ви будете бачити себе так, ніби дивитеся звичайний фільм з дуже великого екрану
4. Звичайно, ви все ще можете встановити будь-які додатки з цих списків і використовувати їх, але особисто я не знайшов цей варіант зручним для налаштування, але ви все ж повинні спробувати їх, щоб дізнатися, про що вони:
www.divegames.com/games.html
www.refugio3d.net/downloads/
Отже, ви скачали і випробували описані вище способи, і вибрали найбільш підходящий особисто для вас для швидкої роботи. Домовимося, що у вас є смартфон або планшет з діагоналлю 6-7", дві пари лінз (можна спробувати з однією парою, але у мене схема все одно дві, можуть бути розбіжності, використовуйте на свій розсуд), встановлені програми і купуються матеріали з інструментами. Насамперед буде виготовлення першої оправи для першої пари лінз. Я зробив його з пінопласту, і теоретично було б непогано мати під рукою дриль-центро, навіть по бетону, який ріжеться на гнізда, але в загальному підійде будь-який, наприклад, висувний різак по дереву або навіть циркуль. У мене нічого з цього не було під рукою, тому мені довелося вирізати круглі отвори канцелярським ножем Walter White, що при діаметрі лінзи менше мого було б абсолютно неохайно. Отже, перша заготівля – це оправа для двох лінз, як на малюнку нижче.
Для того, щоб його зробити, вам потрібно буде покласти смартфон на стіл екраном вгору, нахилитися над ним, і, взявши лінзи в руки, піднести їх до очей, намагаючись знайти фокусну відстань. Якщо цього ефекту не спостерігається, зміщується або спотворюється, не варто впадати у відчай, для початку досить буде зрозуміти фокусну відстань, а точніше, величину, на яку потрібно знімати лінзи зі смартфона. А як щодо відстані між лінзами в цій парі? Все просто – знайдіть величину, яка знаходиться посередині між відстанню між зіницями і відстанню між центрами половинок кадру (половина довгої сторони екрану). Припустимо, у нас між очима 65 мм, а екран 135 мм, його половина 67,5 мм, тому розміщувати центри лінз потрібно приблизно на 66 мм, цього достатньо для першого наближення.
Тепер, розмітивши необхідні відстані, вирізаємо отвори під лінзи. Приблизно оцінивши щільність пінопласту, я розрахував, що її вистачить для міцної установки об'єктива, якщо зробити під нього отвір діаметром трохи менше самої лінзи, то зменшив коло зрізу на 2 мм у діаметрі, що цілком збігалося з припущенням. Параметри у вас можуть бути різними, але суть одна – отвори зробіть трохи менше. Занурювати лінзу потрібно неглибоко, я втопив на 2 мм, нижче буде зрозуміло чому, і напевно немає необхідності згадувати, що непогано було б розмістити лінзи в одній площині, тобто ви обидва повинні занурити їх рівномірно.
Перший етап пройдено, тепер у нас є розкладка відстані від екрану до об'єктива, і ми можемо рухатися далі. Пам'ятаєте, що я говорив про дві пари об'єктивів? Вони можуть бути не такими важливими в оптичному сенсі (насправді так і є), але вони безцінні для подальшого тюнінгу. Припустимо, ви встановили першу пару лінз, як описано вище, включили на смартфон 3D-зображення (гру, фільм на ваш вибір) і намагаєтеся знайти тривимірність. Одна пара лінз не дозволяла мені зробити це в поспіху. Але коли я підніс до очей другу пару, і погравши з відстанями, знайшов потрібну позицію, на екрані відразу з'явилося об'ємне зображення. Щоб цього домогтися, потрібно переміщати лінзи щодо екрану одночасно, в площині, паралельній цьому екрану і першій парі лінз, вгору-вниз і в сторони. Знайдіть деталь на зображенні, яку можна використовувати для трасування ефекту паралакса, сфокусуйтеся на ній і спробуйте з'єднати зображення в кожному оку так, щоб вони збігалися. При певній вправності це робиться дуже швидко, але, на жаль, я не можу підказати вам спосіб прискорити цей процес. Мені допоміг цей тестовий стенд, тут нижня пара лінз вже в пінопласті і встановлена до екрану, а верхня пара, обрамлена в поліетилен, і кожна лінза роздільна, я рухався перед очима, шукаючи "стерео", а під всією конструкцією був екран на потрібній висоті:
Рано чи пізно ви отримаєте свіжий, соковитий, модний молодіжний 3D, але через введення в схему другої оптичної пари перше налаштування фокусування трохи загубиться. Лякатися не варто, все, що потрібно, це знову підлаштувати фокусування. Для цього спочатку потрібно зробити оправу для другої пари лінз, які ви тільки що налаштували. Моя порада - спочатку скопіюйте свій перший кадр, виправивши змінену відстань між лінзами, а потім візуально оцініть відстань між першою і другою парою лінз, після того, як ви налаштували тривимірність. Його буде достатньо на око, і цю відстань слід порівняти з товщиною матеріалу - ну, в буквальному сенсі, чи відстань між парами більше або менше товщини пінопласту. Якщо вона менша, все просто, вам потрібно буде встановити лінзи в другий кадр трохи глибше, на необхідну величину, але якщо ця відстань більше товщини пінопласту, ви можете просто повернути перший кадр більш утопленою стороною до себе, так що між двома рамками не доведеться огороджувати сад прокладок. У моєму випадку так і вийшло, я повернув першу рамку назад, склав ці оправи більш утопленими сторонами один до одного, і трохи втопив лінзи всередину з кожного боку.
Отже, перед нами оптичний прилад, що дозволяє переглядати 3D на екрані смартфона. Але, звичайно, ми пам'ятаємо про фокус, який змінився спочатку при вставці другої пари лінз, а потім ще й при перевертанні першої пари іншою стороною, тому фокус потрібно знову підлаштовувати. Коли ви зловите фокус простими рухами, вам потрібно буде помітити цю відстань, і зробити поролонові опори такої висоти, щоб при установці вашого першого кадру над екраном зображення в лінзах було сфокусованим.
Тут потрібно сказати наступне, на мій погляд, важлива властивість, я не зовсім впевнений в його природі, але я неодноразово спостерігав його у піддослідних. Багато дій в житті вимагають багаторазового підходу, використання методу апроксимації і ітерацій. Мабуть, не всі це розуміють, але цей метод майже завжди працює, і дає кращий результат, якщо слідувати простому алгоритму – пробувати і вдосконалювати. Так що у випадку з цим шоломом - та ж історія, можливо, з першого разу у вас не вийде зробити дві правильні пари кадрів, наприклад, я, наприклад, три рази переробляла одну пару, а другу - двічі, і вже знаю, що буду переробляти ще, тому що є ідеї для доопрацювання. Але з кожною переробкою якість збільшувалася і картинка ставала кращою, тому якщо ви зробили пару підходів, але у вас «не вийшло» – не впадайте у відчай, зробіть перерву і почніть спочатку, продовжуйте. Результат того вартий.
Невелика підказка – якщо отриманий окуляр (так я буду називати блок з двох пар лінз і їх оправ, зібраних разом) має непогане стереозображення, але фокусна відстань сильно збільшилася щодо перших наближень, розберіть окуляр навпіл на два кадри і пограйте з відстанями, можливо, ви знайдете більш оптимальний – можливо, вам потрібно буде повернути один з окулярів назад, а може бути і відокремити їх один від одного. Пам'ятайте, що потрібно досягти максимальної кількості корисних пікселів (інакше це буде неінформативно) і мінімальної відстані від екрану (інакше це буде громіздко). Якщо у вас чудова, чудова фокусна відстань, а стереобаза з якихось причин вийшла з ладу, акуратно надріжте ножем пінопласт посередині між лінзами і подивіться, чи потрібно їх розсунути, або наблизити, а потім дійте по ситуації. Грубо кажучи, у вас буде два окуляра, у кожного око свій, відрегулюйте їх, а коли зможете, склейте між собою двостороннім скотчем.
На цьому історія з об'єктивами закінчується, і тепер не важливо, чи робили ви оптичну схему за моєю версією, або виходячи з власних міркувань, це буде не так важливо потім, решта історії підходить для будь-якого варіанту.
Макет збірки шолома
Знайшовши сумарну фокусну відстань від окуляра до екрану, ми маємо виготовити коробку на її основі, і тут варіантів навіть більше, ніж на етапі об'єктивів. Але, тепер у вас в руках «серце», а точніше «очі» пристрою, і найскладніша його частина, так що потім буде простіше. Припустимо, вам вдалося зробити все перераховане вище правильно, і ви можете, приклавши окуляри до очей і нахилившись над смартфоном, впевнено спостерігати за 3D-зображенням. Погравши з цим демо-макетом, ви, напевно, помітите деякі особливості розташування лінз і зручність окулярів, які особисто для вас найбільше потребують оптимізації. Не обмежуйте себе занадто сильно, оптимізуйте і покращуйте щось під себе, під свій зір, форму носа і черепа і так далі.
Наприклад, зробивши окуляр, я приклав його до обличчя і зрозумів, що наніс його на пінопластовий цегла. Комфорту рівно нуль, і цей шолом все одно доведеться носити на голові деякий час! Тому при виготовленні коробки я постарався підвищити комфорт перенесення одночасно з надійним і зручним розташуванням смартфона всередині. Довелося позбутися від внутрішньої частини пінопласту, і замінити її на спінений поліетилен, на картинці він жовтого кольору. Він більш гнучкий і дозволяє скручувати форму в широкому діапазоні, тому внутрішня поверхня шолома виконана саме з нього. Вона повинна щільно прилягати до обличчя в області очей і навколо носа, інакше ви будете постійно спостерігати запотівання лінз від дихання, відразу враховуйте цей момент. Була ідея зробити цю деталь з будівельної або маски для плавання, але їх під рукою не виявилося, тому я зробила сама, однак, варіант з готовою маскою може здатися вам більш кращим, із задоволенням рекомендую його. Я сам теж вирішив зробити бортики для шолома прилеглими до голови.
Ще один момент, про який слід пам'ятати – це вага смартфона і важеля, на якому він буде працювати, чинячи тиск на опору. Мій Xperia Ultra важить 212 грам, а необхідна відстань, на якій він знімається від обличчя – 85 мм, плюс власна вага коробки – все це разом, я б сказав, робить шолом зручним із застереженнями. У нього один ремінець ззаду, це буде видно на картинці в кінці розділу, цей ремінець зроблений з гумки, шириною 40мм, яка досить туго притягує його до потилиці, але якби екран був важчим, або важіль був більше (читай фокусна відстань довша) - носити шолом було б набагато складніше. Так що власникам пристроїв з більшою діагоналлю або вагою раджу відразу продумати схему кріплення на голову з другим, поперечним ремінцем від перенісся до потилиці, це зручніше і безпечніше.
Також на цьому етапі потрібно буде продумати ще один нюанс - висновок звуку. У мене є кілька пар навушників, як закритих, так і відкритих, є беруші і так далі, але подумавши, я не став будувати шолом навколо великих і зручних Sony MDR з великими амбушюрами, а вибрав прості беруші. Можливо, для вас буде критично важливо зробити шолом з крутим звуком, в цьому випадку потрібно відразу уявити, як саме ви будете артикулювати навушники, їх дугу і шолом з його кріпленням. У мене була така спокуса, яка швидко випарувалася ще на етапі прототипування, але я обов'язково повернуся до неї в наступній, вдосконаленій версії шолома, якщо планую її робити. У будь-якому випадку вам знадобиться отвір в корпусі шолома, що відповідає положенню аудіовиходу вашого смартфона.
Так ось, у мене на столі лежить цей прилад – окуляр з внутрішньою поверхнею, трохи підігнаною під форму голови. Вона вже зручно сидить на обличчі, підходить по ширині, а для її виготовлення мені знадобився тільки цей шаблон, вирізаний з вигнутого за формою голови шматка пінопласту, він підійде з деякими правками як до верхньої, так і до нижньої частини шолома:
Раніше ми з'ясовували фокусну відстань окуляра за кілька підходів. Тепер потрібно розмістити екран смартфона на потрібній відстані. Пам'ятайте, що екран повинен розташовуватися так, щоб його горизонтальна вісь симетрії збігалася по висоті з уявною лінією між зіницями, а те, що її потрібно розмістити симетрично щодо особи, вам вже зрозуміло. У моєму випадку відстань між екраном і найближчою стороною окуляра склала 43 мм, тому верхню і нижню поверхні я зробив з поролону, а також дві бічні вставки. Виявилася коробка з пінопласту, яку, поставивши на екран, вже можна було використовувати за призначенням, і ось тут і знадобився показаний вище шаблон.
На цьому етапі відбулося кілька невеликих коригувань фокусування і місця розташування смартфона, після чого сталося точне вимірювання отриманих результатів і розкрій зовнішнього, картонного корпусу. Він служить двом цілям – захищає досить ніжний поролон від механічних пошкоджень, я досить легко притискав його пальцями на етапі початкових експериментів, за цим доводилося стежити, і друга, і головна мета полягає в тому, що саме картон буде утримувати екран в потрібному положенні, притискаючи його до пінопласту.
У підсумку у нас вийшла ось така коробка, з кришкою на верхній передній частині, під якою ховається смартфон.
Примірявши шолом на голову, і надивившись вдосталь всяких 3D, я виправив дрібні незручності всередині шолома, і зробив застібку - гумку до голови. Вона просто пришивається кільцем, і приклеюється двостороннім скотчем до картону, плюс зверху кріпиться срібним оракулом, який використовувався для заміни стрічки. У підсумку вийшло приблизно так:
До речі, на цьому зображенні ви можете побачити ще один технічний отвір, який використовується для підключення USB-кабелю, який нам знадобиться трохи пізніше. А ось так виглядає шолом на голові піддослідного, який подарував лінзи для цього шолома:
Отже, що вийшло в результаті.
Розміри: 184x190x124 мм
Споряджена вага: 380 грам
Вхід/вихід USB
Роз'єм для навушників 3,5 мм
Корисна площа екрану 142х75 мм
Роздільна здатність 1920x1020 пікселів
Настав час перейти до програмної частини нашої подорожі.
Доступні функції VR-гарнітури
Перегляд 3D відео
Найперше, що спадає на думку – це перегляд фільмів у форматі 3D. Це дуже проста і зрозуміла точка входу у віртуальну реальність, хоча, якщо говорити більш строго, то це скоріше недалеко від неї, попереднього кроку. Але, щоб не применшувати достоїнств цього виду розваг, повідомляю, що перегляд 3D-фільмів в отриманому шоломі - дуже цікаве і забавне заняття. Я подивився лише два фільми, тому поки що не набридло, але відчуття дуже хороше: уяви, що ти знаходишся в півтора метрах від стіни, на яку дивишся прямо. Не повертаючи голови, постарайтеся оглянути навколишню вас місцевість - це і буде доступний вам екран. Так, тут невелика роздільна здатність - кожне око отримує всього 960х540 пікселів від fullHD фільму, але тим не менше це залишає цілком відчутне враження.
Для перегляду фільмів в такому вигляді вам знадобиться безкоштовний плеєр MX Player з встановленим кодеком для вашого процесора, у мене
ARMv7 Neon, і власне відеофайл. Їх легко знайти на всіляких торрент-трекерах, технологія називається Side-By-Side або скорочено SBS, так що сміливо шукайте ці ключові слова. Плеєр має можливість регулювати співвідношення сторін відтворюваного відео, що надзвичайно корисно для SBS-файлів, які в іншому випадку розтягувалися б вертикально на весь екран. У моєму випадку мені потрібно було зайти в налаштування - "дисплей" - "аспект" і вибрати "вручну", щоб виставити співвідношення сторін 18 до 4, інакше ви отримаєте вертикально витягнуті зображення. Я намагався пошукати інші плеєри зі схожим функціоналом, але не знайшов, якщо знаєте, додайте в свою скарбничку знань.
Загалом, мені більше нічого додати до цього пункту – звичайний 3D кінотеатр перед очима, все дуже схоже на похід в кіно, або перегляд на 3D телевізорі з поляризаційними окулярами, наприклад, але при цьому є відмінності, в загальному, якщо вам подобається 3D – варто спробувати VR-шолом.
Андроїд додатки для Durovis Dive і схожих систем
Вся ця історія взагалі починалася саме з цього моменту. В основному, наступні три посилання показують практично всі можливі програми для Android на даний момент:
www.divegames.com/games.html
www.refugio3d.net/downloads/
play.google.com/store/apps/details?id=com.google.samples.apps.cardboarddemo
Що нам потрібно для комфортного VR-досвіду? Очевидно, джойстик, або будь-який інший контролер, наприклад, бездротова клавіатура. У моєму випадку зі смартфоном Sony природним і логічним вибором є рідний і нативно підтримуваний контролер PS3, але так як у мене під рукою такого не виявилося, а виявився старий добрий Genius MaxFire G-12U, я підключив до нього перехідник microUSB to USB, підключив його до смартфону, і навіть не здивувався, що він відразу ж почав працювати без питань як в інтерфейсі пристрою, та індивідуальними програмами.
Навушники також будуть потрібні, адже занурення у віртуальні реальності без звуку буде неповним. У мене є звичайні беруші, і ви можете самі розібратися, яка зручніше.
Чого слід очікувати і чого не варто очікувати від заявок, представлених у цьому розділі? Справа в тому, що всі додатки взагалі, які пишуться для Android на тему віртуальної реальності, дуже мізерні, м'яко кажучи. Якщо ви запустите їх без шолома, і постараєтеся, ну подивитися, що це за віртуальність, то є ймовірність, що ви не захочете купувати або робити шолом. Вони відверто дуже сирі і жалюгідні, і не представляють нічого суперцікавого.
Але. Коли ти кладеш голову в шолом, все стає зовсім по-іншому, і особисто я, скептично налаштована до всього, ніколи б не повірила, тим не менш, це так.
Головне, що потрібно враховувати, це відстеження рухів голови. Навіть при поганій його реалізації, або уповільненні, це абсолютно нове і невивчене поле для відчуттів, повірте, до появи шолома ви не відчували нічого подібного дуже давно, з часів пригод зі скелелазістами в горах, прогулянок по дну океанів, ночівель в лісі та інших масових вбивств, які всі ми так любимо. Шолом дає абсолютно нереальне відчуття реальності, вибачте за каламбур, і будь-яка, навіть найбідніша графіка здасться цукеркою всередині нього, загалом, я повинен сказати - якщо ви любите грати в ігри, або відчуваєте себе новим - шолом це пристрій для вас.
З власного досвіду: уявіть, що ви в 1998 році, і, скажімо, польська студія виробництва комп'ютерних ігор зробила демо, в якому ви висадилися на Місяць, вибралися з модуля, побачили культовий американський прапор, який виглядав як прибитий до палиці шматок картону, встромлений у землю, а над прапором у небі був напис вкрай бідним шрифтом «збирай інструменти, залишилося 3». При цьому графіка складається з дуже і гранично простих елементів, де монотонно скопійоване зоряне небо і квадратно повторювана земля під ногами займають 98% корисної площі екрану, а десь можна побачити пару пікселів «інструментів», які вам належить знайти. Насправді ні. Їх вже можна побачити, потрібно лише дійти до них 10 хвилин. Просто йди. На Місяці. Немає звуку. За допомогою дублювання спрайтів. Зовсім без дій.
Скажіть, скільки секунд вам знадобиться, щоб видалити цю гру з комп'ютера або навіть смартфона? Точно. А в шоломі це диво дозволяє випробувати (!) спустошення і самотність єдиної людини на планеті. Без жартів. Після 15 хвилин гри я зловила себе на відчайдушному страху, що опинилася одна на Місяці, під капотом зірок, і не знала, що робити.
Це більш-менш така ж історія з усіма іншими іграми та додатками. Вони жалюгідні, вони моторошні до жаху, але в той же час всередині шолома - вони відправляють вас на 15-20 років назад, а деяких і раніше, в ті самі ігри, в які грали, а не витрачали час. Поки що у мене лише одне питання до розробників – чому немає жодної гри з повноцінним сюжетом для цієї ситуації? Одиночна гра врятувала б ситуацію просто неймовірно, тому що зараз, показуючи людям віртуальну реальність на Android, показувати особливо нічого, все із застереженнями "це демо, тут не можна стріляти", так, "все, вся гра пройдена, так, за 4 хвилини". До речі, майже всі ці додатки написані на Unity, тим більше дивує їх низький рівень, або я не знаю, як шукати.
Але все одно не слухайте мене, спробуйте самі, і скажіть свою версію, мені це цікаво. І приправити його референсами, я буду безмірно. Я, наприклад, навіть встановив демо з шаленою назвою Toilet Simulator. Бо.
Маленьке пасхальне яйцеНасправді на сайті Durovis Dive є
посилання на quake-2, демо-версію гри, встановлену на Android і має можливість режиму відображення SBS, внизу цієї сторінки є докладна інструкція, як це зробити. Єдине, що не спрацювало в автоматичному режимі - це те, що не розпакували окремий архів, тому в налаштуваннях запущеної гри будуть посилання на дзеркала, потрібно перенабрати одне з них в браузер на робочому столі, завантажити архів, що саморозпаковується, витягнути звідти файл pak0.pak і помістити його в директорію встановленої в телефоні гри, у мене вона називається baseq2.
Після цього у мене без проблем запустився той самий Q2 - він працює дуже швидко, і все чудово видно. Страшно стало буквально через 30 секунд, просто холодок по хребту, але далі описувати не буду, спробуйте самі. На жаль, зробити скріншот не вдалося, а джойстик працює поки що тільки в режимі "блукання", стріляти він не вміє, доведеться колупатися в налаштуваннях.
Таким чином, вся ця нерозторопність android розробників (увага android розробникам!) привела мене до ідеї - ну ігор для андроїд немає - давайте спробуємо стаціонарний комп'ютер, згадавши головні переваги віртуального шолома - величезний екран з зануренням в зображення і відстеженням положення голови, і постараємося їх не втратити.
Підключення до комп'ютера як пристрою віртуальної реальності
Якщо чесно, то ідея такого з'єднання з'явилася відразу, але не було жодного уявлення про те, як, що і в якому порядку робити. Тому, поки я малював, вирізав і склеював деталі, попутно думав про те, де взяти інформацію про те, як вивести зображення з відеокарти комп'ютера, заодно передаючи на комп'ютер дані відстеження голови, тобто гіроскопа і акселерометра. І все це, бажано з мінімальними затримками.
І ви знаєте, рішення знайдено. Він складається з трьох етапів, кожен з яких ми розглянемо окремо, і спочатку я опишу робочі варіанти, а потім пробіжку по тих, які виявилися непрацездатними в моєму випадку, але можуть стати в нагоді вам.
Створення 3D-виводу на комп'ютері.
Виявилося, що це відносно легко, але не знаючи відразу, можна заблукати. Так, ідеальний комп'ютер, що дозволяє грати в повноцінні 3D-ігри в стерео виході, має відеокарту на базі звичайних чіпів NVidia або ATI, чим сучасніше, тим краще, і, що дуже важливо, у драйверів є можливість регулювання довільної роздільної здатності. Якщо у вас ноутбук (в моєму випадку) або відеокарта, драйвери якої не підтримують довільні дозволи, зображення в шоломі буде витягнутим по вертикалі, і можливе рішення, небезпечне і досить виснажливе, - покопатися в реєстрі і записати туди дозволи. Ваші варіанти, знову ж таки, щиро вітаються!
У загальному випадку буде потрібно встановити версію драйверів для відеокарти, яка підтримує довільну роздільну здатність. Якщо у вашому смартфоні і вашому моніторі на екрані 1920х1080 пікселів, то тут все дуже просто - в налаштуваннях відеокарти потрібно створити довільну роздільну здатність 1920х540, а потім застосувати її до монітора. Ви побачите, як робоча область екрану стала менше і розташована посередині екрану. Якщо картинка на вашому екрані виглядає приблизно так, значить, ви все зробили правильно:
Отже, все було протестовано на звичайному, але потужному настільному комп'ютері з відеокартою NVidia і останньою версією драйверів. Важливо, щоб були дотримані умови: коли ви запускаєте гру в стереорежимі, зображення на кожній половині кадру не витягується.
Друге, що вам потрібно, це
завантажити 3D драйвер – який має повноцінну пробну версію терміном на два тижні, і дозволяє відображати тривимірні зображення на периферійних пристроях в довільних конфігураціях, причому поруч, і зверху-вниз, і анагліф, в загальному, все, що ви хочете.
Встановлюємо звичайним способом, запускаємо утиліту TriDef 3D Display Setup і вибираємо опцію Side-by-side, тепер при запуску ігор з цього драйвера вони будуть в стерео режимі "по половині кадру під кожне око". Якщо у вас встановлені ігри, ви можете відкрити утиліту TriDef 3D Ignition і шукати встановлені ігри, у вікні з'явиться ярлик вашої гри - вуаля, ви готові до використання.
У мене не було встановлено жодної гри, тому я встановив Steam і купив Portal 2 на розпродажі за 99 рублів, так, це реклама. І тут настає момент, про який потрібно знати - драйвер, який обслуговує стереовихід, може виводити стерео для будь-якої гри, яка має можливість запуску в повноекранному режимі, але не може створити вихід для вікна, площа якого менше розміру робочого столу. Запам'ятайте цей момент, внизу він стане критичним, як червона ганчірка на бика.
Загалом, якщо драйвери встановлені і налаштовані, гра куплена і запущена, а на екрані все виглядає приблизно так:
Можна переходити до наступного етапу.
Передача зображення з комп'ютера на екран смартфона
Для цього є кілька способів, і судячи з численних іконок на ринку, існує досить багато програм, що дозволяють донести те, що потрібно. Мені «пощастило», перш ніж я знайшов зручне і працездатне додаток, я перепробував кілька інших, депресивних і засмучують виробів з Google Play, і мені шкода, що там дозволена будь-яка жужелиця. Я витратив більше часу на пошук і налаштування додатків, ніж на створення пристрою. Більш того, довелося купити один з додатків, і з ним все б нічого, якби все було не дуже добре. Але про все по порядку: вам обов'язково знадобиться локальне з'єднання wi-fi між комп'ютером і смартфоном.
Також вам знадобиться хороший і швидкий «віддалений робочий стіл», який не виходить з облікового запису робочого столу при віддаленому вході. Такою програмою виявився безкоштовний
Splashtop, а також знайшовся наполовину оплачений
iDisplay.
Той, що платний - з ним все добре, тільки він не дозволяв розмістити зрізаний зверху і знизу екран рівно посередині дисплея, тому довелося від нього відмовитися, але в цілому працює добре, був навіть
огляд на хабр, звідки я його взяв. Але Splashtop працював як треба, тому встановлюйте його.
Всі програми такого типу працюють приблизно за однаковою схемою - потрібно завантажити і встановити версію хоста для робочого столу, і версію ресивера для смартфона. Думаю, проблем з цим не виникне, тому не буду описувати ці процеси, є справи, які потрібно зробити за п'ять хвилин бубна - скачав, встановив, зареєстрував, налаштував, підключив. Єдине, що я згадаю, це те, що вам потрібно буде зайти в налаштування і вказати, що ваше бездротове з'єднання повинно використовуватися локально, для чого вам потрібно буде вказати IP вашого комп'ютера явно у версії android, знайти цю адресу можна за допомогою утиліти ipconfig в командному рядку. Власне, це все налаштування, все вже має працювати, ось, наприклад, скріншот зі смартфона поточного моменту:
Якщо ви запустите гру з-під утиліти 3D Ignition, вона з'явиться на екрані смартфона так само, як і на моніторі. Або ні. Дотримуйтесь спритності рук: драйвер, що видає стереозображення з гри, вимагає повноекранного режиму (якщо ви виберете режим «вікно», стерео працювати не буде, гра буде запускатися нормально), а програма доступу до робочого столу зі смартфона кричить «Я не можу запустити фулскрін, вибачте, так, зовсім", і може показувати тільки робочий стіл і вікна на ньому.
Тому найделікатніший момент. Швидше за все, ви зможете грати в будь-які ігри, які запускаються в режимі «вікно без вікна». Не знаю напевно, чому і де цей режим існує в іграх, з цієї причини, або з якоїсь іншої причини — але він виявився порятунком: з одного боку, він обманює робочий стіл, і говорить йому, що запустив гру на весь екран, а з іншого боку, формально дає смартфону просто вікно, нехай і без рамок і розгорнуте на весь екран. Той самий випадок, коли і вовки ситі, і вівці в безпеці.
Так що мені пощастило, portal-2, який я скачав зі Steam, виявився саме тією грою, яка підтримує всі три режими запуску. Тому вам потрібно перевірити, які ігри будуть запускатися таким чином, а які ні.
Прямо зараз ви можете почати гру і ганятися в ній в шоломі. Але, як то кажуть, картина була б неповною, якби не було відстеження рухів голови.
Увімкнення відстеження рухів голови
Ви дочитали до цього місця, і я вас з цим вітаю. Не хочу вас обманювати, цей пункт найскладніший і погано вивчений, тим не менш, не варто впадати у відчай. Так.
Першою думкою було «розібрати»
Oculus Rift SDK або
Durovis Dive SDK, оскільки вихідний код знаходиться у відкритому доступі. Можливо, я повинен був так і зробити, але я не програміст, і нічого в цьому не розумію. Тому мій погляд був звернений на готові рішення, які передають положення смартфона в просторі на робочий стіл. Як виявляється, існує просто величезна кількість програм, які нібито можуть це робити. Судячи з описів, майже всі такі. І знову ж таки, я перебрав десятки програм з солодкими обіцянками, але насправді це було навіть страшніше, огидно і жалюгідніше, ніж проходити програми для виведення зображення на екран смартфона, причому навіть більш жалюгідно, ніж ті демо-ігри для дайвів durovis, які я описав вище. Якщо на цьому етапі ви зловите хвилю розчарування, то все, «до побачення, шолом». Тим не менш, необхідна (із застереженнями) програма була знайдена. Але спочатку ложка дьогтю — Monect, UControl, Ultimate Mouse, Ultimate Gamepad, Sensor Mouse — нічого з цього не спрацювало. Особливо перший в цьому списку - в описі сказано, що Monect Portable надає
Режим FPS — Використання гіроскопа для прицілювання в ціль так само, як справжня зброя у вашій руці, ідеальна підтримка серійного COD!
У підсумку я купив його за нечувані 60 рублів, і це виявилося неправдою. Такого режиму в додатку просто немає! Я був злий.
Але, перейдемо до вдалих варіантів. Вам знову потрібно буде завантажити хостову та клієнтську версію програми під назвою DroidPad. Саме вона, при налаштуванні одного з режимів, дозволила зробити необхідне і передавати параметри датчиків в режимі реального часу по бездротовому доступу. Алгоритм такий: встановлюємо програму на робочий стіл і в смартфон, запускаємо її на смартфоні, вибираємо режим «Миша - Миша за допомогою нахилу пристрою», а потім запускаємо її десктопну версію.
Якщо все зроблено в такій послідовності, з'єднання має запрацювати, і вуаля – ви керуєте курсором миші на екрані комп'ютера! Поки що тут безладно і хаотично, але зачекайте, ми зараз це налаштуємо. У моєму випадку, в Android-версії програми, скріншот вікна налаштувань виглядає так:
Можна вказати назву пристрою, а ось порт краще не чіпати - він працює за замовчуванням, а робочий краще поки не чіпати. У десктопній версії все трохи складніше, у мене ці настройки є, але їх все одно потрібно оптимізувати, тому користуйтеся ними тільки як орієнтиром, не більше:
Тут і налаштування осей X і Y на екрані комп'ютера, і сила сенсора від телефону. Як саме це все працює для мене поки що чорний ящик, тому що розробники програми не надають ніякої документації, тому я надаю інформацію "як є". Зовсім забув додати, що у мене на смартфоні встановлена програма, яка керує запуском додатків в альбомній або портретній орієнтації, і всі програми, які були протестовані на цю ідею = протестовані в альбомному режимі. Додаток називається Rotation Manager, а в смартфоні глобально відключена автоорієнтація.
Налаштувавши свої додатки відповідним чином, вам доведеться підключити смартфон до комп'ютера за алгоритмом, описаним раніше (у мене будь-яке розбіжність із зазначеним порядком призводить до завершення роботи програми), і, тримаючи смартфон в руці, так як він буде розташовуватися всередині шолома, спробувати відрегулювати настройки - по черзі регулюючи повзунки робочого столу і натискаючи на кнопку «Калібрувати» у вікні версії Android. Скажу відразу – після досить нетривалої спроби мені вдалося відносно пристойно відрегулювати кути і повороти, але потім, підлаштовуючи точніше, я збив ті налаштування, не думаючи про те, щоб їх сфотографувати, а ті, що зараз на скріншоті, це лише наближення до попередніх, які все одно відчувалися краще. Ще один момент полягає в тому, що всі ці повзунки дуже чутливі, і незручно тримати смартфон в одному положенні в руці, щоб він не прибирав курсор довільно, тому постійно доводиться розривати з'єднання і налаштовувати, потім підключати і перевіряти. Через деякий час інформація в статті на цю тему буде оновлюватися, але і з поточними настройками - всередині ігрового світу це виглядає дуже ефектно.
Отже, що ви відчуваєте? На даний момент, через брак часу, я встановив ігри Portal 2 і безкоштовний робот-шутер HAWKEN, пропонований компанією Steam. Що стосується порталу, то ви швидко потрапляєте в рабство навколишньою атмосферою і звуком, і це занурення настільки сильне, що порівнятися нема з чим, крім посиденьок перед комп'ютером 10 років тому о четвертій ранку, все приблизно так само гостро сприймається. Але якщо там була втома і темрява навколо, то в шоломі це трохи інший, більш яскравий ефект від тієї ж присутності. А ось друга гра, де ти сидиш в канонічному «величезному людиноподібному роботі», мене здивувала. З шоломом на голові реальність, що проектується ніби на поверхню шолома в грі, стає ближчою, теплішою і лампоподібною, причому дуже швидко. Напрочуд швидкий.
Не варто думати, що відчуття, викликані VR-шоломом, будуть у всіх однаковими, але по відношенню до всіх «морських свинок» можу з упевненістю сказати, що абсолютно всі оцінили цей пристрій, відгуки виключно позитивні і зацікавлені. Тому я сміливо рекомендую його вам, витратьте один день на виготовлення цього шолома, і оцініть його самі. Моя особиста мета була саме такою – щоб швидко задовольнити свою цікавість, не витрачаючи гроші і час на очікування, я витратив близько трьох днів на пошуки і налаштування всього, а тепер передаю естафету вам, вже в стислому вигляді.
Особисто я вирішив, що швидше за все зроблю другу версію цього шолома, з невеликими доопрацюваннями та доопрацюваннями, а згодом придбаю свіжу споживчу версію Oculus Rift. Вийшло дуже цікаво і пізнавально.
Я дуже чекаю нових додатків для Android, і частково ця стаття написана з надією, що хтось із розробників зацікавиться і подарує якийсь інтерес публіці. І, маленьке побажання – якщо ви знаєте якісь програми і рішення, про які я не згадав, але які б розширили якість статті і поліпшили продуктивність пристрою – напишіть про них в коментарях, і я обов'язково додам в статтю цінну інформацію, для майбутніх поколінь.
ТЛ; У статті описаний швидкий і якісний спосіб виготовлення шолома віртуальної реальності на базі HD смартфона або планшета з Андроїдом на борту, повна покрокова інструкція і загальні принципи цього процесу, а також описані основні доступні способи використання отриманого шолома: перегляд фільмів в 3D форматі, ігор і додатків для Android, і підключення шолома до комп'ютера для занурення в реальність настільних 3D ігор.
Джерело:
habrahabr.ru/post/228501/