Oculus 移动 SDK 6.0 发布

0
点我下载

以下文档概括介绍了 Oculus 移动版 SDK 的新特性、改进、以及 bug 修复。

更改总览

0.6.0 版本的 Oculus Mobile SDK 引进了一些大的改进,包括对 VRLib 结构的升级,原生应用界面,以及开发工作流程等。如果你需要从之前的 SDK 迁移过来,请在原生开发向导(Native Development guide)中去看“从之前版本迁移(Migrating from Earlier Versions)”的部分。

VRLib 被重新构建成三个分开的程序库,让代码更加模块化以便优化工作流程:

  • LibOVR – Oculus Library
  • VrApi – 针对 VR 最简化的 API
  • VrAppFramework – 原生应用使用的框架(application framework)

LibOVR 和 VrAppFramework 都有着完整源文件。VrApi 内含一组 public include 文件,预先搭建好的共享程序库,和一个 jar 文件。分离的共享程序库可以让应用被发布后也能升级/改变,允许我们进行热修正,采用新的优化方式,增加对新设备的支持,而无需通过新的 SDK 来重新编译一次应用。VrApi 源文件将不会被包含在 SDK 里。

VR 应用界面(目前会被作为 VrAppFramework 的一部分)将被精简,并有着被明确定义的生命周期。功能调用的顺序也被澄清 – 之前,某些功能在 VR 模式或 VR 模式之外都能被调用。声明周期可在 VrAppFramework/Src/App.h 下找到。

VRMenu 代码已被重写,准备之后成为自有静态程序库。之前被单独通过的用户相关界面功能目前将成为 OvrGuiSys 的一部分。

目前有三个原生样品。这些样品通过不同方式采用了同样的场景,展示了三种原生应用开发的不同方式。

  • VrCubeWorld_SurfaceView – 在原生代码里使用普遍的安卓 SurfaceView 来处理所有的活动(Activity)以及表层生命周期事件(Surface life cycle events)。样品仅使用 VrApi,而没有 Oculus Mobile Application Framework 和 LibOVR。
  • VrCubeWorld_NativeActivity – 使用安卓 NativeActivity 类。这个样品仅使用 VrApi,而没有 Oculus Mobile Application Framework 和 LibOVR。
  • VrCubeWorld_NativeActivity – 使用了 Oculus Mobile Application Framework.

对于喜欢使用命令行脚本来编辑原生项目的开发者,这个 SDK 提供了健壮的跨平台 Python 脚本组来取代之前 SDK 提供的针对特定平台的脚本组。

Unity 整合插件改变总览

  • 移动端开发时已不再需要开启 Oculus Runtime.
  • 和 PC 版的 Oculus PC SDK 0.6.0.0 beta 同步.
  • 让客户端可以重新映射插件事件的 ID.

无论是 PC 还是移动 SDK,我们都推荐以下 Unity 版本或者更高:Unity Pro 4.6.3,Unity Professional 5.0.2.p2,Unity Free 4.6,或者 Unity Personal 5.0.2.p2。对于移动开发,目前已知的兼容问题存在于 Unity 5 和 OpenGL ES 3.0 里 – 请之后检查升级。比 Unity 5 更早的版本请不要用于移动 SDK 和相关开发。

注意: 在安装或使用本次发布时,我们强烈建议备份你的项目。

新特性

  • VrAPI
    • 改进了帧预测,特别是在 Unity 下
    • 当应用开始渲染帧时解锁 CPU 时钟频率,让应用加载更快
    • 通过 Logcat 改进的性能标准(Performance Metrics)
  • 原生应用框架
    • 改进的安卓活动和安卓表面生命周期处理。
    • 改进了在第一次按下音量键时不显示音量栏的错误。
  • 360 照片 SDK
    • 当视线离开菜单时,视野十字标消失.
  • Blocksplosion
    • 增加针对 OS X 的输入映射.

API 改变

  • 原生应用框架(Native Application Framework)
    • 自动缓存从 apk 里解压出来的文件。

Bug 修正

  • VrAPI
    • 合成和显示之间的多余帧延迟已被去除
    • 改进了由于时间穿越(TimeWarp)在双眼缓存已渲染完毕后过早显示导致的内部帧对象动作卡顿。
    • 修正了在时间穿越的某一错误帧后导致的多帧延迟.
    • 开关设备96次以后会导致“失去头部追踪”的临时解决办法。
  • 原生应用框架
    • 改进了在第一次按下音量键时不显示音量栏的错误。
  • Unity 整合

    • 修正了每64帧会发生的预测错误。
    • 给 OVR_GetCameraPositionOrientation 提供正确的预测。
    • PlatformMenu Gaze Cursor Timer 修改成固定位置。
  • 电影院 SDK
    • 修正了在电影院应用中虚空(Void)模式下当用户播放竖直拍摄的视频重置屏幕方向的问题。
    • 修正了在 SceneManager::GetFreeScreenScale() 下除0导致电影院应用中虚空模式开始播放影片时奔溃的问题。
  • 360 照片 SDK
    • 修正了收藏按钮不创建收藏文件夹的问题。
  • Blocksplosion
    • 修正了通过 Unity5 编译后方块跌落的问题。
    • 修正了在系统活动返回后需要触摸来触发下一关卡的问题。
    • 修正了当左看右看后启动方块偏移的问题。

已知问题

  • 当目标设备的 SD 卡里有一个同样名字的文件夹,初始开启 360Photos SDK 样本会导致崩溃,但之后的启动就都好了。这个问题的修正会放在下一版的发布中。

Via:Oculus

LEAVE A REPLY

Please enter your comment!
Please enter your name here