当用户在全空间中启动您的 Android XR 应用时,您可以以透视方式呈现该应用,也可以使用沉浸式虚拟空间替换其环境。您的应用可以根据内容或体验触发特定环境。例如,当应用提及雷暴时,可以显示暴风天气环境;或者,历史应用在介绍角斗士时,可以显示虚拟的罗马斗兽场。
环境是一种多用途的方式,可用于自定义应用并增强沉浸感。在全空间中,您可以灵活地打造自己设想的体验。制作独特的视觉和音频内容来吸引用户,同时努力让用户感到舒适和安全。
空间环境的元素
环境可以包含深度、纹理和 3D 几何图形。在全空间模式下,您可以使用标准 gITF 或 EXR 格式提供自己的虚拟环境。了解如何添加空间环境。
这些可选组件可帮助您构建场景。您可以选择其中一种,也可以将它们组合起来,打造复杂的视觉体验。
![](https://developer.android.com/static/images/design/ui/xr/guides/env-panaromic.jpeg?authuser=4&hl=zh-cn)
EXR 全景图片
通过 HDR 和广色域功能增强 XR 效果,通过准确的光照和色彩再现实现逼真的视觉效果。
详细了解 EXR 图片。
![](https://developer.android.com/static/images/design/ui/xr/guides/env-3d-geometry.jpg?authuser=4&hl=zh-cn)
周围 3D 几何图形
使用立方体贴图、圆顶、球体、天空盒或自定义 3D 模型创建沉浸式背景。360 度图片通常用于表示远场环境。
![](https://developer.android.com/static/images/design/ui/xr/guides/env-additional.jpeg?authuser=4&hl=zh-cn)
其他 3D 几何图形
为了增强空间感知,请在用户附近有策略地放置辅助几何图形。避免在距离用户 1.5 米范围内放置高于 0.9 米的物体,因为这可能会导致与界面元素发生深度冲突。
对于周围或其他 3D 几何图形,Android XR 支持 .gltf
或 .glb
文件扩展名。您可以使用 Blender、Maya、Spline 等第三方工具创建和导出这些文件格式。
打造安全舒适的体验
请遵循以下准则,打造安全舒适的空间环境,让用户能够轻松探索。
- 添加清晰的视觉提示,让用户能够快速在全局聊天室和主聊天室之间切换。例如,您可以为按钮使用收起内容和展开内容图标来触发转换。
- 将物品与用户保持至少 1 米的距离,以免发生碰撞。这样一来,用户就有足够的空间四处移动,同时避开现实世界的实体物品。
- 您可以创建多个环境,并添加一个菜单供用户在这些环境之间切换。
以提升效果为目标进行优化
某些空间环境需要高性能,并且需要进行优化,以保持流畅的帧速率、低延迟时间,并避免用户感到不适。
鉴于立体渲染和实时互动对处理能力的要求,我们建议遵循高效的 3D 模型设计,并谨慎使用纹理和着色器。这些准则可帮助您打造视觉效果出众且在各种设备上都能正常运行的 XR 体验。
优化文件
- Polycount 会直接影响性能,请尽可能进行优化。
- 采用高效的网格结构,并减少不必要的细节和重叠几何图形。
- 通过简化复杂模型和使用纹理图集来减少绘制调用次数。尝试将多个纹理合并到单个文件中。
- 使用高效的纹理压缩并缩减资源大小,以防止 GPU 过载并优化模型和纹理。为获得最佳性能,建议的资源大小如下:3D 壁纸或 glb 约为 80 MB,音频文件约为 15 MB。
- 使用 KTX2 纹理压缩来优化 GPU 性能。
- 尽可能将光照信息烘焙到纹理中。
考虑 360° 界面安全区域
保持安全的色调范围,避免亮度出现峰值,以免与界面冲突或让用户感到疲劳。
确保无障碍
确保界面在所有方向上都清晰可辨,尤其是在用户视野的中间水平带。避免使用可能分散注意力的复杂元素或细节。
以舒适为设计目标
如果您使用的是中场大型界面面板,请考虑用户相对于该面板的位置。用户应距离屏幕所在的表面至少 5 英尺。这样,您就可以舒适地以居中视角观看大屏幕虚拟屏幕,而无需抬头。