Пользователь
0,0
рейтинг
3 июля 2014 в 00:50

Собираем за один вечер Virtual Reality шлем своими руками, с HD изображением и трекингом головы

Практически не осталось уже людей, которые бы не слышали о виртуальной реальности, и, наверное все уже слышали о VR-шлеме Oculus Rift, который можно сказать стал стандартом для подобного рода устройств. Так же на рынке есть решения, позволяющие использовать экран смартфона диагональю 4-5" в качестве экрана VR-очков, такие как Durovis Dive или нашумевший Google Cardboard, которые снизили планку демократичности вхождения в виртуальную реальность можно сказать уже для всех, но, тем не менее, пока что эта технология не стала повсеместной: не у всех есть смартфон с нужной диагональю, чтобы воспользоваться тем же картонным проектом гугла, покупать пусть не дорогое, но стоящее денег устройство типа Durovis Dive без какого либо понимания, что с ним конкретно делать дальше, а тем более заказывать и ждать сам шлем Oculus Rift простому обывателю довольно проблематично по многим причинам — начиная от цены за устройство, что делать с которым пока не совсем понятно и заканчивая довольно длительным ожиданием доставки заказа. Естественно, самым главным тормозом, помимо цены, является обычная лень и потухшая любознательность.

В этой статье я расскажу вам о своем пути к виртуальной реальности, опишу детальное и практически исчерпывающее руководство по изготовлению VR-шлема с использованием любого относительно современного андроид-смартфона или планшета любой диагонали, этот проект обойдется примерно в 5-8 часов работы и в 500-2000 рублей затрат, в зависимости от ваших пожеланий и возможностей, а на выходе вы получите очень интересное устройство, которое позволит вам смотреть fullHD 3D фильмы и фотографии, играть в андроид-игры а также использовать шлем для игр в ваши любимые PC-игры любой степени современности. Да, с трекингом головы и погружением в VR.

Поэтому, если вами не овладевает лень и вы любознательны, прошу под кат, но предупреждаю, статья наполнена тремя десятками «potato quality» изображений, общим весом на 4 мегабайта.

Внимание, всё нижеописанное используйте на свой страх и риск, результатом погрешностей в изготовлении может быть спазм аккомодации и переутомление при длительном использовании.

В недавней статье про Google Cardboard читатели восхищались такой простой и интересной концепцией — шлем из картона с парой линз, вставь свой смартфон и полетели, но у многих возникли вопросы «как сделать под другую диагональ», «как установить туда планшет», и, самое главное — «почему мне плохо видно этот ваш 3D». Меня, как владельца 6,4" смартфона Sony Xperia Z Ultra эти вопросы также заинтересовали, особенно после того, как моему знакомому приехала посылка со свежевыпущенным Durovis Dive, куда, как и в картонный шлем гугла, можно установить устройства только в районе пяти дюймов по диагонали, и он подарил мне пару линз, которые купил для изготовления собственного шлема.

Попытка прислонить мой смартфон к дуровис-дайву успехом не увенчалась — что-то, конечно, было видно, но до 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. Широкая резинка или ремень, можно с «липучкой» велкро — 50р за всё



5. Набор инструментов для черчения и нарезки материалов — 100р за всё



6. Скотч, или в моем случае виниловая пленка в ассортименте — 100р за всё



Скажу сразу, покупая материалы я не знал нужного расхода, но по оценкам на глазок, купленных по одному листу пенопласта и полиэтилена должно было хватить на 3-4 таких шлема, и меньшими объемами всё это не продавалось. Это не беда, перед началом работ просто помните следующий полезный навык — кроите и режьте смело ровно половину материала, не бойтесь выкидывать и пробовать снова — материалы стоят копейки, а ваше удобство внутри шлема — бесценно, поэтому лучше переделать деталь более удобно, чем терпеть потом натирающую поверхность или сдавливающий, или наоборот, слишком свободный размер полученного поделия.

Далее, оптимизируя уже вашу деятельность, заранее подскажу, что еще до начала работ вам потребуется закачать в смартфон приложения и файлы, на которых вы будете пробовать и подгонять вашу оптическую систему.

Программы и файлы для проверки работоспособности



1. MX Player 1.7.28 — этот бесплатный плеер позволяет проигрывать требуемые файлы с нужным соотношением сторон, и кодек к нему, в зависимости от типа процессора

2. Любые 3D видеофайлы, записанные в режиме side-by-side, это могут быть фильмы, передачи и что угодно еще, ищите SBS HD в сети

3. Если найти фильм в формате SBS вам оказалось затруднительно, есть два замечательных плеера Go Show и SBS-Player — первый в бесплатном режиме показывает опенсурсный мультфильм Elephant Dream, а второй — может воспроизводить любые обычные видеофайлы так, что они будут отображаться в режиме SBS — то есть вы не увидите 3D, но зато сможете настроить фокусировку и смещения линз, а внутри шлема вы будете видеть так, будто смотрите обычный фильм с очень большого экрана

4. Конечно, еще можно будет установить любые приложения вот из этих списков и воспользоваться ими, но лично мне этот вариант удобным для настройки не показался, но вам, тем не менее, стоит их попробовать, чтобы знать о чем идет речь:
www.divegames.com/games.html
www.refugio3d.net/downloads

Итак, вы скачали и опробовали описанные выше методы, и выбрали наиболее подходящий лично вам для быстрой работы. Давайте условимся, что у вас смартфон или планшет с 6-7" диагональю, две пары линз (можно пробовать и с одной парой, но моя схема всё же из двух, возможны расхождения, используйте на свое усмотрение), установлены программы и приобретены материалы с инструментами. Первым этапом будет изготовление первой оправы для первой пары линз. Я сделал ее из пенопласта, и по идее, неплохо было бы иметь под рукой центробур, хоть даже по бетону, которым врезают розетки, а вообще подойдет любой, типа раздвижной фрезы по дереву или даже циркуль. У меня под рукой ничего этого не оказалось, поэтому вырезать круглые отверстия пришлось канцелярским ножом Уолтера Уайта, что при диаметре линз меньшим чем у меня — будет уже совсем неопрятно. Итак, первая заготовка — это оправа для двух линз, как на картинке ниже.



Для того, чтобы ее изготовить, вам потребуется положить смартфон на стол экраном вверх, наклониться над ним, и взяв в руки линзы, поднести их к глазам, пытаясь найти фокусное расстояние. Стремиться нужно к минимальному расстоянию между лицом и экраном, так, чтобы он помещался в «объектив» и наблюдался эффект 3D. Если этот эффект не наблюдается, сдвинут или искажен, не отчаивайтесь, для начала будет достаточно понять фокусное расстояние, а точнее — величину, на которую нужно удалить линзы от смартфона. А что насчет расстояния между линзами в этой паре? Все просто — найдите величину, которая находится посередине между расстоянием между зрачками, и расстоянием между центрами половинок кадра (половина длинной стороны экрана). Скажем, между глаз у нас 65 мм, а экран 135 мм, его половина — 67,5 мм значит вам нужно расставить центры линз примерно на 66 мм, для первого приближения этого достаточно.



