[Unreal] 虚拟现实理论与最佳实践
优秀的虚拟现实场景所需要具备的特点:
真实感、沉浸感、舒适性、流畅性。
VR的这些特点上有其它媒体所不具备的优势,主要通过硬件来实现。
VR 的沉浸感让用户置身于周围世界,也引发了一些独特的症状:
眼前庭紊乱,根源是内耳的感受与实际看到的产生了差异,是我们维持稳定的关键器官。
此时流畅性就变的更加重要,不仅影响体验质量还会引发晕眩。
Unreal 开发VR的注意事项:
交互应直观顺手,使用动作控制器完成时最为直观,因为能模拟用户双手。
如果需要为场景添加交互,应该让它们与环境融为一体,而不是传统屏幕菜单或2D界面,使用真实操作,如电梯按钮或放置在场景中的全息3D界面。
最后考虑在场景中添加环境空间音效,如卧室音乐、室外车流声音。
在 VR 体验中移动是个难题,用一些设备如跑步机能帮我们实现,大部分是手柄控制。
常见的运动控制方式是,凝视操控和运动操控。凝视操作通常搭配Google cardboard设备,操作按钮很少或没有,通过凝视来移动或交互。
运动控制器是当前最佳的 VR 交互和移动方案,就是模拟双手,检测握拳、手指指向等,就像游戏柄一样还拥有额外按键可供操作。
运动控制器还衍生出其它设备可绑在腿上或其它部位。
Unreal Studio 最佳实践:
VR 需要高帧率才能保证体验,通常要高于每秒 90帧 以上,项目分辨率是 2160x1200,通常适用于 Oculus Rift 或 HTC Vive.
保证帧率,第一种方法是使用正向渲染,而非延迟渲染。
在为 Oculus Rift 或 HTC Vive 桌面设备开发项目时,应该让可见模型面数总是小于200万面。
最高绘制调用次数 (CPU命令显卡绘制图像次数) 不应超过 1500次,最好低于 1000次。
场景中每个对象代表一次绘制调用,用这个对象数乘以它用到的材质数量,等于绘制调用数。
帧率比分辨率重要,没法保证帧率可以降低头显分辨率以便提升帧率,相对低帧率(引起晕眩),用户对低分辨率的适应力更好。
在 Unreal Studio 中,一种方法是调整控制台变量 r.screenpercentenge 从而降低头显分辨率。
正向渲染中,可以采用多重采样抗锯齿 为多线条和棱角场景带来抗锯齿效果,但不能使用很多高端特效 如屏幕空间特效 后期处理特效 透明效果。
所以需要牺牲特效以换取帧率提升。
帧率 90+ 是保证流畅性的基础数字,如果帧率很低和场景卡顿都会带来晕眩,所以要保证帧率维持在高水平。
永远不要取代用户控制摄像机,头戴显示器 用户应该永远掌控摄像机,这表示我们不应该抖动镜头。
同时避免突然的加速和视野改变,走动速度应低于正常移动速度,避免使用镜头特效(引起晕眩),这些通常是由人眼自身实现。
Refer:Unreal_Studio
Refer:unrealengine.com/zh-CN/onlinelearning-courses/world-building-kickstart
相关文章
- Python Flask-RESTPlus 实践
- Web最佳实践阅读总结(1)
- 使用Unity3D的50个技巧:Unity3D最佳实践
- 微信小游戏和白鹭引擎开发实践
- 下一代软件工程的思考与点滴实践
- Redis 最佳实践指南:7个维度+43条使用规范
- 混合云应用双活容灾最佳实践
- 分布式全链路灰度发布的探索与实践
- SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)
- 阿里开源那个牛哄哄问题排查工具竟然不会用?最佳实践来了!
- 重新整理 .net core 实践篇—————工作单元模式[二十六]
- ajax 跨域 headers JavaScript ajax 跨域请求 +设置headers 实践
- 视频+讲义:大流量高并发互联网应用实践在线峰会资料全公开
- C# 性能优化最佳实践
- C# DataSet性能最佳实践
- Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode 1.1. 不个网页title保存成个个文件的时候儿有无效字符的问题...1
- Atitit 数据库view视图使用推荐规范与最佳实践与方法
- Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php
- atitit. 日志系统的原则and设计and最佳实践(1)-----原理理论总结.
- Dart单例模式最佳实践
- SAP云平台CloudFoundry编程环境下app router的使用最佳实践
- Angular应用内路由(In App Route)的最佳实践
- 解读8大场景下Kunpeng BoostKit 使能套件的最佳能力和实践
- 【编程实践】Golang 操作 Redis 代码实战
- 【企业架构设计实战】大数据架构最佳实践
- RK3399平台开发系列讲解(项目实践篇)1.2、家用智能摄像头项目框图