Oculus PC SDK 1.3.0 正式发布

0

Oculus PC SDK 1.3 已经正式发布!各种新的功能,包括对于消费级 Rift 的支持,应用的支持,最新版 Unity 和 Unreal 引擎的原生支持,以及异步时间穿越(ATW)等等。

新的应用必须用 SDK 1.3 重新编译才能在 Rift 上使用。你可以在文后的链接里下载最新的 SDK。

同时发布的还有 Oculus Platform SDK 1.0,让开发者可以为自己的应用使用排行榜、多人联机比赛以及多人协作功能。Platform SDK 在 PC 1.3 SDK 内。上线的几个多人游戏,包括『Project Cars』、『Radial-G』以及『BlazeRush』都已经使用了 Oculus Platform SDK 中的新功能。

开发者中心已经经过升级,给予你足够信息来指导你提交应用到 Oculus 的平台和商城里。你可以访问这里来获取更多信息。另外,Oculus 的 PC 商城还有两个新的专区:概念区和抢鲜体验区。概念区来自于 Oculus Share,让你能自由发布自己的实验项目和技术演示。抢鲜区则是那些需要来自社区的持续反馈的可玩的、仍在开发中的 VR 体验。

另外,作为开发者,Oculus 并不强制在官方商城中上线,你可以使用自己的支付方式而无需向 Oculus 缴纳分成。你也可以在其它商城里售卖,然后把 Oculus 商城的激活码给他人(也没有额外费用)。

如果你希望使用 SDK 来在 Oculus 平台以外的地方使用也完全可以,他人只需要在 Oculus 桌面应用中开启“信任未知来源应用”选项即可使用。

另外,早期的 Rift 也可作为开发套件。尽管 DK2 还没被以消费级设备来进行支持,但至少在今年年内 DK2 都将一直兼容最新的 SDK。如果你需要更新的开发者硬件来为 1.3 SDK 进行开发,请通过 Oculus 开发者中心提交应用,官方人员将会和你进行联系。

Oculus PC SDK 1.3.0

点我下载

在这个版本的 Oculus SDK 中,正式加入了对异步时间穿越(ATW,Asynchronous TimeWarp)的支持。通过异步时间穿越,时间穿越将被 Oculus 组件管理器(Compositor)在进行画面畸变的同时被应用在上一帧上,以便 GPU 力有不逮来不及渲染时让使用者依然能在头显里看到相对正确的一帧,从而避免了因为计算力不够造成的晕眩。顺序化的时间穿越从 DK2 时代就已启用,异步时间穿越则是把时间穿越的线程和图形渲染的线程分开来,异步同时进行处理,确保在 PC 复杂的后台运行环境下每一帧的显示依然能符合人脑对世界的认知。这极大地依赖 GPU 对于异步计算的处理,NVIDIA 的 GPU 对于异步处理的精细度只能到绘制调用的级别,因此可能需要开发者对于长时间的绘制调用进行分割来确保 ATW 的执行;而 AMD 的 GPU 由于有异步计算引擎(ACE)的存在,因此无需考虑这点。

Oculus 目前为其 VR 环境管理提供指引和 API,让用户能在你的游戏/体验和 Oculus Home 中进行顺滑的切换。更多信息请参考 VR Focus Management

新特性

以下为 Oculus SDK 和 Runtime 中的新增特性:

  • 增加了对异步时间穿越(ATW,Asynchronous TimeWarp)的支持。
  • 增加了为其 VR 环境管理提供指引和 API,让用户能在你的游戏/体验和 Oculus Home 中进行顺滑的切换。更多信息请参考 VR Focus Management
  • 把序列提前(Queue Ahead)升级为自适应的。在之前,序列提前会提前2.8毫秒来处理当前帧来增加 CPU 和 GPU 的并行可靠性。自适应化后的序列提前和之前的原理类似,但会基于当前的性能表现来自动在0到-1帧的时间范围内调整提前的具体时长。
  • 增加了性能提醒显示,能显示当前应用较慢或者不能保证理想帧率。更多信息请参考 Performance Indicator
  • 增加了 Oculus 组件管理器性能 HUD(ovrPerfHud_CompRenderTiming)并把应用性能 HUD (ovrPerfHud_RenderTiming) 重命名为ovrPerfHud_CompRenderTiming。
  • 增加了对 DirectX 12(DX12)的支持。更多信息,请参考 SDK 中的 Oculus Room Tiny(DX12)样品。

Runtime 变更

变更包括:

  • 增加了 Oculus Setup,能安装并配置 Oculus Rift,安装 Oculus App 和 Oculus Home。
  • 增加了 Oculus App 来取代之前的 Oculus Configuration Utility。双击 Oculus 的桌面图标来打开 Oculus App。
  • 增加了 Oculus Home,这是一个基于 VR 的应用/体验启动器。如果 Oculus App 是打开的,Oculus Home 会在你戴上头显后自动开启。
  • 增加了一个通用菜单来运行各种常用任务,比如重新定位和镜片调整。通过 Oculus 遥控器上的 Oculus 按钮或者 Xbox 手柄上的 Xbox 按钮可以打开通用菜单。
  • 账号、设备以及隐私管理等任务目前都会通过 Oculus App 来运行。如要改变设定,在 Oculus App 的右上角点击菜单图标(三个点)并选择设置(Settings)。
  • 之前,当你锁定你的电脑后,任何 VR 内容将会继续在你的头显中显示。现在当你锁定电脑后,头显将显示空白屏。

