Всем привет! Меня зовут Григорий Дядиченко, я занимаюсь AR/VR. (Аплодисменты слышны во всем зале).
Я работаю в AR/VR более 4 лет, хотя все это время работаю не только исключительно над ними, но и над множеством заказных проектов.
Я работал в студиях, долгое время был фрилансером и целый год у меня даже была своя студия.
Сегодня я хочу рассказать вам с разных точек зрения и нюансов, «почему вам не стоит идти в VR» как разработчику.
Если вам интересно, с чем вы столкнетесь в виртуальной реальности, добро пожаловать в разрез!
VR для энтузиастов
В общем, если вы энтузиаст технологий, вам нравится VR или вы мечтаете, что однажды мы все будем сидеть дома в шлемах и станем красивее, сильнее, умнее, то эта статья не для вас.Так как я буду говорить о сугубо бытовых проблемах, нюансах, ограничениях, которые для энтузиаста роли не сыграют. Но тем не менее, VR-разработка во многом отличается от той же веб-разработки, серверной части, десктопной или мобильной разработки.
Очень дорогое оборудование
Вот небольшая предыстория.
Во-первых, в студиях для разработчика это не играет такой роли, так как они предоставляют оборудование, а когда я работал в компаниях, мне не приходилось об этом думать.
Во-вторых, здесь нужно немного разделить настольный VR и мобильный VR. В мобильном VR это просто дорого, в десктопном VR нереально дорого.
Когда я начал заниматься фрилансом, у меня был хороший ноутбук MSI за 40 тысяч рублей и GearVR с последним флагманом Samsung. То есть в общей сложности установка обошлась примерно в 130к рублей.
В общем, на мой взгляд, минимальный (не самый удобный) комплект для фрилансера Unity — это ноутбук от 40-50к рублей.
С его помощью вы уже можете разрабатывать индивидуальные проекты.
Для мобильного VR, если брать текущий момент времени, также необходимо купить Oculus Quest — который стоит около 60 тысяч рублей (то есть дороже, чем ваш ноутбук).
Уже 100к рублей, что не так уж и дешево.
Тем более не для Москвы.
Но возьмем худший вариант. Настольный VR. Что нам нужно? Компьютер, монитор (хотя бы один), клавиатура, мышь, HTC Vive (хотя бы первый).
И стоит этот минимальный набор где-то 200-250к рублей.
Так как минимальная видеокарта для разработки в данном случае 1060. Это уже ощутимая сумма.
Теперь хотя бы хорошо, что в Unity есть абстракция над разными контроллерами; в древности маппинг для кнопок приходилось писать для каждой, а это очень неудобно, когда у тебя есть, скажем, вайбер, но нет окулуса.
Не проверяйте это.
Для мобильной AR вам нужен только хороший телефон.
Пока лучшее соотношение цены и качества по моему опыту — это Redmi Note 7. Его можно найти за 10-11 тысяч рублей, так что не все так плохо.
У него есть проблемы, и это точно не iPhone. Но для тестирования он идеален (сейчас это основной тестовый аппарат на Android).
Есть правда один нюанс, что это подходит только для изучения AR или разработки только под Android, что редкость (хотя в b2b задачах бывает) На iOS это соответственно IPhone 8 - 25k. Плюс вам нужен MacBook, чтобы было комфортно, но поначалу вы можете скрипеть зубами, используя Unity Cloud Build. + аккаунт разработчика - 150$ в год (около 10-11к по текущему курсу).
Что дает нам в общей сложности 90-100к.
Зачем вам айфон? Даже в ARFoundation один и тот же API работает по-разному на Android и IOS. Особенно в случае с маркерами.
За последний год у меня накопилось огромное количество техники.
Несколько шлемов, губы-мышки, куча телефонов и прочая фигня.
То есть консолидированные.
Минимальный набор для коммерческой разработки Unity — 40к-50к рублей (потом можно ускориться и купить себе SSD и прочие прелести жизни для комфортной разработки) Причем, лучше не покупать Макбук на старте, если вы решили работать с 3D. Так как там стоит задача - запечь свет. И в отличие от макбука за 50к, есть ноуты на винде с нормальными видеокартами, где это не превратится в боль.
Минимальный набор для мобильного VR — 100к-110к рублей Минимальный набор для настольного VR — 200-250к руб.
Минимальный набор для мобильной AR — 90к-100к руб.
И да, без оборудования это сделать не получится.
Даже если у вас огромный опыт работы, часть задач вы сможете выполнить лишь «на глаз».
Если речь идет о каких-либо играх, то их нужно тестировать в шлеме.
В мобильной и веб-разработке действительно не всегда все так гладко, поскольку нужны разные телефоны.
Но все зависит от задачи, и как минимум это означает, что проект у вас уже есть.
Хотя может кто-то может поделиться в комментариях, каков, по вашему мнению, минимальный комплект для таких вещей, как фронтенд, бэкенд и т.д. Лично с моей точки зрения для бэкенда это один из самых простых минимальных наборов, так как обращаемся к виртуальной машине по SSH, хоть из чайника.
Тогда это просто вопрос комфорта работы, чтобы локально поднять виртуалку, среду и вообще купить Макбук.
Тестирование
Пожалуй, моя главная боль.
Как опытный разработчик, я в первую очередь проектирую систему таким образом, чтобы абстрагировать ввод и выполнять 90% работы в движке.
Итак, стрелок? Ну что, 3D-контроллер – поснимаем.
Ввод текста? Также переносим его на экран.
Сложный алгоритм или визуализация? Тестовый сценарий, запускающий разные версии входных данных.
А когда работаешь в студии или компании, у тебя есть рабочая зона, где все можно протестировать.
В целом, по сравнению с любой другой разработкой, меня до сих пор расстраивают задачи, которые можно выполнить только вне Unity и различных IDE, когда мне нужно взять в руки устройство.
В разработке мобильных игр тоже было бы хорошо играть в то, что вы делаете.
Особенно если вы не разбираетесь в UX, а там это во многих случаях менее критично.
Скажем, пошаговые игры или головоломки.
И главный вопрос — несете ли вы ответственность за UX. Если нет и у вас нет Scrum-команды, в этом нет необходимости, хотя это полезно.
Большинство ошибок (не все) обнаруживаются внутри фреймворка.
Любая AR/VR-механика тестируется только в оборудовании.
Один из самых удобных интерфейсов AR/VR рассматривает каждый элемент мира как физический объект. Поэтому вам нужно посмотреть, как работают ваши силы, физическая механика и т. д. Кроме того, пока не разработаны рекомендации по этой теме, нужно следить за тем, чтобы шрифты были читабельными.
Из-за проблем с разрешением - графика не рябит. Плюс, чтобы пользователь не заболел вашим контентом.
Я потратил 2 недели на калибровку механики невесомости для одного проекта (пользователь перемещался, отталкиваясь от стен) на основе скоростей и их затухания, чтобы игра не превратилась в рвотный трон.
И все это можно проверить только в шлеме.
В AR также есть ряд нюансов, связанных с тестированием маркеров, трекингом и прочим, что также делает тестирование более сложным, чем при многих других видах разработки.
Для энтузиастов, конечно, это, наверное, даже не будет проблемой, но это приводит к следующей проблеме.
Забудьте о путешествиях, если работаете над VR
Немного иронично сейчас об этом говорить, но тем не менее так было не всегда, и я уверен, что мир вернется в нормальное русло.
Путешествовать при разработке VR-проектов — это 25-литровый рюкзак, в котором будут лежать: игровой ноутбук, Vive, штативы, и в аэропортах вы будете выглядеть довольно подозрительно.
Но вам нужны очень специфические гостиничные номера или бронирования.
Так как в идеале для размещения штативов должно быть минимум 3х3 метра свободного места.
Или скорее всего вы будете путешествовать по 360 панорамам в VR с прекрасными видами саванны и прочего.
В случае с фрилансером путешествовать сложно, но некоторым моим друзьям это удается.
Это, конечно, не так, как на картинках из Интернета, поскольку вы работаете не на пляже с Май Тай и девушками-мулатками, а в своей комнате, под кондиционером, молясь, чтобы заработал Интернет и все заработало.
вне.
Правда, вечер вы можете провести как хотите, или время, когда работа окончена, так как в Азии, например, это не так дорого, и работать 24/7 нельзя.
Также VR-проекты довольно весомы.
Мой средний проект за 3 года весит 2-3ГБ.
В Интернете в гостиницах, а также в Интернете за пределами РФ такие файлы передать сложно.
С мобильной виртуальной реальностью все немного проще.
Квест не такой уж и большой, и места специально для теста можно занять меньше.
Разработка VR сложна
На мой взгляд, это не должно пугать, но тем не менее упомянуть стоит. Хороший и интересный VR — это чертовски сложно.
Благодаря нереальной степени свободы и хорошему погружению, в ней масса математики и физики.
Многие стандартные приемы, даже из 3D-разработки, неприменимы.
Вам нужно глубоко задуматься о том, как пользователь будет взаимодействовать с миром — поскольку произвольное движение руки в 3D затруднено.
Скажем, в рамках таких же игр, как теннис.
Под рабочим столом это по сути сигнал при нажатии кнопки.
В VR нужно рассчитать, какое ускорение и направление скорости придать мячу в момент столкновения, чтобы пользователь поверил, куда мяч полетел, и мог комфортно играть (а это не всегда простые формулы).
Поэтому по сравнению с обычной разработкой больше требований к оптимизации, знанию математики, физики, шейдеров и прочего.
Мне это скорее нравится, но для кого-то это может быть проблемой.
Если все это тебя не пугает
В целом, у разработки VR/AR есть одно большое преимущество.
Он интересен тем, что не изучен и есть безграничный простор для экспериментов.
Зачастую что-то прекрасное получается совершенно случайно.
Потому что вы не думаете: «А возможно ли этоЭ» Но после 3 лет работы с этими технологиями я пришёл к выводу, что это больше для энтузиастов технологий.
Спасибо за внимание, надеюсь, эта информация будет кому-то полезна.
Плюс, возможно, у кого-то есть что добавить к этому.
Теги: #vr #Разработка для AR и VR #разработка #work #unity #AR и VR #фриланс #дополненная реальность #AR #виртуальная реальность #unity3d
-
Дышите В Телефон
19 Oct, 24 -
Микрофронтенд-Архитектура, Например Angular
19 Oct, 24 -
Ответ На «Шантаж»
19 Oct, 24 -
Википедии 11 Лет!
19 Oct, 24 -
Выпуск Qt 4.8
19 Oct, 24 -
Публичное Исполнение. Коротко О Главном
19 Oct, 24