最佳实践
优质
小牛编辑
141浏览
2023-12-01
VR设计
VR设计不同于平面体验设计。作为一种新的媒介,有新的最佳实践需要遵循,特别是保持用户的舒适性和存在性。这在如下指南中已经写得很透彻了:
一些值得注意的事情:
- 公共的金科玉律是永远不要意外地把相机控制权从用户手中剥夺。
- 单位(比如对于位置)应该考虑使用米(m)。这是因为WebVR API以米为单位返回姿势数据,进而传送给相机控制。通过使用米为单位,我们可以得到预期的缩放比例。
Performance
性能对于VR至关重要。为了用户感觉舒适必须保持高帧率。下面是有助于提高A-Frame场景性能的一些方法:
- 使用 推荐的硬件规格.
- 使用 stats 组件来监控各个关键指标 (帧频FPS, 顶点和面数,几何模型和材料数,绘制调用数,实体数)。我们想要最大化FPS,最小化其他指标。
- 利用 资源管理系统来从浏览器缓存和预加载机制中获益。渲染时获取资源要比渲染前预加载所有资源要慢。
- 试着 合并几何模型来减少多个同材质几何模型的绘制调用。
- 如果使用3d建模,试着把光影效果放进纹理贴图中,而不要依赖于实时光照和阴影。
- 一般来说,场景中实体和灯光的数量越少越好。
- 确保纹理贴图的分辨率为2的幂次方(比如:256x256, 512x1024),这样可以避免在运行时重新调整纹理大小。
A-Frame
框架的一些最佳实践:
- 不要重复自己( DRY). 复用 已有代码模块(mixins)和 模板(templating)来减少拷贝粘贴的次数以及减少场景中的HTML代码量。
- 试着利用 实体-组件-系统(entity-component-system)框架。以组件形式开发来增强声明式和复用性。