Предупреждение: в этом посте нет полноценной инструкции по изготовлению. Будет описан принцип работы созданного устройства, принцип изготовления, указано где и как нужно внести индивидуальные корректировки.
Сейчас становится довольно популярной тема игр в виртуальной реальности и, думаю, у многих возникало желание попробывать это самое VR. Но стоимость одного VR шлема наверняка мгновенно отбивало охоту. Специально для таких людей я хочу рассказать о том, как сделать низкобюджетный вариант, который позволит вам понять, что всё-таки вас укачивает, до того, как вы потратили 50 тысяч рублей.
Итоговая стоимость такого девайса: спички + изолента + две лупы < 200 рублей, основная стоимость заключается в оправе, которая мне досталась бесплатно с очков из 3D-кинотеатра (иронично!). Слева вариант подешевле, там оправа из картона...
Изготавливается быстро, если знать, что делать
Начну с того, почему VR-шлемы такие дорогие: такой шлем -- сложное техническое устройство. Помимо обмана вашего зрения, он еще и считывает ваши движения с помощью камер и/или гироскопов, (опционально) считывает движения ваших рук с помощью контроллеров. Кроме того, он должен быть очень легким, чтобы за 10 минут использования вы не были истощены физически. (На фото ниже профессиональный тестировщик шлемов виртуальной реальности)
Кроме того, шлем должен передавать вам качественную виртульную реальность: разрешения маленьких экранчиков там просто колоссальные. В сочетании с неприятными побочными эффектами (укачивание, расплывчатость зрения) некачественных шлемов (и конечно же монополии) это приводит к нынешней цене.
Мы будем делать часть, ответственную за передачу виртуальной реальности - VR-очки.
Если вы кролик, то VR-очки для вас будут устроены просто: вокруг головы обмотать экран и включить видео в формате 360 градусов. Каждый ваш глаз видит свою часть мира, охватывая всё окружающее пространство.
Но если вы всё же сова человек, то поле зрения у ваших глаз частично общее - вы теряете в количестве, но получаете качество.
Для хищников очень важно уметь определить расстояние до жертвы, жертве важно заметить хищника.
Зрение двумя глазами позволяет наблюдать одну и ту же точку пространства из двух положений. В астрономии такой принцип называют методом параллакса. VR-очки подсовывают каждому глазу изображение, которое он бы увидел, если бы это было реальностью. В итоге, мозг собирает данные в одно целое.
Глаза работают так же, разве что понятие угла в зрительном центре мозга вряд ли есть. Солнце - нос, два положения Земли - левый и правый глаза.
Для начала нужно определиться с тем, как тестировать получающийся прибор. Нужен образец изображения, в режиме горизонтальной стереопары (два кадра по горизонтали - для получения такого кадра у видео можете воспользоваться проигрывателем PotPlayer, в нем есть такая настройка), естественно экран, на котором будет отображаться картинка (это может быть монитор компьютера, экран планшета или телефона).
Замечание: использование видео с "глобальной" съемкой (с высоты птичьего полета, поездка на американских горках) нежелательно. Во-первых, вас скорее всего укачает или заболят глаза из-за плохой картинки. Во-вторых, дефекты картинки вы можете не заметить из-за сходства между кадрами (объекты так далеко, что глаза смотрят прямо).
Кроме того, некоторые не совсем честные личности выкладывают на YouTube видео с названием "Супер-пупер крутой фильм смотреть в 3D", а в нем просто рядом размещены два идентичных кадра и никакого 3D там нет.
Советы:
Во-первых, видео должно быть высокого качества (по сравнению с видео на YouTube), что существенно, поскольку артефакты при увеличении будут заметны очень сильно (меньше 1080p не используйте, не вредите глазам).
Во-вторых, это должна быть макросъемка: объекты расположены очень близко к камерам, тогда 3D-эффект (или размытость) вы легко заметите. Под такое определение попадают видео, сделаные специально для vr-шлемов. Найдите этим видео научное применение!
Если вы видите, что левый и правый кадры отличаются, то перед вами, скорее всего, 3D видео.
Вам понадобятся:
1) небольшие канцелярские лупы (или какие-нибудь другие крулые собирающие линзы) - две штуки.
2) оправа от очков, желательно с прямым передом, позже объясню зачем - 1 штука
3) плотный материал для изготовления направляющих - по ним вы будете двигать линзы для "фокусировки" изображения (без этого может укачивать и теряется универсальность), для направляющих и нужен прямой перед у оправы.
Как я упоминал в самом начале, дать четкую инструкцию я не могу в силу индивидуальности устройства: в некоторых особо дорогих VR-шлемах даже есть специальные ползунки для регулировки расстояния между линзами.
Если, например, у вас очень расставленные глаза, вам такой ползунок понадобился бы.
Вам могут понадобиться базовые навыки математики (требуемые формулы я приведу, но всё же постраюсь сделать инструкцию максимально общей и экспериментальной).
Дальше, для краткости, я буду использовать буквенные обозначения для некоторых индивидуальных параметров.
Для начала измерьте расстояние s между вашими зрачками ваших глаз. Это будет расстоянием между центрами кадров, которые должны породить ваши очки (центр получающегося кадра должен находится напротив зрачка). Важно! Полученные кадры могут "наложиться", степень наложения будет влиять на то, насколько близко расположенным будет казаться изображение.
(Если кто-то хочет, могу сделать пост с математическим объяснением того, как наши глаза воспринимают мир, тогда станет понятно, почему я так акцентирую на этом внимание).
При тестировании вы можете использовать видео, имеющее по горизонтали длину слегка меньше 2s. Тогда, хоть и с небольшими трудностями, вы можете наблюдать 3D-изображение и без дополнительных устройств, разве что, желательно как-то ограничить обзор глазам, чтобы они не смотрели на области видимости друг друга, иначе мозг раскроет "обман" (левое устройство на моей фотографии как раз для этого).
Для больших изображений вам уже понадобятся линзы, которые будут смещать изображение относительно глаза.
Изготовьте такие направляющие, чтобы лупы плотно сидели в них, но у вас оставалась возможность их перемещать. Я использовал для этой цели спичечные коробки, поскольку у меня были довольно маленькие лупы. (Спичечные коробки, кроме того, ограничивали область видимости, не позволяя смотреть не через линзу)
После этого укрепите направляющие с линзами на оправу. Убедитесь, что подвижность линз сохранилась.
Из законов геометрической оптики известно, что точки на главной оптической оси линзы (грубо - оси симметрии) остаются неподвижными. Остальные же "точки" приближаются или отдаляются от этой оси. Это позволяет наложить изображения друг на друга, создавая иллюзию реальности.
Когда изображение слишком большое, раздвигание линз "смещает" центры кадров к вашим зрачкам, что позволяет создать эффект 3D.
Как проверять наличие вау-эффекта?
Прежде всего вам нужно оценить фокусное расстояние линзы F. Важно! Покупайте линзы, с которыми вам будет удобно работать, а не те, у которых вы будете знаете фокусное расстояние! Конечно, если у вас есть выбор руководствуйтесь этим правилом: фокусное расстояние должно быть больше расстояния от очков до экрана, но чем ближе к этому значению, тем лучше.
Если вы знаете увеличение линзы k (обычно обозначают x2, x3, ... - k=2, 3, ... соответственно), то фокусное расстояние можно определить так: F=25 см/(1+k).
В противном случае вам придется вспомнить школьную оптику и поставить простой эксперимент: включите фонарик на телефоне и станьте перед стеной. Перемещая линзу, сформируйте четкое изображение источника света на стене (если изображение не фокусируется, значит вы расстояние между стеной и фонариком меньше фокусного расстояния линзы - отойдите от стены чуть дальше). F=d f/(d+f)
Изображенное в посте оборудование может не соответствовать комплектации вашего дома
Начните с горизонтального размера кадра 2s. Надевайте собранные очки, ставьте экран на расстоянии не превосходящем фокусное расстояние линз F (на самом деле нужно использовать некий диапазон расстояний из-за линз глаза, но тогда мы с вами утонем в формулах - если кто захочет, сделаю отдельный пост с точными расчетами - проще скорректировать индивидуально: посмотрите на экран через очки закрыв один глаз, если картинка нечеткая - приблизьте экран). Нос должен быть на линии разделения кадров. Если 3D-эффекта нет, начните равномерно раздвигать линзы (Глаза должны заметить движения кадров к носу). После изменений закрывайте-открывайте глаза.
Если у вас достаточно сильное увеличение линз (небольшие движения линз приводят к ощутимым смещениям кадра), можете попробывать существенно увеличить горизонтальный размер изображений. Моё устройство позволяет работать с горизонтальным изображением всего лишь ~14 см при том, что у меня s=6 см.
Какие могут проблемы при использовании этого устройства?
Если линзы не откалиброваны (глаза не до конца комбинируют картинку), линзы или экран пыльные, рассматриваемые изображения низкого качества или линзы настолько сильно увеличили изображение, что вы видите пиксельную сетку, вас может подташнивать или могут сильно уставать глаза. Поэтому проверять работоспособность устройства лучше на неподвижных изображениях, а потом, для проверки устойчивости эффекта, уже использовать видео.
Вы можете попробовать закрепить планшет или телефон на голове, например, с помощью коробки, тогда вы, если у вас есть гироскоп в устройстве, даже сможете поиграть в какую-нибудь VR-игру.
Спасибо за внимание! Если у вас возникли вопросы по каким-то конкретным элементам конструкции, спрашивайте в коментариях - постараюсь ответить.
Если хотите полностью математический пост (про зрение, со строгим определением технических характиристик), напишите - попробую запилить.