我们重视您的隐私。我们使用cookies来提升您在我们网站的体验。使用本网站即表示您同意我们的隐私政策.

WebXR 开发

空间 Web 应用的组成部分 

XR/空间应用程序由一组通常通过网络服务器提供的文件组成。 网络浏览器可以解析这些文件并运行相应的 Web 应用程序。

常见文件 

以下列出了需要了解的最重要的文件及其扩展名:

扩展名描述
index.html空间 Web 应用的主 HTML 页面。
.js包含 JavaScript 代码。
.ts包含 TypeScript 代码,发布空间 Web 应用之前会被转换为 .js。
.wasmWebAssembly,由 C++ 或 Rust 等语言编译而成。
.glb3D 模型文件格式,可能还嵌入纹理。
.gltf基于文本的 3D 模型文件格式。
.bin通常由 .gltf 引用,包含二进制 3D 模型数据。
.obj较简单的文本格式模型文件。
.mtl通常由 .obj 文件引用的材质文件。
.json应用程序使用的任意数据。
.css“层叠样式表”,用于调整 HTML 元素的外观。

此外,空间 Web 应用还使用音频文件(.mp3, .wav, .ogg 等)、图像文件(.webp, .png, .jpg)以及视频文件(.webm, .mp4, .mov)等。

3D 模型 

VR 和 AR 应用可以是从完全沉浸式环境到简单浮动 UI 面板的任何事物。 在大多数情况下,应用至少需要一些 3D 模型(在应用中使用时也称为“资产”)。

平台 

SketchfabTurboSquiditch.io 等平台上可以找到许多免费和付费的资产。

也有一些完全免费的 3D 模型来源,例如 QuaterniusKenney.nlPoly Haven

同时,你也可以使用 Unity 或 Unreal Engine 的资产包。

3D 扫描 

将真实世界物体的照片转换为 3D 模型的过程被称为“摄影测量”或 3D 扫描。

诸如 RealityScan 的手机应用或类似 Reality Capture 的软件可以帮助你将真实世界的模型导入到你的空间 Web 应用中。

创建 

手动创建 3D 模型可能费时较多。3D 建模师使用像 BlenderMaya 这样的软件根据需求定制 3D 模型。

如果 3D 建模不适合你,你可以在 ArtStation 上找到可供雇佣的 3D 艺术家。

优化 

空间 Web 应用的所有资产通常通过网络传输,这会影响加载时间,因此对资产进行压缩和优化是十分重要的。

代码 

空间 Web 应用的代码可以用 TypeScript、JavaScript、C++、Rust 等多种语言编写。 JavaScript 可以直接执行,而诸如 C++ 之类的语言则编译为 WebAssembly。

在空间 Web 应用中,代码负责多项任务:

  • 渲染: 负责创建展示在智能手机或 VR 设备上的图像。计算机图形是计算机科学的一个复杂领域。为了简化管理,WebXR 开发人员使用渲染框架来处理常见任务。
  • 加载资产: 在需要时加载 3D 模型、纹理、音频、视频和其他数据。框架通常提供从不同 3D 文件格式读取数据的功能,而在网络环境中,浏览器能够处理图像和音频文件格式的加载。
  • 用户交互: 响应用户输入,提供反馈,并根据用户的操作实施响应动作。
  • 应用逻辑: 处理应用程序的计算、处理和数据交互,包括数据库查询和数据生成等。

Wonderland Engine 这样的库、框架和 3D 引擎帮助完成所有这些任务,并提供常用功能,提高空间 Web 开发人员的开发效率。

网络服务 

应用程序可能需要与在线服务互动,比如处理账户信息、存储个人数据、查询大型数据库或进行流媒体传输等。