Гид по разработке виртуальной реальности

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

Да, порог вхождения высок. Но таковы возможности.

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

Итак, каковы основы, которые должен знать любой Разработчик, желающий проникнуть в пространство разработки виртуальной реальности?

Мы сели с Джеком Донованом, разработчиком виртуальной реальности для Нью-Йоркской Iris разработки виртуальной реальности, чтобы поговорить обо всем, от основ разработки разработки виртуальной реальности до кодирования с помощью Oculus Rift development kit.

Когда вы впервые начали разработку для виртуальной реальности?

Ну, во время моего младшего года колледжа я увидел гарнитуру Oculus DK1 на публичном мероприятии, попробовал, и это взорвало мой разум. Я подумал ‘ ‘ мне это нужно.Это то, чему я хочу посвятить свою жизнь.’

Как ваш подход отличается, когда вы разрабатываете что-то виртуальное, а что-то нет?

Я думаю, что разделительная линия не обязательно между чем-то виртуальным и не виртуальным. Я бы сказал, что это между 2D и 3D разработки.

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

В разработки виртуальной реальности и 3D, однако, нет никаких границ. Нет, что все сходится. Это просто бесконечное пространство. Таким образом, вы должны изменить то, как вы думаете об архитектуре кода.

Джек Донован-Iris разработки виртуальной реальности
Не могли бы вы уточнить, что вы подразумеваете под архитектурой кода?

Конечно. В 2D вы просто работаете с x и y. Но в 3D у вас есть z, который добавляет глубину. Таким образом, вещи не только выше или ниже друг друга, они могут быть дальше.

Вот неуклюжая аналогия. Это как iPad и холодильник. С 3D, не все находится на ближайшем расстоянии от вас, он может пойти так далеко, как вы его проектируете. Вы можете думать о дизайне, как и в реальной жизни. Если вы хотите поместить объект за другим объектом, вы можете сделать это. У тебя такая глубина.

И я думаю, что вы всегда думаете о том, где находится пользователь, когда вы развиваетесь в 3D?

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

Действительно ли это так? Больше свободы? Я представляю, каково это-быть обузой.

Это определенно кажется, что вы более свободны, и по двум причинам.

Одна из них-глубина. Чтобы вернуться к аналогии с холодильником, я могу поместить что-то за объектом вместо того, чтобы перемещать его за пределы холодильника.

Другое дело, чтобы рассмотреть границы экрана. Мне больше не нужно пытаться вписать все в заданное пространство. Пространство теперь 360 градусов в каждом направлении вокруг пользователя, не говоря уже о том, что они могут ходить или перемещаться. Нет никаких границ вообще.

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

Когда вы занимаетесь проектом, о чем вы думаете в первую очередь?

Я должен решить, какой двигатель я буду использовать. Это первое важное решение.

Сейчас есть два популярных современных игровых движков, которые используются для разработки разработки виртуальной реальности: Unity и Unreal. Между ними двумя, я думаю, что что-то вроде 95% сегодняшнего Контента разработки виртуальной реальности было разработано на одном из этих двух двигателей.

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

Каковы причины, по которым вы бы выбрали конкретный двигатель над другим?

Язык кодирования важен: в каком языке вам комфортно развиваться. Также важно знать, что выходит из коробки с двигателем.

Например, если вы поместили 3D-модель в Unreal и 3D-модель в Unity, и Вы не добавили никаких специальных процедур, модель будет выглядеть лучше в Unreal. Он будет иметь более высокое качество графики, например. Интересно, что Unreal и Unity основаны на одной и той же графической библиотеке, но Unreal предполагает, что вы хотите определенные качества и просто применяет их, не говоря вам.

Так нереально менее настраиваемый?

Нет, это так же настраиваемо, как Unity, но вам придется демонтировать качества, которые он дает объекту или модели, прежде чем вы сможете начать добавлять свои собственные модификации.

Например, если вы бросаете лампу в Unreal engine, он может дать ему эффект цветения, прямо из коробки. Так что если Вы не хотите, что Блум вам придется вручную удалить его. В то время как в Unity это подход с нуля. Вы добавляете лампу, а затем, если вы хотите цветение, вы добавляете компонент цветения.

Есть ли предпочтение среди разработчиков виртуальной реальности?

Ну, многие люди находят Unity гораздо более легким местом для начала, потому что это менее сложно. В широком смысле, есть два лагеря: Unreal-это своего рода двигатель, который используют разработчики корпоративных игр triple a, а Unity более широко используется разработчиками инди-игр.

Почему ты так думаешь?

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

Чтобы дать некоторый фон, Unreal был использован в играх triple A с момента первого воплощения Unreal Tournament, который стартовал еще в начале 2000-х или в конце 90-х годов. Поэтому я думаю, что люди, которые больше привыкли к тому, чтобы сделать enterprise triple a games, уже знают разбивку Unreal как двигателя. Они знают все трюки, которые они должны использовать.

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

Но в целом, с идеей быстрой интеграции, идея заключается в том, что Вы можете сделать что-то в единстве, которое абсолютно может быть Отправлено как тройное название. Фактически, Pokemon Go был основан на Unity.

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

С Unreal вы можете начать проект, нажать play, и вы можете ходить и смотреть. Вам не нужно беспокоиться о таких вопросах, как » почему я могу смотреть вокруг? Могу ли я изменить то, как я смотрю вокруг?”

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

Я слышал, что некоторые люди на самом деле программируют в разработки виртуальной реальности с помощью Oculus Rift development kit. Вы когда-нибудь программировать внутри виртуального пространства?

Да, я люблю программировать в разработки виртуальной реальности, когда я работаю над материалом разработки виртуальной реальности.

Так вы работаете с гарнитурой?

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

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

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

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

Мне это нравится, потому что я могу настроить его по-разному, и я больше не ограничен только своим монитором, поэтому я могу заставить Spotify занять пятидесяти футовую сторону здания на расстоянии. Я могу создать компьютер, над которым я работаю, и изменить его в любое время.

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

Что вы обычно используете для фона?

Я использую несколько виртуальных приложений. Я использую Bigscreen, а другой называется Envelope разработки виртуальной реальности. В Envelope я склонен использовать космический фон. Но Самое классное в Envelope то, что он позволяет создавать разные экраны для каждого приложения, поэтому я распространяю их повсюду. Когда я использую Bigscreen, у меня есть огромная открытая палуба, которая смотрит на городской горизонт ночью, и поэтому я просто кодирую «снаружи».

Если бы я был кем-то с интересом к виртуальной реальности и небольшим интересом к кодированию, где бы вы предложили мне начать?

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