Как сделать своё окружение для Quest 2 | VR419.ru

Как сделать своё окружение для Quest 2

Всем привет, с вами @Pavel419!

Сегодня статья для тех, кто хочет кастомизировать свой «Дом» на Quest 2 и кому мало стандартных окружений. Эта тема мне еще на ПК нравилась, но, на ПК свой дом надо запускать (и не всегда используешь ПК), а в Квесте его видишь автоматически, когда надеваешь шлем. Т.е., это окружение должно радовать и имеет смысл повозиться с ним.

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

Как сменить окружение на Quest 2

Для начала я покажу, как можно сменить окружение на уже готовые окружения из SideQuest (их там наклепали вагон, возможно, вам этого вполне хватит):

По сути, там всё просто: идем в каталог окружений на SideQuest, выбираем понравившееся и устанавливаем как обычное приложение (об этом у меня есть большой подраздел в моем гайде для новичков). Далее, меняем его в разделе настроек «Персонализация».

Но, как быть, если вы хотите сделать своё окружение? Это рассмотрим далее

Полезные ссылки и софт

Посмотрите этот плейлист с обучалками на Ютюбе, или зайдите в дискорд для разработчиков Домов на Quest 2. Здесь нужно пролистать в самый верх, кроме того, там же слева увидите и тег с тулзами, которые нам нужны, а именно:

Вообще, все актуальные ссылки на софт и на Blender-пустышку ищите в Дискорде, они часто обновляются.

Ограничения и рекомендации

Взято с их дискорда и переведено автоматом) Будьте внимательны, если вы не будете им следовать, скорее всего, у вас будут ошибки либо при создании, либо про работе окружения уже внутри шлема!

Геометрия:

  • До 200 000 треугольников (чем меньше, тем лучше, особенно при использовании огромных текстур);
  • Только одна UV-карта для каждого объекта;
  • Поддерживается несколько материалов на одном объекте;

Текстуры:

  • До 8192×8192 пикселей (всегда используйте формат текстуры степень 2);
  • Прозрачность: Альфа-клип и альфа-смешивание поддерживаются с помощью альфа-канала текстуры png;
  • Поддерживаются только неосвещенные текстуры. Для освещения вы должны «испечь» свои текстуры;
  • Никаких пробелов и, лучше всего, никаких необычных специальных символов в именах файлов текстур (Quest GLTF-Viewer не может это прочитать);
  • Для многих текстур будет нарушена окружающая среда. Держитесь как можно ниже (я не понял, что они имели ввиду, видимо то, что с некоторыми текстурами могут быть проблемы и они будут выглядеть не так, как вы ожидаете);
  • Работает только шейдер principled BSDF;
  • Начиная с прошивки 35.x.x.xxx и выше, поддерживаются материалы PBR (металлические, шероховатости или карты нормалей) -> будьте осторожны, вы получили высокое влияние на производительность!

Анимация:

  • Поддерживается трансформация и деформация костей (для многих ключевых кадров будет нарушена окружающая среда);

НЕ поддерживается:

  • Вторая UV-карта;
  • Световые карты;
  • Цвета вершин;
  • UV-анимация (UV-прокрутка или деформация);
  • нет поддержки UDIM;

Советы и рекомендации:

  • Проектируйте среду с учетом игрового пространства размером 2 м х 2 м (6,5 футов х 6,5 футов) и убедитесь, что ничто не мешает пользовательскому интерфейсу;
  • Используйте как можно меньше отдельных материалов, чтобы предотвратить выбраковку. Текстурный атлас — ваши друг;
  • Объединение / слияние сеток вместе;
  • Объединение вершин по расстоянию / удаление двойников, чтобы избавиться от перекрывающихся вершин;
  • Увеличьте масштаб ультрафиолетовых островков в центральном игровом пространстве, чтобы повысить качество текстуры;
  • Преобразование текстур в KTX с помощью environment converter для ускорения загрузки;

Как-то так. Ну и далее — чего как делать.

Как сделать свое окружение для Quest 2

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

Хотя, в Дискорде они пишут, что эти манипуляции сломать шлем не могут:

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

Будем надеяться, что так оно и есть)

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

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

Итак, общий процесс:

  • Качаем конвертор окружений, Blender и пустышку для него по ссылкам выше;
  • Делаем на основе пустышки наш Дом, соблюдая ограничения из раздела выше;
  • Экспортируем проект из Blender в папку Build конвертера и выбираем для экспорта «Separate GLB«;
  • Запускаем конвертор, конвертим!
  • После этого через SideQuest или другими способами (можно даже самим конвертором, но, я не пробовал) — заливаем наш APK на шлем;
  • Наш дом должен появиться вместе со всеми окружениями в разделе настроек «Персонализация», если нет — перегружаем шлем!
  • Удаляется он в «Неизвестных источниках», его там можно будет найти по имени пакета;

Я не стал делать скрины, но, сделал видос на эту тему, чтобы наглядно всё показать:

Заключение

В целом, тема прикольная и достаточно простая (сейчас, когда сделали конвертор, инструкции и не надо заменять внутренние среды самого шлема). Правда, для этого нужно уметь моделировать в Blender как минимум.

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

А у меня на этом всё, с вами был @Pavel419, до новых постов и до встречи на Ютюбе!