Теперь, после того как разметили нужные расстояния, вырезаем отверстия для линз. Примерно оценив плотность пенопласта, я посчитал, что её хватает для крепкой установки линзы, если делать отверстие под неё диаметром слегка меньшим, чем сама линза, я уменьшил вырезаемый круг на 2мм по диаметру, что прекрасно совпало с предположением. У вас параметры могут быть другими, но суть та же — делайте отверстия чуть меньше. Утопить линзу нужно неглубоко, я утопил на 2 мм, ниже будет понятно зачем, ну и наверное нет необходимости упоминать, что линзы было бы неплохо разместить в одной плоскости, то есть следует их обе утопить равномерно.

Первый этап закончен, теперь у нас есть макет расстояния «экран-линзы», и можно двигаться дальше. Помните, что я говорил о двух парах линз? Они, возможно, не так сильно важны в оптическом смысле (на самом деле важны), но бесценны для дальнейшей настройки. Допустим, вы установили первую пару линз как описано выше, включили на смартфоне 3D изображение (игру, фильм, на ваш выбор), и пытаетесь найти трехмерность. Одна пара линз мне этого сделать вот так с наскоку не дала. Но когда я поднес к глазам вторую пару, и поиграв в расстояниями нашел нужное положение — на экране сразу получилось трехмерное изображение. Чтобы этого добиться, вам нужно одновременно двигать линзы относительно экрана, в плоскости параллельной этому экрану и первой паре линз, вверх-вниз и в стороны. Найдите в изображении деталь, по которой можно отследить параллакс-эффект, сфокусируйтесь на ней и попытайтесь соединить изображения в каждом глазе, чтобы они совпали. При некоторой сноровке это делается очень быстро, но способа ускорить этот процесс я вам, к сожалению, подсказать не смогу. Мне — помог вот такой стенд для испытаний, здесь нижняя пара линз уже в пенопласте и настроена на экран, а верхнюю пару, обрамленную в полиэтилен, притом каждую линзу — раздельно, я двигал перед глазами, в поисках «стерео», а подо всей конструкцией — экран на нужной высоте:



Рано или поздно у вас получится свежее, сочное, модное молодежное 3D, но, из-за ввода в схему второй оптической пары — первая настройка фокуса немного собьется. Пугаться не надо, все что требуется — перенастроить фокус еще раз. Для этого сначала нужно сделать оправу для второй пары линз, которые вы только что настраивали. Мой совет такой — сначала скопируйте вашу первую оправу с поправкой на изменившееся расстояние между линзами, а потом — визуально оцените расстояние между первой и второй парой линз, после того, как вы настроили трехмерность. Достаточно будет на глаз, а сравнивать это расстояние следует с толщиной материала — ну буквально, больше ли расстояние между парами, или меньше, чем толщина пенопласта. Если меньше — всё просто, вам нужно будет установить линзы во вторую оправу чуть глубже, на требуемую величину, в случае же, если это расстояние больше толщины пенопласта — вы можете просто перевернуть первую оправу более утопленной стороной к себе, таким образом вам не придется городить огород из прокладок между двумя оправами. В моем случае так и произошло, я перевернул первую оправу наоборот, сложил эти оправы более утопленными сторонами друг к другу, и немного утопил линзы внутрь с каждой стороны.



Итак, у нас получилось оптическое устройство, позволяющее рассмотреть 3D на экране смартфона. Но, конечно, мы помним про фокус, который изменился сначала вводом второй пары линз, а потом еще и переворотом первой пары другой стороной, поэтому фокусировку нужно настроить еще раз. Когда путем нехитрых передвижений вы поймаете фокус, вам нужно будет заметить это расстояние, и изготовить пенопластовые подпорки такой высоты, чтобы установив вашу первую оправу над экраном — изображение в линзах было сфокусированным.

Тут нужно сказать следующее, на мой взгляд важное свойство, я точно не уверен в его природе, но наблюдал неоднократно у подопытных. Многие действия в жизни требуют неоднократного подхода, использования метода приближения и итераций. Это, видимо, не всем понятно, но почти всегда этот метод работает, и дает более качественный результат, если следовать простому алгоритму — пробуй и улучшай. Вот и в случае с этим шлемом — та же история, возможно, с первого раза у вас не получится сделать две правильные пары оправ, я, например, переделывал одну пару трижды, а вторую — дважды, и уже знаю, что буду переделывать ещё, потому что есть идеи улучшений. Но с каждым переделыванием качество возрастало и картинка становилась лучше, поэтому, если вы сделали пару подходов, но у вас «ничего не получилось» — не отчаивайтесь, передохните и начните снова, продолжайте. Результат того стоит.

Небольшой хинт — если полученный окуляр (так я буду называть блок из двух пар линз и их оправ, собранный вместе) имеет хорошее стерео-изображение, но фокусное расстояние сильно выросло относительно первых приближений, разберите окуляр пополам на две оправы и поиграйте с расстояниями, возможно найдется более оптимальное — может быть нужно будет перевернуть один из окуляров наоборот, а может, разнести их подальше друг от друга. Помним, что нужно добиться максимального количества полезных пикселей (а то будет малоинформативно) и минимального расстояния от экрана (а то будет громоздко). Если же у вас прекрасное, чудесное фокусное расстояние, а стереобаза почему-то не удалась — аккуратно разрежьте ножом пенопласт посередине между линзами и посмотрите — вам нужно раздвигать их, или сближать, и там уже действуйте по обстановке. Грубо говоря, у вас будет два окуляра, под каждый глаз — свой, их и подстраивайте, а когда получится — склейте их между собой двусторонним скотчем.

На этом этапе заканчивается история с линзами, и теперь уже неважно, делали вы оптическую схему по моему варианту, или исходя из собственных соображений, далее будет уже не столь важно, остальная часть истории подходит для любого варианта.

Макетная сборка шлема



Найдя общее фокусное расстояние от окуляра к экрану, нам предстоит сделать на его базе коробку, и тут вариантов — еще больше, чем на этапе линз. Но, сейчас у вас на руках «сердце», а точнее «глаза» устройства, и самая сложная его деталь, значит далее будет проще. Допустим, у вас получилось сделать всё вышеописанное верно, и вы можете, приложив окуляры к глазам и наклонившись над смартфоном уверенно наблюдать 3D изображение. Вдоволь поигравшись этим демо-макетом, вы наверняка заметите кое-какие особенности расположения линз и удобства окуляров, которые лично вам покажутся наиболее требующими оптимизации. Не стоит себя сильно ограничивать, оптимизируйте и улучшайте что-то под себя, под ваше зрение, форму носа и черепа и так далее.

Например я, после изготовления окуляра, приложил его к лицу и понял, что приложился я к пенопластовому кирпичу. Удобства ровно ноль, а этот шлем еще носить на голове сколько-то времени! Поэтому, при изготовлении коробки я постарался увеличить удобство ношения одновременно с надежным и удобным расположением смартфона внутри. Пришлось избавится от внутренней стороны пенопласта, и заменить его вспененным полиэтиленом, он на картинке желтого цвета. Он более гибкий и позволяет закручивать форму в широких пределах, поэтому внутренняя поверхность шлема сделана из него. Она должна плотно прилегать к лицу в районе глаз и вокруг носа, иначе вы постоянно будете наблюдать запотевания линз от дыхания, сразу учтите этот момент. Была мысль сделать эту часть из строительной или плавательной маски, но под рукой их не нашлось, поэтому делал сам, впрочем вам вариант с готовой маской может показаться более предпочтительным, его с радостью и советую. Сам же я, решил также делать боковые стороны для шлема, прилегающие к голове.