API 变更

API 的升级包括:

  • 增加了 ovrTrackerFlags,将检测到传感器(摄像头)是否接入并在正确的位置上并返回值。
  • 增加了 ovrSessionStatus 旗帜。更多信息请参考 VR Focus Management
  • 增加了 ovrTrackerPose 来得到特定传感器的位置。
  • 为 Oculus Touch 手柄增加了一些位掩码(Bit Mask)来提供按钮的触摸状态(ovrTouch_RButtonMask 和 ovrTouch_LButtonMask)以及按钮的按压状态(ovrButton_RMask 和 ovrButton_LMask),以及手指姿态状态(ovrTouch_RPoseMask and ovrTouch_LPoseMask)。
  • 增加了 ovrTrackingState::CalibratedOrigin,保存了用户初次设定头显的位置值。之后每次用户重定位头显,其位置值都是相对于这个初始位置值的。
  • 增加了 the ovr_ClearShouldRecenterFlag 功能,让那些希望手动调整重定位跟踪姿态的应用来使用,而非使用 SDK 中的功能 ovr_RecenterTrackingOrigin。
  • 增加了一个效用函数 ovrPosef_FlipHandedness,让应用把任何 ovrPosef 在左手和右手的控制系统之间轻松转换,来兼容左撇子玩家。

API 的变更包括:

  • 之前的 API 返回一些可变的释义,需要进行进一步特定修正后再给回 API。现在的 Oculus SDK 将返回一些不透明值来处理这个过程,代表了 TextureSwapChain。
  • 为 ovrHmd 移除了已停止支持的 ovrHmdStruct 功能。
  • 移除了 ovrStatusBits::ovrStatus_CameraPoseTracked 和 ovrStatusBits::ovrStatus_PositionConnected 旗帜。
  • 将 CameraFrustumHFovInRadians,CameraFrustumVFovInRadians,CameraFrustumNearZInMeters 和 CameraFrustumFarZInMeters 从 ovrHmdDesc 移动到了 ovrTrackerDesc 并重命名为 FrustumHFovInRadians,FrustumVFovInRadians,FrustumNearZInMeters 和 FrustumFarZInMeters。
  • 将 CameraPose 和 LeveledCameraPose 从 ovrTrackingState 移动到了 ovrTrackerPose 并重命名为 Pose 和 LeveledPose。
  • 把 HmdToEyeViewOffset 重命名为 HmdToEyeOffset。
  • 把 ovrSwapTextureSet 重命名为 ovrTextureSwapChain。
  • 移除了已停止支持功能 ovr_ResetBackOfHeadTracking 和 ovr_ResetMulticameraTracking。
  • 移除了 ovr_SetEnabledCaps。
  • 移除了 ovr_ConfigureTracking。
  • 移除了 ovr_GetEnabledCaps function。
  • 移除了 ovr_GetTrackingCaps function。
  • 移除了 ovrLayerDirect 层级类型。
  • 将 ovr_RecenterPose 功能重命名为 ovr_RecenterTrackingOrigin。
  • 将 ovrMaxLayerCount 从32改成16。
  • 把 bindFlags 参数从功能 ovr_CreateTextureSwapChainDX 移动到了 ovrTextureSwapChainDesc 结构里去。
  • 为效用函数 ovr_GetEyePoses 增加了输出参数 outSensorSampleTime。
  • 把 ovrMatrix4f_Projection 更改为默认右手,并把 ovrProjection_RightHanded 改成 ovrProjection_LeftHanded。
  • 增加了效用函数 ovrPosef_FlipHandedness。
  • 将 ovrControllerType_SID 重命名为 ovrControllerType_Remote。
  • 将 ovrMirrorTextureDesc::Flags 重命名为 ovrMirrorTextureDesc::MiscFlags 以及将 ovrTextureSwapChainDesc::Flags 重命名为 ovrTextureSwapChainDesc::MiscFlags。
  • 移除了 OVR_Kernel.h 的头文件。

已知问题

以下为目前已知存在的问题:

  • 一些反病毒软件,比如 McAfee,可能导致安装问题。为了避免这些问题请把软件升级到最新版本并禁止实时扫描。
  • 如果你遇到安装问题,请删除 Oculus 文件夹并重新安装。
  • 如果 Rift 显示出让你摘下头显的信息,请摘下头显并把它放在平面上 10 – 15 秒。
  • 键盘和鼠标在 Oculus Home 中不起作用。请用头部瞄准某个应用并通过 Oculus 遥控器或者 Xbox 手柄来选择它。
  • 需要大量带宽的 USB 设备,比如视讯摄像头或者高端音响设备,可能不同和 Rift 同时使用。为了避免这个问题请把设备安装到另外的 USB 主控器上或者另一台电脑上。
  • 使用双系统的电脑来运行 DK2 及之后的头显,系统选择的菜单可能会在开机时在头显中显示,而非显示器上。为了避免这个问题,请在开机前把头显插入另一个插口或者拔下头显。
  • 如果你从 Unity 编辑器中启动你的应用,之后按下了手柄上的 Home 键来返回 Oculus Home,你会被提示是否要关闭应用。如果你选择 OK,Unity 可能会在运行状态下但无法在头显中聚焦。这时候请重启 Unity。

riftshipping1[1]


Via:OculusDevDownOculusDevBlog

LEAVE A REPLY

Please enter your comment!
Please enter your name here