
VR
cleardo
这个作者很懒,什么都没留下…
展开
-
VR系列——Oculus Publishing文档:六、商业和授权检查
Oculus商店同时支持免费和付费的应用程序。目前,我们支持全球范围的交易,仅限使用信用卡(除美国禁止贸易的国家)。我们鼓励开发者去使用授权系统来保护他们的付费应用。在Oculus账号管理工具的文档中,包含我们的账号设置门户网站和应用程序的统计报告工具,请参考Account Management章节。通过手机SDK里自带的VrPlatform可以有效地进行授权检查。这个功能通常用于保护通过未经授权的翻译 2017-02-14 20:55:33 · 1116 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:一、LibOVR集成
LibOVR集成Oculus SDK被设计成尽可能易于集成。本指南概述了C/C++游戏引擎或应用的基本Oculus集成。我们将讨论LibOVR的初始化、HMD(头戴式设备)枚举、头部跟踪、帧同步,以及Rift渲染。以下的许多代码示例是直接取自OculusRoomTiny演示源码的(Oculus/LibOVR/Samples/OculusRoomTiny均有)。当对某个特定系统或特性有所怀疑时,Ocu翻译 2017-05-10 22:13:57 · 1796 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:二、建议的规格
建议的规格呈现画面是伟大的VR体验的第一级魔力:明显的感觉就是你被传送到一个新地方。舒适、持续的画面呈现感需要适当的VR硬件设备、正确的内容和适当的系统相结合。为了完美的Rift体验,我们推荐以下系统:NVIDIA GTX 970/AMD 290 同等或更高配置。Intel i5-4590 同等或更高配置。8GB+ RAM。兼容HDMI 1.3的视频输出。3x USB 3.0 端口和 1x翻译 2017-04-20 20:14:57 · 931 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:二、初始化和传感器枚举
初始化和传感器枚举这是初始化LibOVR的例子,需要可用HMD的相关知识。看以下的代码:// 引用OculusVR SDK#include <OVR_CAPI.h>void Application() { ovrResult result = ovr_Initialize(nullptr); if (OVR_FAILURE(result)) return; ovr翻译 2017-05-11 20:24:18 · 2518 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:六、DK2耳机固件更新
DK2耳机固件更新虽然DK2头显附带的固件版本是2.10,但是它必须更新到最新的固件版本。更新固件步骤:连接你的DK2并且确保它在Oculus配置程序中显示为连接。选择“工具”>“高级”>“更新固件”。 然后你被提示选择一个文件。选择一个文件(例如:Firmware/DK2/dk2firmware_2_12.ovrf)。 然后固件开始更新。更新完成后,关闭并重启Oculus配置程序。翻译 2017-05-03 19:53:50 · 1270 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:六、入门
入门Oculus配置实用工具允许您配置Oculus耳机、生成设备及用户配置文件。 为了增加舒适性,性能和沉浸性,配置文件使用户能够通过所有启用Rift的应用,实现个性化超VR体验。虽然合理默认的体验是由Oculus公司SDK提供的,但Oculus公司强烈推荐用户使用Oculus配置实用程序来微调个人体验。下图显示的是Oculus配置实用程序主屏幕。顶部包含了设备设置,底部包含了用户设置。你应该看到翻译 2017-05-04 21:11:34 · 6160 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:三、SDK概述
SDK概述Oculus0.8的发布使SDK从基于HMD模型转变为基于会话模型并且加入了多个新特性。SDK更新这部分描述SDK的一些更新特性。新特性以下是关于Oculus SDK 和runtime的新特性:改进支持win10。增加了 ovr_GetSessionStatus,可以返回头戴式设备是否存在以及是否有VR聚焦并且可以渲染到头戴式设备。在OVR_CAPI_Util.h中增加了ovr_De翻译 2017-04-24 22:12:27 · 2049 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(一)
Oculus Rift的渲染Oculus Rift 需要用带有失真校正的立体分屏来为每只眼睛取消镜头相关失真。 图3:OculusWorldDemo(一个例子) 立体渲染校正失真是具有挑战性的,失真的参数随不同的镜头类型和个人的视距而变化。为了使开发更容易,Oculus SDk在分层组件(Compositor)进程中自动处理失真校正,同时它也会降低时延,并传送帧到头盔。随着Oculus SDK翻译 2017-05-15 20:07:13 · 3093 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:四、Oculus Rift的硬件设置
Oculus Rift的硬件设置因为虚拟现实是一种新的媒体,所以你需要在开发过程中做大量的测试。在安装SDK之前,Oculus建议确认硬件是否被正确地配置和测试过。如果Rift已经配置了,那么你可以跳过这一步。Oculus Rift DK2设置DK2硬件的说明,在设备附带的快速启动指南中提供。 图1:Oculus Rift DK2DK2头显在DK1的基础上包含了一些重要的改进:更高的分辨率和翻译 2017-04-25 20:37:38 · 1915 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:一、前言
前言本指南介绍了如何准备Oculus Rift的开发。包括:安装Oculus Rift硬件。安装设备驱动程序。配置你的用户配置文件。运行demo。在你设置了硬件之后,这个入门指南会描述该如何进行配置:安装SDK。运行OculusWorldDemo。原文如下IntroductionThis guide describes how to prepare the Oculus Rift f翻译 2017-04-19 20:42:52 · 963 阅读 · 0 评论 -
VR系列——Oculus Rift入门手册:二、演示
开始演示现在您的Oculus Rift已插入,驱动程序已安装,SDK也装上了,您就可以开始使用SDK了。注释:如果你还没有准备好,花点时间调整Rift头盔,以便您的头和眼睛舒服。关于配置Rift更详细的信息可以在这份手册中的Oculus Rift硬件设置中找到。硬件配置了之后,下一步就是测试开发工具包。该SDK附带了一组全代码的C++示例,旨在帮助您快速开始。这些包括:OculusWorldDem翻译 2017-04-18 20:33:01 · 3801 阅读 · 0 评论 -
VR系列——Oculus Rift入门手册:一、SDK入门
SDK入门现在您的Oculus Rift已插入,并且驱动程序已安装,您就可以安装SDK并尝试演示了。Oculus Rift SDK 设置本节介绍如何设置SDK。安装Oculus SDK的最新版本总是可以从Oculus开发者中心取到。要下载最新的包,访问http://developer.oculus.com。SDK版本使用product.major.minor.patch格式。例如,0.5.0.1意味翻译 2017-04-17 21:14:18 · 3149 阅读 · 0 评论 -
VR系列——Oculus最佳实践:六、追踪
VR相机的视角必须和可见区域匹配。一般来说,Oculus建议不跟随基本视角而改变。Rift传感器收集用户偏移,倾斜和翻转的信息。DK2向传感器提供6-D.O.F.位置追踪 允许用户基于一个对他们来说舒适的方位来设置初始点,并且以他们最初的方位做为引导。不要禁止或改变方位追踪,特别是用户在真实世界中移动的情况下。如果用户即将离开相机的追踪范围,给用户警告提示;在追踪丢失之前调暗屏幕。利用位翻译 2017-03-02 20:40:40 · 2066 阅读 · 0 评论 -
VR系列——Oculus最佳实践:三、视野和比例
虚拟镜头的视野(FOV)必须与可见的显示区域相匹配。一般情况下,Oculus公司建议不要改变默认视野。视野可以让我们从一开始就区分不同事物。如果用术语“显示视野”(dFOV)来表示,我们指的是用户实际视野观察到的VR内容部分。这是一个物理硬件和光学的特性。视野还有一种类型是镜头视野(cFOV),指的是在任何时刻渲染镜头捕捉到的虚拟世界的范围。所有的视野都是通过垂直、水平,和(或)对角线的角度测量来定翻译 2017-02-23 20:53:07 · 3042 阅读 · 0 评论 -
VR系列——Oculus Publishing文档:七、常见问题
如何处理我们经常碰到的常见问题。本章节并不意味着成为《Oculus最佳实践》——对如何更好的构建应用程序已经有更详细信息的解释或替代品,我们鼓励你去查看它。SDK版本总是用最新的SDK来开发你的app。应用签名你的应用在提交前必须使用Android数字证书来签名。如果你使用的是Unity,请务必用你已经生成并分配给应用程序永久、专用的密钥,来替换Unity生成的临时调试证书。你不妨在提交前删除osi翻译 2017-02-15 22:44:12 · 1285 阅读 · 0 评论 -
VR系列——Oculus最佳实践:七、虚拟幻境头晕(下)
失真校正Rift的镜头扭曲的显示屏上显示的图形,这是由SDK给出的后期处理步骤校正的。这种扭曲被正确的完成,并根据SDK的准则和所提供的实例演示是极为重要的。不正确的失真可以“看”做相当正确的,但还是会觉得迷失方向和不舒服,所以注意细节是至关重要的。所有的失真校正值需要匹配他们的物理设备,没有可能是用户可调的(SDK示例是为了让你玩他们,只是为了说明隐藏在幕后的事,但不是因为这是一个特别要做的事)。翻译 2017-03-08 20:12:44 · 2937 阅读 · 0 评论 -
VR系列——Oculus最佳实践:八、用户界面
平视显示器(HUD) 上述的HUD和集成信息融入环境将是理想的。在目标上直接描绘十字,比一个固定的深度平面更佳。特写武器和工具可能会导致视疲劳;当不使用他们时,可让他们成为视野外替身的一部分。 替身有他们的优点和缺点;他们可以让用户置身在虚拟环境中,但当你在现实世界中的身体运动与虚拟的有差异时,会感觉到异常。平视显示器(HUD)一般说来,Oculus不鼓励使用传统的HUD。相反,我们鼓励开翻译 2017-03-09 21:54:19 · 1241 阅读 · 0 评论 -
VR系列——Oculus最佳实践:七、虚拟幻境头晕(上)
“虚拟幻境头晕”指的是使用模拟环境所引起的不适。视觉和身体感官之间的不协调是造成不适的最终原因。有很多因素造成虚拟幻境头晕,包括但不限于以下几点 加速:减少加速度的大小和频率控制程度:不要剥夺用户的控制权持续时间:允许并鼓励用户休息高度:避免让地面直接填充视野双眼视差:有些人发现观看立体图像会不舒服视野:减少虚拟环境覆盖的虚拟视野大小可能会减少舒适度 延迟:最小化延迟,在VR中滞后翻译 2017-03-06 22:24:26 · 2735 阅读 · 0 评论 -
VR系列——Oculus最佳实践:九、用户输入和导航
对于VR而言,没有任何传统输入方法是完美的,但游戏手柄在当前还是最好的选择;变革和调研是必要的(Oculus也在积极探索中)。用户从Rift中不能看到他们的输入设备;要让他们使用熟悉的控制器,以便能够在看不到东西的情况下进行操作。通过操控(Leverage)Rift的传感器来控制输入(例如,使用你的头来进行瞄准),但是要注意避免头部运动和虚拟动作交互产生的晕眩。移动时,在VR中会产生奇怪的问题翻译 2017-03-13 21:34:01 · 1141 阅读 · 0 评论 -
VR系列——Oculus最佳实践:十、总结
使用Rift,你正在史无前例地控制虚拟现实,这对开发者来说是一种史无前例的挑战。“什么让虚拟现实更有效?”是一个宽广和承上启下的问题,我们可以有很多答案。虚拟现实仍是一个巨大的未知的媒介,等待着具有创造性的艺术家和开发人员去释放其中的巨大潜力。作为一个开始,VR需要使用一种新的方式来思考空间、维度、沉浸感、交互和导航。例如,基于屏幕的媒体倾向于强调正确角度和前进的动作,屏幕边缘总是显示着。就像摄影师翻译 2017-03-14 20:06:12 · 765 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(二)
渲染设置概要Oculus公司 SDK使用分层组件服务传送帧和处理失真。针对 Rift,要将场景渲染成一个或两个的渲染纹理,并将这些纹理传递给API。Oculus运行库处理失真渲染,GPU同步,帧定时,和HMD框架展示。以下是SDK的渲染步骤初始化 a) 初始化Oculus公司SDK,如前所述,为头戴式视图器创建一个ovrSession 对象。 b) 根据ovrHmdDesc数据计算所需要的翻译 2017-05-17 20:41:56 · 965 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:五、Oculus Rift驱动程序安装
Oculus Rift驱动程序安装在使用SDK之前,你必须为你的操作系统设置驱动程序。如果你的驱动程序已经设置,你可以跳过这一节。然而,你应该确保你的系统和驱动程序满足第五页《推荐规格》中规定的要求。安装运行包如果你没有包,从Oculus网站下载运行安装程序。可从https://developer.oculus.com/downloads/ 下载。它将安装以下组件:Oculus显示驱动(Windo翻译 2017-04-26 20:01:33 · 5361 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:六、Oculus触控
Oculus触控Oculus SDK为获取每个Oculus触控的位置、状态提供了API。这些数据体现在两个地方:ovrTrackingState::HandPoses[2]——返回每个触控的姿态以及跟踪状态。ovrInputState——ovr_GetInputState返回的结构体,包含按钮、操纵杆、触发器和电容触摸传感器的状态。把触控的手势数据从输入状态中分离出来是因为他们来源于不同的系统翻译 2017-06-22 22:36:13 · 3622 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:四、高级渲染配置(三)
通过减少像素密度提高性能DK1拥有1280x800像素的分辨率,其在两眼之间划分。然而,由于Rift的宽FOV和透视投影工作的方式,位于显示器中心的匹配原始分辨率的中间渲染目标所需的大小会显著更大一些。例如,要在DK1上实现将一个1:1的像素映射在作者视场的中心,需要一个大得多的达到2000 x1056像素大小的渲染目标。即使现在的显卡可以在规定的60Hz渲染这个分辨率,但未来的HMD可能拥有更高的翻译 2017-06-12 22:28:43 · 853 阅读 · 0 评论 -
VR系列——Oculus Mobile SDK文档:一、Mobile SDK的介绍
Mobile SDK的介绍欢迎进行Gear VR移动应用开发。 这篇指南提供了开发所需的SDK内容及细节的概述。入门准备好开始开发了吗?移动端SDK安装指南指导你一次性地准备和配置你的开发环境。 这有编辑好的建议,用于开发、调试以及分析VR应用,推荐给所有开发者:移动VR应用开发指南Android调试性能分析Unity和Unreal的开发者作为安装指导,请一定回顾移动端SDK安装指南的U翻译 2017-07-04 23:16:12 · 6436 阅读 · 1 评论 -
VR系列——Oculus Rift 开发者指南:四、高级渲染配置(四)
通过缩小视场来提高性能除了减少中间渲染目标的像素数目外,还可以通过减少FOV的横跨像素来提高性能。由于FOV的缩小,可能会使视野收缩从而导致沉浸感的降低。尽管如此,还是有两种方式可以用来缩小FOV、提高性能。最明显的就是填充率。对于一个在视网膜上的固定像素密度而言,较小的FOV具有较少的象素。首先,因为投影公式的性质,FOV的最外边缘在像素数量上而言是最多的。其次则因为当每一帧中有更少的可见对象时,翻译 2017-06-13 21:11:07 · 838 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:七、SDK样品和手柄的使用及低级传感器详述
SDK样品和手柄的使用Oculus SDK的一些样品通过使用手柄控制器来支持在虚拟世界的运动。本节介绍目前支持的设备和安装说明。Xbox 360有线控制器支持Windows系统建立控制器将该设备插入USB端口。window应该能识别控制器并自动地安装一些必要的驱动程序。罗技F710无线游戏手柄设置Windows游戏手柄:通过将控制器前面的开关移动到“X”位置来把控制器调为“XInput”模式。翻译 2017-06-26 19:39:25 · 2412 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:四、高级渲染配置(五)
使用单视角渲染提高性能立体渲染的一个显著成本是渲染两个视图,分别对应每个眼睛。对于一些应用程序来讲,立体渲染可能不是特别重要,并且为了提高一些性能使用单视角也是可以接受的。在其他情况下,立体视图可能会给一些用户带来用眼疲劳,他们会希望切换成单视角。即便如此,他们也仍然希望戴上能给他们提供大视场和头部跟踪的HMD(译者注:FOV–Field Of View 视野、视场;在刘越教授的透视式头盔显示器的设翻译 2017-06-14 22:17:42 · 635 阅读 · 0 评论 -
VR系列——Oculus Mobile SDK文档:二、移动SDK安装指南(二)
Android Studio开发环境安装(测试版)本节介绍了构建原生的Oculus公司的移动应用程序时,Android Studio IDE 和Gradle的安装配置。Android已经弃用了对Eclipse、ADT和Ant的支持,现在指定 Android Studio和Gradle作为核心的开发工具。Oculus公司的移动SDK 1.0引入了与Android Studio和Gradle的翻译 2017-07-20 22:11:28 · 1533 阅读 · 0 评论 -
VR系列——Oculus Mobile SDK文档:二、移动SDK安装指南(一)
移动SDK安装指南这个指南将引导你设置你的三星设备和准备移动VR应用程序的开发环境。安装Oculus移动SDK下载移动SDK的地址:https://developer.oculus.com/downloads/.移动SDK包是.zip的压缩格式,它包含了源码和媒介文件:ovr_sdk_mobile_<版本号>.zip。下载之后,解压到你指定的目录(例如:C:\Oculus\Mobile)。Unity翻译 2017-07-10 20:38:52 · 2370 阅读 · 1 评论 -
VR系列——Oculus Rift 开发者指南:四、高级渲染配置(二)
强制对称的视场通常该API将为每一边眼睛返回一个不对称的视场(译者注:FOV(Field of View)视场:在任何特定时刻可观察到的有限范围),这意味着左边缘与右边缘到中心的距离是不一致的。这是因为人类以及Rift在向外看的时候具有更宽的视场。当你向内看时,你的鼻子是一个阻碍。我们同样相比向上看更善于向下看。出于同样的原因,Rift的视场不是对称的。它是由透镜的形状、塑料材质的种类以及屏幕的边缘翻译 2017-06-09 21:11:56 · 1437 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:四、高级渲染配置(一)
高级渲染配置默认情况下,SDK为优化渲染质量生成配置值。它也提供了一定程度的灵活性。例如,在创建渲染目标纹理的时候,你可以对它进行修改。本节讨论的是,当在渲染质量及性能之间进行选择的时候,或者你正在使用的引擎有限制时你可以做的修改。应对图形接口或硬件渲染目标粒度SDK是以你想要尽可能小心地使用你的视频内存并且你可以根据你的需要创建正确的渲染目标大小为假设所设计的。然而,真正的显卡和真正的图形API有翻译 2017-06-08 22:40:18 · 434 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:五、色差
色差色差是通过透镜观察产生的一种视觉假象。这种现象会导致在物体周围产生彩色条纹,并且越接近透镜边缘越明显。这是由不同波长的光通过透镜时的折射率不同导致的(波长较短的蓝光折射小于波长较长的红光)。Rift的图像由红、绿、蓝像素组成,很容易受到色差的影响。图像的红、绿、蓝像素点会呈放射状向外扩展,并且数量也会不同。受影响的效果取决于图像内容以及用户对边缘区域的专注程度。色差幸运的是可编程GPU能够大大减翻译 2017-06-21 21:13:54 · 1048 阅读 · 0 评论 -
VR系列——Oculus Rift 介绍指南:七、使用演示场景测试Rift
使用演示场景测试Rift配置用户配置文件后,您可以查看使用这些设置的示例VR场景。下图显示演示场景:
交换纹理集初始化本节介绍了渲染的初始化,包括创建交换纹理集。最初,确定渲染FOV和分配所需的ovrSwapTextureSet。下面的代码演示了如何计算所需的纹理大小:// 配置立体设置。Sizei recommenedTex0Size = ovr_GetFovTextureSize(session, ovrEye_Left, session->DefaultEyeFov[0], 1.0f);S翻译 2017-05-18 20:29:08 · 3341 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(六)
不同线程上的渲染在某些引擎中,渲染分布在多个线程中处理。例如,线程一为每个场景中的目标进行挑选和渲染设置(我们称之为“主”线程),线程二创建D3D或OpenGL API调用(我们称之为“渲染”线程)。这两个线程都可能需要精确的帧展示时间估算值,以便计算出最恰当的头部动作预测。该方法的异步特性带来一个挑战:当渲染进程还在为某个帧进行渲染时,主线程可能已经开始处理下一帧了。并行的帧处理可能会导致某一帧或翻译 2017-06-05 22:49:37 · 815 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(五)
帧计时Oculus SDK通过ovr_GetPredictedDisplayTime方法来记录帧计时信息,该方法依赖应用程序提供的帧索引来确保不同线程的计时正确。头部运动预测需要精确的帧数据和传感器时间,这对良好的VR体验来说是必需的。预测要准确地知道当前帧会在将来的哪个时候出现。如果我们知道传感器和显示器的扫描时间,我们可以预测出将来的头部动作,提高图像的稳定性。若这些值计算错误,可能会造成过少或翻译 2017-06-01 21:46:33 · 679 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(四)
帧渲染帧渲染的过程通常包含以下几个步骤:通过头戴式动作追踪装置来获取所预测的眼部动作,然后为每只眼睛渲染出不同的画面,最后用ovr_SubmitFrame方法将要显示的画面提交至合成器。在帧数据提交后,Oculus合成器处理掉畸变部分并在Rift中展示结果。在帧渲染之前,最好先初始化一些能够在各个帧之间共用的数据结构。例如我们要查询眼部描述符,并在渲染循环之外初始化一个图层结构体:// 初始化VR结翻译 2017-05-22 20:58:45 · 2339 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(七)
图层和多个窗口组成监视器画面的原理类似,头戴设备的画面展示也可由多个图层组成。这些图层中至少有一个是由用户的虚拟眼球渲染得到的画面,其他图层可能是HUD层,信息面板,附着于虚拟物体的文字标签,瞄准点等。每个图层有着不同的分辨率,使用不同的纹理格式,有着不同的视野和尺寸,有可能是单色画面,也可能是立体画面。应用程序也可能被设定当信息没有发生变化时,不对图层纹理进行更新。例如,从最后一帧起信息面板中的文翻译 2017-06-07 00:00:31 · 2147 阅读 · 0 评论 -
VR系列——Oculus Rift 开发者指南:三、Oculus Rift的渲染(八)
排队为了提高CPU和GPU的并行性和增加GPU的处理帧的时间,SDK提供了默认的2.8毫秒的时间提前排队。当提前队列被禁用,中央处理器在上一帧显示后立即开始处理下一帧。CPU处理完后,GPU处理帧,排序将失真,并且把帧显示给用户。下图显示了在没有提前排队时,GPU和CPU的利用率: 图6:CPU和GPU使用提前排队时的利用率:如果GPU无法及时处理以显示帧,将显示前一帧。这将导致画面抖动。提前翻译 2017-06-07 21:13:01 · 939 阅读 · 0 评论