Еще один момент, о котором стоит помнить — это вес смартфона и рычаг, на котором он будет работать, осуществляя давление на опору. Моя ксперия ультра весит 212 грамм, а необходимое расстояние, на которое она удалена от лица — 85 мм, плюс еще собственный вес коробки — все это вместе, я бы сказал, делает шлем удобным с оговорками. Сзади у него одна лямка, это будет видно на картинке в конце раздела, лямка эта из резиновой ленты, шириной 40мм, которая достаточно плотно притягивает его к затылку, но будь экран тяжелее, или рычаг больше (читай фокусное расстояние длиннее) — носить шлем было бы гораздо сложнее. Так что владельцам устройств большей диагонали или веса — советую сразу продумывать схему крепления на голове со второй, поперечной лямкой от переносицы к затылку, так и удобнее и безопаснее.

Также, на этом этапе вам потребуется продумать еще такой нюанс — вывод звука. У меня есть несколько пар наушников как закрытого, так и открытого типов, есть наушники-затычки и так далее, но подумав, я не стал строить шлем вокруг крупных и удобных Sony MDR с большими амбушюрами, а выбрал простые наушники-затычки. Возможно вам будет критично сделать шлем с крутым звуком, в таком случае — нужно сразу представлять то, как именно вы будете сочленять наушники, их дугу и шлем с его креплением. У меня был такой соблазн, который быстро испарился на этапе макетирования, но я обязательно к нему вернусь в следующей, улучшенной версии шлема, если задумаю его делать. В любом случае, потребуется отверстие в корпусе шлема, соответствующее положению аудиовыхода вашего смартфона.



Итак, у меня на столе вот такое устройство — окуляр со слегка подогнанной под форму головы внутренней поверхностью. Сидит на лице он уже удобно, подходит по ширине, а для его изготовления мне потребовался всего лишь вот такой шаблон, вырезанный из обрезка пенопласта, выгнутого по форме головы, он подойдет с некоторыми правками и к верхней и к нижней части шлема:



Ранее, мы за несколько подходов выяснили фокусное расстояние окуляра. Теперь на нужном расстоянии требуется расположить экран смартфона. Помните, что экран нужно располагать так, чтобы его горизонтальная ось симметрии совпадала по высоте с воображаемой линией между зрачками, ну а то, что его нужно расположить симметрично относительно лица — вам и так понятно. В моем случае расстояние между экраном и ближней к нему стороной окуляра составило 43 мм, поэтому я сделал верхнюю и нижнюю поверхности из пенопласта, а также две боковые вставки. Получилась пенопластовая коробка, которую, поставив на экран — можно было уже использовать по назначению, именно тут и понадобился показанный выше шаблон.



На этом этапе было несколько мелких подгонок фокусировки и расположения смартфона, после этого — точный замер полученных результатов и раскройка внешнего, картонного корпуса. Он обслуживает две цели — защищает довольно нежный пенопласт от механических повреждений, я довольно легко продавливал его пальцами на этапе начальных экспериментов, пришлось следить за этим, а вторая, и основная цель — именно картон будет держать экран в нужном положении, прижимая его к пенопласту.



В итоге получилась такая коробка, с крышкой на верхней передней части, под которой и прячется смартфон.



Примерив шлем к голове, и вдоволь насмотревшись на всевозможное 3D, я подправил мелкие неудобства внутри шлема, и сделал крепление — резинку к голове. Она просто сшита кольцом, и приклеена двусторонним скотчем к картону, плюс сверху прихвачена серебристым оракалом, который был использован на замену скотчу. В результате получилось как-то так:



Кстати, на этом изображении видно еще одно техническое отверстие, которое используется для подключения USB-кабеля, который потребуется нам чуть позже. А вот так выглядит шлем на голове подопытного, подарившего линзы для этого шлема:



Итак, что получилось в итоге.
Габариты: 184х190х124 мм
Снаряженная масса: 380 грамм
USB вход/выход
Разъем 3,5 мм для наушников
Полезная площадь экрана 142х75 мм
Разрешение 1920х1020 пикселей

Настало время перейти к программной части нашего путешествия.

Доступные возможности VR-шлема



Просмотр 3D видео


Самое первое, что приходит на ум — это просмотр фильмов в 3D. Это — очень простая и понятная точка входа в виртуальную реальность, хотя, если говорить более строго, это скорее порог недалеко от неё, предыдущая ступенька. Но, чтобы не умалять заслуг этого вида развлечений, сообщаю — просмотр 3D кинофильмов в получившимся шлеме — очень интересное и забавное занятие. Я посмотрел всего два фильма, поэтому пока не пресытился, но ощущения очень хорошие: представьте, что вы в полутора метрах от стены, на которую смотрите прямо. Не поворачивая головы, попробуйте обвести глазами область вокруг — вот это и будет доступный вам экран. Да, там небольшое разрешение — каждому глазу достается всего по 960х540 пикселей от fullHD фильма, но тем не менее впечатление это оставляет вполне ощутимое.

Для просмотра фильмов в таком виде, вам потребуется бесплатный плеер MX Player с установленным кодеком под ваш процессор, у меня это ARMv7 Neon, ну и собственно, видеофайл. Найти их легко на всевозможных торрент-трекерах, технология называется Side-By-Side или коротко SBS, вот по этим ключевым словам смело ищите. Плеер имеет возможность настроить соотношение сторон воспроизводимого видео, что крайне полезно для SBS файлов, которые в противном случае растягиваются по вертикали на весь экран. В моем случае мне потребовалось зайти в настройки — «экран» — «аспект» и выбрав «вручную» задать соотношение сторон 18 к 4, в противном случае вы получите вытянутые по вертикали изображения. Я попробовал поискать другие плееры с подобным функционалом, не нашел, если вы знаете — добавляйте в копилку знаний.



В общем-то, к этому пункту мне больше и добавить нечего — обычный 3D кинотеатр у вас перед глазами, всё очень похоже на поход в кино, или просмотр на 3D телевизоре с поляризационными очками, например, но в то же время есть и отличия, в общем, если вы любите 3D — вам стоит попробовать VR-шлем.

Андроид-приложения для Durovis Dive и подобных систем


Вся эта история вообще началась именно с этого пункта. В принципе, следующие три ссылки показывают практически все возможные программы под андроид на текущий момент:
www.divegames.com/games.html
www.refugio3d.net/downloads
play.google.com/store/apps/details?id=com.google.samples.apps.cardboarddemo

Что нам потребуется для комфортного вкушения виртуальной реальности? Очевидно — джойстик, либо любой другой контроллер, например — беспроводная клавиатура. В моем случае со смартфоном фирмы Sony естественным и логичным выбором является родной и нативно поддерживаемый контроллер от PS3, но так как у меня такого не оказалось под рукой, а оказался старый добрый Genius MaxFire G-12U, я присовокупил к нему переходник с microUSB на USB, подцепил к смартфону, и даже не удивился, что он без вопросов сразу стал работать как в интерфейсе устройства, так и отдельных программ.



Потребуются и наушники, потому как погружение в виртуальные реальности без звука будет неполным. У меня это обычные затычки, а вы сообразите сами, как удобнее.

Что следует ждать, и чего не следует от приложений, представленных в этом разделе? Дело в том, что все приложения вообще, которые написаны под андроид на тему виртуальной реальности — очень скудны, если выражаться мягко. Если запустить их без шлема, и попытаться, ну, посмотреть, что же это за виртуальность такая, то есть вероятность, что шлем не захочется ни покупать, ни делать. Они откровенно очень сырые и убогие, и ничего супер-интересного не представляют.

