New interfaces, SteamVR and more

It’s been a busy month of OSVR development, and we wanted to update you about some of the new and improved capabilities

  • ndk-build compatible Android builds
  • SteamVR plugin
  • “Reset yaw” and other OSVR core improvements
  • New eye tracker and other interfaces
  • Windows installer
  • Additional improvements

Improved Android builds

ndk-build compatible Android builds of OSVR now being built – see https://github.com/OSVR/OSVR-Android-SDK

SteamVR plugin (alpha)

This is a SteamVR driver for allowing applications written against that API to work with hardware and software running with the OSVR software framework. See https://github.com/OSVR/SteamVR-OSVR

Note that despite similar goals, the internal models of the two systems are not the same (in most cases, OSVR has a more flexible, descriptive model), so if you’re writing an application from scratch, be sure to evaluate that. This driver exists primarily for compatibility reasons, so existing software using the SteamVR system can run on OSVR.

There are still some issues with this plugin – see https://github.com/OSVR/SteamVR-OSVR/issues/5 and we would appreciate the community’s help in getting this to the finish line

OSVR Core improvements

Key improvements include:

  • “Reset yaw” tool added, allowing to set the yaw direction of the head tracker to a desired ‘0’ position
  • Initial support for updated OSVR HDK tracker firmware, providing higher reporting rate and angular velocity reports

New Interfaces

Interfaces – pipes of data – provide an abstraction layer for VR devices and peripherals so that a game developer does not need to hardcode support for particular hardware. Instead, just like a Windows application prints to the Windows print services, the game developer connects to the OSVR abstraction layer. If a new VR goggle was introduced in 2016, an OSVR-based game published in 2015 could support this new goggle as soon as the goggle had an OSVR driver. 

New interfaces that have been completed or are imminent are:

  • Eye tracking
  • Locomotion – supporting omnidirectional treadmills
  • Gesture
  • Skeleton – for body and finger tracking

See the interface definition section https://github.com/OSVR/OSVR-Specs-and-Proposals

Windows Installer

The Windows installer, provides a simple way to install the OSVR server. See https://github.com/OSVR/OSVR-win-installer#readme

Additional improvements

  • OSVR-Devel mailing/discussion list now fully up and running, now including searchable web archives and a web interface courtesy of Gmane – see http://osvr.github.io/mailing-lists/
  • Managed-OSVR (used by OSVR-Unity and OSVR-Monogame):
    • Improved method of pre-loading native libraries
    • Wrappers for the State API (in addition to the existing Callback API)
    • Wrappers for Eye tracker, Direction, and Position2D device interface classes added
  • OSVR-Unity: see also https://github.com/OSVR/OSVR-Unity/blob/master/OSVR-Unity/CHANGES.md
    • Switched to using externally-built Managed-OSVR, for improved reliability, quicker development, and multiplatform (including 64-bit) support
    • Tagged version 0.2 following this migration.
    • Made the ClientKit prefab a persistent singleton, preventing duplication and instability in multi-scene projects.
    • Updated way of making custom code access OSVR callbacks and state (RequiresAnalogInterface, etc)
    • Updated examples, code to use new Managed-OSVR InterfaceAdapter functionality.

As always, the OSVR team with the support of the community is continuously  adding smaller features and addressing known issues. You can see all of these on Github such as in this link for OSVR Core

Interested in contributing? Start here: http://osvr.github.io/contributing/

Any questions or issues? email support@osvr.com

Thank you for being part of OSVR!

Leave a Reply

Your email address will not be published. Required fields are marked *