Мы ценим вашу конфиденциальность. Мы используем файлы cookie, чтобы улучшить ваш опыт на нашем сайте. Используя этот сайт, вы соглашаетесь с нашей Политикой конфиденциальности.

Разработка WebXR

Элементы пространственных веб-приложений 

XR/пространственные приложения — это набор файлов, которые обычно передаются через веб-сервер. Веб-браузер может интерпретировать эти файлы и запускать веб-приложение.

Обычные файлы 

Наиболее важные файлы и расширения файлов указаны ниже:

РасширениеОписание
index.htmlГлавная HTML-страница пространственного веб-приложения.
.jsСодержит код на JavaScript.
.tsСодержит код на TypeScript, который перед публикацией преобразуется в .js.
.wasmWebAssembly (синтезируется из таких языков, как C++ или Rust).
.glbФормат файла 3D модели, который может даже включать текстуры.
.gltfТекстовый формат файла 3D модели.
.binОбычно используется вместе с .gltf и содержит бинарные данные 3D модели.
.objПростой текстовый формат файла модели.
.mtlФайл материала, обычно используемый с файлом .obj.
.jsonПроизвольные данные, используемые приложением.
.css“Каскадная таблица стилей”, используемая для изменения внешнего вида HTML-элементов.

Кроме того, пространственное веб-приложение будет использовать аудиофайлы (.mp3, .wav, .ogg и другие), файлы изображений (.webp, .png, .jpg) и иногда даже видеофайлы (.webm, .mp4, .mov).

3D модели 

Приложения для VR и AR могут представлять собой как полностью иммерсивные среды, так и простые плавающие панели пользовательского интерфейса. В большинстве случаев вам понадобятся хотя бы несколько 3D моделей, или, как их ещё называют, “ассеты”.

Платформы 

Множество бесплатных и платных ассетов можно найти на платформах, таких как Sketchfab, TurboSquid и itch.io.

Есть также совершенно бесплатные источники 3D моделей, такие как Quaternius, Kenney.nl и Poly Haven.

Часто можно использовать пакеты ассетов из Unity или Unreal Engine.

3D сканирование 

Процесс преобразования фотографий реальных объектов в 3D модели называется “фотограмметрия” или 3D сканирование.

Программы, такие как RealityScan для вашего смартфона или программное обеспечение, как Reality Capture, могут помочь вам добавить реальные модели в ваши пространственные веб-приложения.

Создание 

Создание 3D моделей вручную может занять много времени. 3D моделисты используют программы, такие как Blender или Maya, для создания моделей, сделанных под ваш запрос.

Если создание 3D моделей — не ваша сильная сторона, вы можете нанять 3D художника на ArtStation.

Оптимизация 

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

Код 

Код для пространственных веб-приложений может быть написан на TypeScript, JavaScript, C++, Rust и многих других языках. JavaScript выполняется непосредственно в браузере, тогда как такие языки, как C++, компилируются в WebAssembly.

Код выполняет множество функций в пространственном веб-приложении:

  • Рендеринг: Генерация изображений, отображаемых на смартфоне или устройстве VR. Компьютерная графика — это сложная область информатики. Для её освоения разработчики WebXR используют рендеринг-фреймворки, которые берут на себя выполнение общих задач.
  • Загрузка ассетов: Загрузка необходимых 3D моделей, текстур, аудио, видео и других данных. Фреймворки обычно предоставляют необходимые функции для чтения данных из различных форматов 3D файлов, а в интернете браузер может сам загружать изображения и аудио форматы для вас.
  • Взаимодействие с пользователем: Реагирование на ввод пользователя, предоставление обратной связи и выполнение действий в ответ на действия пользователя.
  • Логика приложения: Вычисления, обработка и взаимодействие с данными, которые приложение выполняет, например, запросы к базам данных и генерация данных.

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

Веб-сервисы 

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