Но. Когда вы засунете голову в шлем, всё становится совсем иначе, и лично я, скептически настроенный ко всему, ни за что бы не поверил, тем не менее это так.

Главное, что нужно учесть, это трекинг движения головы. Даже при плохой его реализации, или притормаживаниях — это совсем новое и неизведанное поле для ощущений, поверьте, до появления шлема вы ничего подобного не ощущали очень давно, со времен приключений со скалолазами в горах, прогулок по дну океанов, ночевок в лесу и прочих массовых убийств, которые все мы так любим. Шлем предоставляет совершенно нереальное ощущение реальности, прошу прощения за каламбур, и любая, даже самая убогая графика покажется конфетой внутри него, в общем, я должен сказать — если вы любите играть в игры, или ощущать новое — шлем устройство для вас.

Из собственного опыта: представьте, что вы в 1998 году, и, скажем, польская студия производства компьютерных игр сделала демо, в котором вы высадились на луне, вышли из модуля, увидели каноничный американский флаг, выглядящий как картонка, прибитая к палке, воткнутая в грунт, а над флагом в небе надпись крайне убогим шрифтом «соберите инструменты, осталось 3шт». При этом графика из очень, крайне простых элементов, где однообразно-накопированное звездное небо и квадратно-повторяющийся грунт под ногами занимают 98% полезной площади экрана, и где-то видны пара пикселей тех «инструментов», которые вам предстоит найти. На самом нет. Вы их уже видите, просто идти к ним нужно будет по 10 минут. Просто идти. По луне. Без звука. По повторяющимся спрайтам. Без экшена ну вообще.

Вот скажите, через сколько секунд вы удалили бы эту игру с компьютера или даже смартфона? Вот именно. А в шлеме это чудо позволяет переживать (!) опустошение и одиночество единственного человека на планете. Без шуток. Я обнаружил себя через 15 минут игры отчаянно боящимся, что я на Луне один, под колпаком звезд, и что делать — совсем неизвестно.

Более-менее такая же история и со всеми остальными играми и приложениями. Они убогие, они стрёмные до жути, но при этом внутри шлема — они отсылают тебя на 15-20 лет назад, а кого и раньше, к тем самым играм, в которые играли, а не за которыми проводили время. У меня пока единственный вопрос к разработчикам — почему нет ни одной игры с полноценным сюжетом под этот расклад? Единственная игра спасла бы положение дел просто неимоверно, потому как сейчас, показывая людям виртуальную реальность на андроиде, особо то показать и нечего, всё с оговорками «это демо, здесь нельзя стрелять», да «всё, вся игра пройдена, да, за 4 минуты». К слову, почти все эти приложения написаны на Unity, тем более удивляет их низкий уровень, либо я не умею искать.

Но вы меня все равно не слушайте, попробуйте сами, и расскажите свою версию, я с интересом. И ссылочками приправьте, буду безмерно. Я, например, установил даже демо с неистовым названием Симулятор Туалета. Потому что.

Небольшая пасхалка
На самом деле на сайте дуровис-дайва есть ссылка на квейк-2, демо-версию игры, устанавливаемая на андроид и имеющую возможность SBS режима отображения, внизу этой страницы — подробная инструкция как это делать. Единственно, что не сработало в автоматическом режиме — не распаковался отдельный архив, так вот там будут в настройках запущенной игры ссылочки на зеркала, вам нужно перепечатать одну из них в браузер на десктопе, скачать самораспаковывающийся архив, выдернуть оттуда файл pak0.pak и подложить его в директорию установленной в телефон игры, у меня она под названием baseq2.

После этого тот самый Q2 запустился у меня без проблем — очень быстро работает, и все прекрасно видно. Страшно стало секунд буквально через 30, прямо холодок по позвоночнику, но дальше описывать не буду, пробуйте сами. Скриншот сделать не получилось, к сожалению, а джойстик работает пока только в режиме «побродить», стрелять не умеет, придется ковырять настройки.


Таким образом, вся эта нерасторопность андроид-разработчиков (внимание андроид-разработчики!) привела меня к мысли — ну что ж, нет игр под андроид — попробуем настольный компьютер, помня о главных плюсах виртуального шлема — огромный экран с погружением в изображение и трекинг положения головы, и попытаемся их не потерять.

Подключение к компьютеру в качестве VR-устройства


Если честно, мысль о таком подключении появилась сразу, но не было ни одной идеи, как, что и в каком порядке делать. Поэтому, пока я чертил, резал и склеивал детали, попутно думал, где получить сведения о том, как вывести изображение с видеокарты компьютера, одновременно передав трекинг головы, то есть данные гироскопа и акселерометра в компьютер. И все это, желательно, с минимальной задержкой.

И вы знаете, решение нашлось. Оно состоит из трех этапов, каждый из которых мы рассмотрим отдельно, притом сначала я опишу работающие варианты, а потом пробегусь по тем, которые оказались неработоспособны в моем случае, но, возможно, будут полезны вам.

Создаем 3D-вывод на компьютере.


Это оказалось относительно просто, но не зная сразу, можно поплутать. Итак, идеальный компьютер, позволяющий играть в полноценные 3D игры в формате стереовывода имеет видеокарту на базе обычных чипов NVidia или ATI, чем современнее тем лучше, и, что очень важно — в драйверах возможность настройки произвольного разрешения. В случае, если у вас ноутбук (мой случай) или такая видеокарта, драйвера которой не поддерживают произвольных разрешений — изображение в шлеме будет вытянутое по вертикали, и возможное решение, небезопасное и довольно муторное — копаться в реестре и прописывать разрешения там. Ваши варианты, опять же, горячо приветствуются!

В общем, вам потребуется установить такую версию драйверов для видеокарты, которая поддерживает произвольные разрешения. Если ваш смартфон и ваш монитор имеют по 1920х1080 пикселей на экране, то всё очень просто — в настройках видеокарты вам нужно создать произвольное разрешение 1920х540, а затем применить его к монитору. Вы увидите, как рабочая область экрана стала меньшей высоты и расположилась по середине экрана. Если картинка на вашем экране примерно такая, то вы все сделали верно:



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

Второе, что вам потребуется, это скачать 3D драйвер — который имеет полноценную триальную версию сроком на две недели, и позволяет осуществлять вывод трехмерных изображений на переферийные устройства в произвольных конфигурациях, и сайд-бай-сайд, и топ-боттом, и анаглиф, в общем, все что пожелаете.

Устанавливаете обычным образом, запускаете утилиту TriDef 3D Display Setup и выбираете опцию Side-by-side, теперь при запуске игр из под этого драйвера — они будут в стерео-режиме «каждому глазу — половина кадра». Если у вас установлены игры, то вы можете открыть утилиту TriDef 3D Ignition и выполнить поиск установленных игр, в окошке появится ярлык вашей игры — вуаля, можно пользоваться.

У меня игр установлено не было, поэтому я поставил Steam и на распродаже приобрел Portal 2 за 99 рублей, да это реклама. И тут наступает момент, о котором нужно знать — драйвер, обслуживающий стерео вывод, может выводить стерео у любой игры, которая имеет возможность запускаться в фулскрине, но не может создать вывод для окна, область которого меньше, чем размер рабочего стола. Запомните этот момент, ниже он станет критичным, как красная тряпка у быка.

В общем, если драйвера установлены и настроены, игра приобретена и запущена, и выглядит всё это на экране как-то так:



Можно переходить к следующему этапу.

Передаем изображение с компьютера на экран смартфона


Тут есть несколько путей, и судя по многочисленным иконкам в маркете — программ, позволяющих передать требуемое — не так уж и мало. Мне «повезло», прежде чем я нашел удобное и работоспособное приложение, я испробовал несколько других, удручающих и фрустрирующих поделок из гугл-плэя, и мне жаль, что туда пускают любой шлак. На поиск и настройку приложений я потратил времени больше, чем на изготовление устройства. Более того, одно из приложений пришлось купить, и было бы с ним всё хорошо, если бы не было всё нехорошо. Но обо всем по порядку: вам обязательно потребуется локальное wi-fi соединение между компьютером и смартфоном.

Также вам потребуется хороший и быстрый «удаленный рабочий стол», который не разлогинивается из вашей учетной записи на десктопе при входе через удаленку. Такой программой оказалась бесплатная Splashtop, и также была найдена наполовину-платная iDisplay.

Та, которая платная — с ней всё прекрасно, только она не позволила расположить обрезанный сверху и снизу экран ровно по середине дисплея, поэтому пришлось от нее отказаться, но в целом работает она хорошо, был даже обзор на хабре, откуда я её и почерпнул. А вот Splashtop отработал как надо, поэтому — ставьте его.

Все программы этого типа работают по примерно одинаковой схеме — вам нужно скачать и установить хост-версию для вашего десктопа, и ресивер-версию для смартфона. Думаю, с этим проблем не возникнет, поэтому описывать эти процессы не буду, там дел то на пять минут бубна — скачал, установил, зарегистрировал, настройка, коннект. Единственно, о чем упомяну, вам нужно будет зайти в настройки и указать, что ваше беспроводное подключение нужно использовать локально, для чего вам потребуется в андроид-версии указать IP вашего компьютера явным образом, этот адрес вы можете узнать утилитой ipconfig в командной строке. Собственно, это все настройки, всё уже должно работать, вот, к примеру, скриншот со смартфона текущего момента:



Если вы запустите игру из под утилиты 3D Ignition, то она покажется на экране вашего смартфона одновременно с тем, как это произойдет и на мониторе. Или нет. Потому что здесь скрывается самый горячий подводный камень нашей истории, и да, вы будете смеяться так же, как смеялся я. Следите за ловкостью рук: драйвер, который отдает стерео-картинку из игры требует фулскрина (если выбрать режим «в окне» — стерео работать не будет, будет обычный запуск игры), а программа доступа к рабочему столу с вашего смартфона кричит «я не могу запускать фулскрин, прости, да, совсем», и может лишь показать рабочий стол и окна на нем.

Поэтому, самый тонкий момент. Скорее всего, вам удастся поиграть в любые игры, которые запускаются в режиме «в окне без рамок». Я достоверно не знаю, зачем и откуда такой режим в играх есть, по этой причине, или по какой-то другой — но именно он оказался спасением: с одной стороны он обманывает десктоп, и говорит ему, что запустил игру на полный экран, а с другой — формально отдает в смартфон всего лишь окно, правда без рамок и развернутое на весь экран. Тот самый случай, когда и волки сыты и овцы целы.

Так что мне повезло, портал-2, скачанный мной из стима оказался именно той игрой, которая поддерживает все три режима запуска. Так что вам остается проверять на свое усмотрение, какие игры запустятся так, а какие нет.

Уже сейчас вы можете запустить игру, и погонять в ней в шлеме. Но, как говорится, картина была бы неполной, если бы не было трекинга движения головы.

Подключаем трекинг движения головы


Вы дочитали до этого места, с чем я вас и поздравляю. Не хочу вас обманывать, этот пункт самый сложный и малоизученный, тем не менее не стоит отчаиваться. Итак.

Первой мыслью была «разобрать» Oculus Rift SDK или SDK Durovis Dive, благо исходники в открытом доступе. Возможно так и следовало поступить, но я не программист, и в этом ничего не понимаю. Поэтому мой взор был обращен к готовым решениям, которые передают положение смартфона в пространстве на десктоп. Как оказалось, существует просто гигантское количество программ, которые, якобы, могут это делать. Судя по описаниям — так вообще почти все. И опять, я перебирал десятки программ со сладкими обещаниями, а на деле это было еще более страшно, отвратительно и убого, чем перебирать программы для вывода изображения на экран смартфона, да что там, даже более убого чем те демо-игры для дуровис дайва, которые я описывал выше. Если на этом этапе поймать волну фрустрации, то всё, «досвиданья шлем». Тем не менее, нужная (с оговорками) программа, нашлась. Но сначала ложка дегтя — Monect, UControl, Ultimate Mouse, Ultimate Gamepad, Sensor Mouse — всё это не подошло. Особенно первая в этом списке — в описании сказано, что Monect Portable предоставляет режим

FPS mode — Using gyroscope to aim the target just like a real gun in your hand, perfect support COD serial!

В итоге, я ее купил за баснословные 60 рублей, а это оказалось неправдой. Такого режима в приложении просто не существует! Я был зол.

Но, перейдем к успешным вариантам. Вам снова потребуется скачать хост и клиент версии программы под названием DroidPad. Именно она, при настройке одного из режимов, позволила совершить необходимое, и передать параметры датчиков в реальном времени по беспроводному доступу. Алгоритм такой — устанавливаете программу на декстоп и в смартфон, запускаете ее на смартфоне, выбираете режим «Mouse — Mouse using device tilting», и после этого запускаете её десктопную версию.

Если все сделали в такой последовательности, должно заработать соединение, и вуаля — вы управляете курсором мыши на экране компьютера! Пока что беспорядочно и сумбурно, но погодите, сейчас настроим. В моем случае, в андроид-версии приложения скриншот окна настроек выглядит вот так:



Можно задать название устройства, а вот порт лучше не трогать — работает и по умолчанию, а работающее лучше пока не трогать. В десктопной версии всё чуть сложнее, настройки у меня вот такие, но их еще предстоит оптимизировать, так что ипользуйте только как ориентир, не более:



Здесь настройки осей X и Y на экране компьютера, и сила сенсора из телефона. Как именно это всё работает для меня пока что черный ящик, потому как никакой документации разработчики приложения не предоставляют, поэтому — информацию предоставляю «as is». Совсем забыл добавить, что в смартфоне у меня установлена программа, контролирующая запуск приложений в альбомной или портретной ориентации, и все приложения, которые испытывались для этой затеи = испытывались в режиме альбома. Приложение называется Rotation Manager, а в смартфоне глобально отключена автоориентация экрана.

Настроив ваши приложения соответствующим образом, вы должны будете подключить смартфон к компьютеру по описанному ранее алгоритму (у меня любое расхождение с указанным порядком ведет к завершению работы приложения), и, держа смартфон в руке так, как он будет расположен внутри шлема, попытаться настроить параметры — поочередно подправляя десктопные ползунки и нажимая на кнопку «Calibrate» в окне андроид-версии. Скажу сразу — мне после довольно недолгих попыток, удалось настроить углы и повороты относительно прилично, но затем, настраивая точнее, я сбил те настройки, не подумав их сфотографировать, и те, что сейчас на скриншоте — это уже только приближение к предыдущим, которые были всё же лучше по ощущениям. Еще один момент — все эти ползунки очень чувствительные, и держать в руке смартфон в одном положении так чтобы он не убирал курсор произвольным образом — неудобно, поэтому постоянно приходится разрывать подключение и настраивать, затем подсоединять и проверять. Через некоторое время информация в статье на этот счет будет обновлена, но и при текущих настройках — внутри игрового мира это выглядит весьма впечатляюще.

Итак, какие ощущения? На данный момент у меня за неимением времени установлены игры Portal 2 и бесплатный робото-шутер HAWKEN, предложенный стимом. Что касается портала — там довольно быстро тебя порабощает окружающая атмосфера и звук, и погружение это настолько сильное, что сравнить не с чем, разве что посиделки перед компьютером 10 лет назад в четыре утра, примерно так же остро всё воспринимается. Но если там это была усталость и темнота вокруг, то в шлеме — это несколько другой, более яркий эффект такого же присутствия. А вот вторая игра, где ты сидишь в каноничном «огромном человекоподобном роботе» — удивила. При наличии шлема на голове, реальность, проецируемая как бы на поверхность шлема в игре — становится ближе, теплее и ламповее, при том — очень быстро. Удивительно быстро.

Не стоит полагать, что ощущения, вызываемые VR-шлемом будут одинаковые у всех, но по всем «подопытным кроликам» могу уверенно сказать — оценили этот девайс абсолютно все, отзывы исключительно положительные и заинтересованные. Поэтому смело и рекомендую и вам, потратьте один день на изготовление этого шлема, и оцените сами. Моя личная цель была именно такой — быстро удовлетворить любопытство, без специальной траты денег и времени на ожидание, на все про все я потратил около трех дней поисков и настроек, а теперь передаю эстафету вам, уже в сжатом виде.

Лично для себя я решил, что скорее всего, сделаю вторую версию этого шлема, с небольшими доработками и усовершенствованиями, а впоследствии приобрету свежую потребительскую версию Oculus Rift. Это оказалось очень интересно и познавательно.

Очень жду новых приложений под андроид, и отчасти эта статья написана с надеждой, что кто-то из разработчиков заинтересуется и выдаст какую-нибудь инетерсность на общее обозрение. И, небольшое пожелание — если вы знаете какие-либо программы и решения, которых я не упомянул, но которые бы расширили качество статьи и улучшили работоспособность устройства — напишите о них в комментариях, и я обязательно добавлю ценные сведения в статью, для будущих поколений.

TL;DR: в статье рассказывается о быстром и качественном способе изготовления шлема виртуальной реальности на базе HD смартфона или планшета с андроидом на борту, полная пошаговая инструкция и общие принципы этого процесса, а также описываются основные доступные способы применения полученного шлема: просмотр кинофильмов в 3D формате, игры и приложения под андроид, и подключение шлема к компьютеру для погружения в реальность десктопных 3D-игр.
@ID120
карма
70,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (66)

  • +3
    Вот в EVE Online вместо пиления сторонних проектов лучше бы нативный SBS запилили… Хотя режим «окно без рамок» там есть…

    Спасибо за интересный проект, буду присматриваться к лупам в хозмагах :)
  • +3
    Спасибо. Отличная работа. Единственное, что хочу сказать тем, кто будет повторять — самоделка сильно отличается по точности от фабричного производства. Результатом погрешностей будет жестокий спазм аккомодации и переутомление при длительном использовании.
    • 0
      Кстати интересно, а в фабричных как юстировка устроена? Межзрачковое расстояние то у всех разное…
      • 0
        Во многих «шлемах» есть возможность подвигать линзы и не только.
        • 0
          Верно, и, если честно, мне это показалось слабым звеном в устройстве. Так, например, в Durovis Dive это крепление должно иметь только две поступательных степени свободы, но из-за люфта появляется маленькая третья, вращательная, при которой параллельность плоскости линз относительно экрана нарушается. Не могу сказать, что это обязательно на что-то влияет на таких масштабах, но тем не менее незапланированные люфты наблюдаются.
    • 0
      Благодарю за дисклеймер о зрении, добавлю его в статью.

      Что касается фабричного производства, то точность точностью, но жесткость конструкции и надежная фиксация линз в выбранном положении показались мне слабыми звеньями, поэтому я решил в несколько подходов настроить максимально точно под себя и закрепить конструкцию, а потом оказалось, что в общем-то шлемом могут пользоваться и другие люди. С другой стороны, доработать любое фабричное изделие до необходимой крепости фиксации — дело двух минут, поэтому, наверное, купленный шлем выиграет после небольших доработок руками.

      А в чем конкретно выражается эта точность? Как её улучшить? Интересуюсь «для науки».
      • +1
        Мне трудно сказать. Я не занимался проектированием подобных систем. Тут ситуация схожа с подбором очков. Если вам при подборе промахнутся в межзрачковом расстоянии, углах астигматизма или в диоптриях, то через какое-то время ношения появятся симптомы переутомления. Это происходит из-за того, что мышца хрусталика будет вынуждена работать в неоптимальном форсажном режиме. Самый гадкий вариант — длительная фокусировка на близком расстоянии — это основная причина спазма аккомодации. ЗДесь расстояние вообще крайне мало. В нормальных шлемах и Google Glass они отодвигают точку фокусировки на пару метров за счет системы призм и еще чего-то. Будет ли здесь это так же работать? Или точка фокуса находится близко? Это очень важный момент. Попробуйте найти опытного оптометриста в крупной оптике. Пусть помогут с проектом. Также они смогут изготовить линзы необходимой силы и формы на заказ. Хотя это будет дороже.

        Я бы взял дешевую оправу из толстого пластика, вставил туда толстые линзы и уже ее вмонтировал бы в конструкцию. Тогда будет идеальное соотношение по осям и расстояниям. У вас половина работы — это попытка вырезать из пластика грубое подобие оправы.
        • 0
          Да тут кроме спазма аккомодации, можно ещё целый букет собрать, хорошо хоть экран\ы ещё в одной плоскости…
          Фигня в том, что юстировка оптики на глаз, занятие не благодарное, тк малые отклонения трудно вербализовать ибо зрение подстраивается под них, а ощутимый дискомфорт появляется уже когда мышцы стонут, от этой подстройки…
          • 0
            Я потому и предлагаю взять очки готовые в оправе. Линзы с нужными параметрами уже будут внутри. Заодно решается проблема изначально близоруких/дальнозорких. Остается добиться перпендикулярности экрана и дешевой плоской оправы. Закрепляем их на подвижной линейке-платформе и можем регулировать расстояние. Вроде все. То, что получилось — запихнуть в коробку. Вопрос правильного подбора линз только. Но то, что это точнее, чем пропилы в пенопласте/пенополиуретане — несомненно.
            • НЛО прилетело и опубликовало эту надпись здесь
              • 0
                Лучше не паяльником, а нихромовой проволокой. Получается профессионально.
        • 0
          Спасибо, кое-что прояснилось. Не стал описывать один из этапов постройки, но вообще оправа из толстого пластика у меня была. Помните китайского мужчину из вирусного смешного ролика «очки нннада?» — вот у как раз случилась оправа от таких очков, куда линзы идеально подошли. Об этом совпадении решил не писать, слишком уморительная и отвлекающая деталь, но вообще на самом первом этапе пользовался ими — нацепил на нос, а второй парой линз водил между лицом и экраном, так опытным путем нашлись все нужные закономерности. Правда на хорошую соосность и правильные размеры таких очков, конечно, лучше не полагаться.

          image

          Обратиться к оптику — это хорошая мысль, не приходила в голову. А что касается системы призм и сдвига точки фокусировки, мне показалось, что за счет двух пар линз как раз достигается этот эффект, хотя могу ошибаться, нужно вспоминать оптику. Но внутри шлема экран, на который смотришь, визуально находится в 1-1,5 метрах от глаз, не знаю насколько это коррелирует с требуемым параметром сдвига, но визуально эффект такой.
          • +1
            1-1.5 метра это хорошо. Но потыкайте палочкой физиков, которые помогут рассчитать оптику. Я тут не помогу. «Бабушачьи» очки с оправой за 300 рублей прекрасно подойдут к комплекту. А техник в оптике выточит вам все, что угодно. Обычные линзы вам обойдутся рублей по 300. Плюсовые диоптрии — это самый востребованный эконом-сегмент для пенсионеров.
            • +1
              А с какими словами прийти в оптику, чтоб подобрали линзы, через которые будешь пялиться на экран в 5-10 см от глаз? Типа, «Я тут придумал некую хрень, давайте вместе для неё линзы соорудим»? Пошлют же, «мы этим не занимаемся!»
              • 0
                Ну тут надо уже общаться. Понятно, что это непрофильная задача.
      • 0
        Добавлю, что сделав прототип, можно уже сделать чертёж и заказывать его раскройку в более промышленных масштабах
        • +1
          Мне показалось, что на рынке уже довольно много устройств, которые имеют подобную схему. Тут вся загвоздка, все же, не в проблемах изготовления или настройки, это более-менее решается тем или иным способом, а в том, что отсутствует достаточное количество программного обеспечения, которое бы позволяло использовать эту технологию более интересно и полезно. Нужны игры, образовательные программы, фильмы-путешествия, вот это всё, хоть под мобильные ОС, хоть под десктоп, а как присобачить к экрану оптическую систему — в общем-то решено уже многими способами. Вот запустил я квейк-2 под андроид. С бубном. Так при каждом запуске — половину бубна все же приходится доставать. А пока все это слишком «элитарно», большого распространения технология вряд ли получит, поэтому и промышленные масштабы пока что под сомнением.

          Хотя, конечно, мысли на этот счет тоже посещают.
    • 0
      Пока читал статью, думал в комментариях вас позвать и спросить, как это повлияет на глаза, а вы уже тут :)
      • 0
        Я вездесущ)
  • 0
    А как же FreePIE? Как по мне, так отличный трекер головы.
    • 0
      Благодарю! Установил, попробую разобраться. Если у вас есть более-менее надежный алгоритм, добавлю его в статью, иначе пока буду ковыряться сам, пройдут некоторые времена.
      • +1
        Могу помочь только ссылкой на форум (там очень много проектов с вирт. шлемами etc.)
        • 0
          В процессе поисков я был и на этом форуме, какие-то отдельные сведения почерпнул и оттуда. Придется сделать список материалов.
          • 0
            Ждём-с)
  • 0
    А чем вас iZ3D не устраивает как драйвер? SBS-режим у него бесплатный и работает везде.
    • 0
      Естественно, я первым делом попытался установить именно его. По какой-то причине, возможно из-за Win 8.1, драйвер не запустился и SBS не отдавал. И наоборот, поставленный сразу после него TriDef 3D — без каких-либо плясок выдал требуемую картинку. Возможно, нужно просто подольше повозиться, но для статьи я пытался найти наиболее надежный способ, работающий везде и сразу.
  • 0
    Не зря я месяц назад купил себе смартфон с экраном FullHD. До этого думал, что это глупо — пихать в смартфон такое разрешение. А после покупки на другие экраны даже смотреть не хочется — FullHD это благо. А теперь вот и собственный шлем можно замутить с разрешением больше тестового Окулуса)

    Но неужели никто из китайев или кикстартеров до сих пор не запустил в продажу некий шем с окулярами, куда можно вставлять телефон? Я бы купил сразу партию и раздал бы друзьям. Видел только для айфонов, а вот для телефонов более подходящих, с большим экраном и разрешением, как-то не нашел.
    • 0
      В статье описаны Durovis Dive за примерно 80 баксов он приедет в любой город РФ, и проект Google Cardboard — его вообще можно невозбранно вырезать из картона по предоставленным чертежам, только линзы найти, либо заказать кит за 19 баксов. И это не единственные решения, просто самые распространенные. Дуровис, кстати, прекрасно подходит под айфоны, правда приложений в аппсторе все же поменьше.
    • 0
      vrAse ещё есть, кажись уже почти вышли на рассылку первых партий… и аналоги всякие тоже уже догоняют…
  • +1
    Очень хотел бы попробовать Лестница SCP-087 на таком устройстве. Игра, кажется, создана для таких штук)
    Останавливает лишь отсутствие смартфона с FullHD дисплеем, и, отчасти, сильная близорукость: людям в очках, зачастую, все эти 3d штуки или недоступны, или частично доступно, или от них болит голова.
    • 0
      Насколько я понял, системой линз вы можете нивелировать какие-то отклонения в зрении, но выше советуют обратиться к специалистам-оптикам, возможно это имеет смысл и в вашем случае. Скажу только, что в шлем уже смотрели несколько подопытных, и у всех разное зрение. Никто насчет фокусировки не жаловался, и в общем-то это для меня загадка.
      • +1
        На коротких отрезках разницы особой и не будет. Вы же близоруким показывали, наверняка. У них проблем не должно быть в этом диапазоне. А вот, если уже возрастная пресбиопия начинается, то тут уже надо подбирать линзы с большими диоптриями.
      • +2
        Добавлю еще вот эту иллюстрацию. Возможно, при разработке это тоже будет иметь значение. Сложно будет с теми, у кого со зрением проблемы.
        image
  • 0
    Здорово. А задержка между движениями головой и реакцией на них на видео есть? большая?
    • 0
      Задержка случается, но её можно очень сильно уменьшить качественно настроив звено передачи видео по wi-fi, как сетевыми настройками, так и внутри программы. В общем-то, после подключения Splashtop по локальной беспроводной сети, задав адрес явным образом, задержку практически никогда не ощущаешь, и лагов очень мало. Не исключено, что есть решения более удобные и качественные, если такие найдутся — обновлю статью.

      Что касается трекинга — еще не все варианты опробованы, задержка время от времени резко увеличивается, а иногда ее совсем нет. Пока что строгий алгоритм не найден, к тому же выше советовали другую программу для трекинга, нужно еще с ней попробовать настроить.
  • 0
    Суровая челябинская виртуальная реальность
    • +3
      *самарская
  • 0
    А на обычном мониторе что-то подобное можно собрать? Разумеется, без трекинга головы, ее позиция всегда будет фиксирована.
    • +1
      Да, разумеется можно. Только это получится что-то типа двух «телескопов», стоящих перед «телевизором», к которым нужно будет прислоняться головой. Соответственно, стоимость оптической части такого проекта может перекрыть любые траты на какой-нибудь нексус 5 и дуровис-дайв к нему, а результат будет не столь удобным для использования, хотя может получиться интересный стационарный аттракцион.

      Если же есть задача «просто смотреть и играть 3D с монитора» — так для этого проще приобрести готовый 3D-дисплей с поляризационными очками.
    • +1
      Мне в Интеренетах попадался вариант: берется подходящая по размеру матрица c LVDS интерфейсом (насколько я понимаю, это стандартный интерфейс для соединения матрицы с контроллером), к ней контроллер с нужным Вам входом (DVI/HDMI/VGA), соединяется все в кучу, запаковывается в корпус из поста и готово. В качестве трекера можно использовать free track, потенциально это даже может быть лучше и быстрее гироскопов.
      Теоретически в таком подходе даже есть плюсы: легче и меньше лаги, возможно дешевле.
      • 0
        Электрически-то LVDS стандартен, а вот логика бывает разная, так-что любую матрицу с любым контроллером не подружить…
        • 0
          Я в этом вопросе не компетентен, может и так. Хотя погуглил, здесь сказано, что VESA стандарт на логическую часть есть.
      • 0
        Я вот такие пробовал forum.rcdesign.ru/blogs/39693/blog17652.html, за авторством чела Scooter-practic c рцдизайна. Как раз матрица + контролер + линзы. Корпус свой. Входы аналоговый и HDMI. Само собой, тут никакого стерео, обычные очки для FPV.
    • 0
      Можно, я такое делал ещё на ZXspectrum-e под влиянием какого-то фильма, где видел подобную конструкцию…
    • +1
      Не уверен, насколько в тему, но меня поразил вот такой до гениальности простой 3D-эффект на обычном мониторе.
      • 0
        Давно постил этот ролик, но и сейчас не зазорно: здесь эксплуатируется этот же эффект, но с большим размахом.

  • +1
    Хоть стартап мути… Для всяких любителей квадрокоптеров. Мозги в телефоне есть — обработку данные и приборную панель выводить сам сможет. Т.е. «мозги» не нужны уже. Магнитный компас тоже есть. Осталось туповатую приблуду на каком-нибудь контроллере сделать, которая по Bt/WiFi сможет к телефону подключать внешние устройства и пару видеосигналов оцифровывать. По-идее, задача решаемая. И решаемая относительно просто. И можно будет к этому шлему своих роботов подключать и управлять «изнутри».
    • 0
      Думал и о таком. Вообще взять коптер/робота и прикрутить к нему стерео-объектив — заманчиво, даже «просто посмотреть». Надо соорудить.
  • 0
    Пенопласт гораздо практичнее резать натянутой нихромовой струной, включённой в трансформатор от галогеновых ламп на 12V. Она раскаляется и режет пенопласт, как нож масло. Края реза при этом получаются гладкими и чистыми.
    • 0
      5-8 лет назад этим способом было нарезано немало кубометров для обшивки самолетов, но сейчас ради полуметра реза городить «лобзик» не имело смысла, это все же макетирование, а не готовое изделие. Хотя, кому то эти сведения будут полезны, у меня в статье их нет, благодарю. Как бы вот, для последующих поколений — нихромовый станок для резки пенопласта:
      image
  • +3
    А у меня вот так вышло. Видео стримлю через нативный стримминг от Nvidia image
    • +1
      С виду 7' планшет. Не широко для глаз расставлены изображения? Или использовали метод, предложенный автором поста, либо подстроили софтом?
      Что нужно для такого стиминга? Нвидиевкая видеокарта и/или Тегра в планшете?
      • +2
        Это Nexus 7. Стримить можно с нвидий 600/700/800 серий. Какой чип внутри планшета вроде пофиг. Но нужена хорошая Wi-FI сеть… 150+Mb
        Глаза фокусируются нормально, особенно в демке с горками под андройдом. Под Rift есть приложение Vireio Perception, в нём множно полностью настроить как будет отображаться картинка. Очень советую его попробывать.
        Для трекинга юзаю FreePIE. Скрипт Android > Freetrack. Android >Rift почему то наглухо вешает FreePIE.

        Когда всё отлажу, то наверное запилю отдельный пост.
        • +1
          Я погонял советуемый ранее FreePIE, в общем там точность очень хорошая, скрипт я написал под себя, как мне требовалось, всё работает. Но к сожалению, приложенька под андроид постоянно и регулярно падает, форум насчет лечения пока не наковырял, хотя судя по постоянно встречающимся постам — это самая главная проблема FreePIE.

          Удалось разобраться с играми с PC, сейчас запускаются любые с любым разрешением и с любым типом наложения — хоть фулскрин, хоть в окне, в утилите любой игре назначается окно-без-рамки, задается разрешение и положение на экране — в итоге работает железно и в 3д драйвере, и в стримере.
          • 0
            А можно пример FreePIE скрипта? Буду премного благодарен.
            • 0
              Ноль проблем. Я его собрал из трех других скриптов, и поменял оси вращения, настроив значения величин. Мне под мои нужды больше всего подошли такие параметры:

              def update():   
              
                  x = filters.deadband(filters.delta(math.degrees(filters.continousRotation(android[0].roll))), deadband)
                  y = filters.deadband(filters.continousRotation(android[0].pitch), deadband) - 0.85
                   
                  mouse.deltaX = x * 5
                  mouse.deltaY = y * multiply
                 
              if starting: 
                  deadband = 0.2
                  multiply = -5
                  android[0].update += update
              
          • 0
            А как разобрались? Поделитесь открытиями?
            • 0
              Да, тут так получилось, что набирается много обрывочных материалов на целый пост, но маленький, либо на гигантский комментарий, поэтому задумчивость. Вкратце работает так, в моем случае нужны две утилиты:

              WindowedBorderlessGaming_1.1.1.4 (позволяет запустить практически любую игру в окне без рамок с любым разрешением, т.е. правильный соотношением сторон)
              TriDef-3D-Ignore-Requires-Fullscreen (запускает любую игру в SBS режиме, даже в окне)

              Обе найдены на форуме mbts3d в соответствующих разделах, ссылки у меня, к сожалению, потерялись, но можно нагуглить.
            • 0
              del
        • 0
          Да, Vireio Perception я хотел засунуть в статью, но не получилось — все предложенные ими программы не запустились у меня на WIn8.1, поэтому я их не опробовал и в статье упоминать большого смысла не было. Хотя очень хотел всё же доковырять, на форумах по VR их советуют. Еще хотел спросить — а каким именно приложением вы стримите с нвидии, и из под какого драйвера — это я к тому, будет ли работать на ноутбуке с двумя видеокартами Intel+nVidia?
    • +1
      О, круто! Кто-то, как и я подумал о очках из проф-области, наверное удобно. В щели где прилегает планшет — не забивается светом? И вообще, подробностей в студию, очень интересно как и что у вас сделано. Про стриминг нвидии поддерживаю вопрос выше, рассказывайте ))
      • +1
        Тоже боялся отверстий, но оказалось что яркость дисплея забивает всё и вся. Можно не беспокоится.
        Выше ответил. Если что можете в личку писать. Помогу чем смогу.
      • +2
        Немного фото добавлю.







      • +1
        Подробнее всё расписал тут habrahabr.ru/post/229453/
  • 0
    Есть ли разница, с какого расстояния глаз должен смотреть на линзу?
    • 0
      Расстояния между глазами/линзой и линзой/экраном зависят друг от друга, поэтому выбирается компромисс между габаритами устройства (чтобы не было огромным) и минимальным комфортным расстоянием до глаз (чтобы глазные яблоки не стучались об окуляры)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.