Virtualizer ELITE 2 with SDK main functions indicated

The Cyberith SDK for VR Locomotion: Native SDK in C#, C++ & Python

Cyberith
Cyberith Virtualizer VR Treadmills

--

This article provides insights into the locomotion data provided by the Virtualizer and Cyberith’s native SDK in C#, C++ & Python.
For finding more information in how to implement the Cyberith Virtualizer into Unity or Unreal Engine, please have a look at this article:

Locomotion Data

For defining VR locomotion, the Cyberith Virtualizer SDK provides 4 basic main functions, that define human locomotion in a generic and easy to understand way. These functions can be called by any applications, independently of their purpose of use.

Sketch outlining the 4 main functions defining VR locomotion
Sketch outlining the 4 main functions defining VR locomotion

The movement defining functions are:

  • Orientation of the user (Body Orientation): Measures the orientation of the users hips/pelvis inside the Virtualizer’s ring. It can be used to orientate a virtual avatar according to the user’s real orientation.
    The SDK’s function returns angular values from 0 (0 degrees) to 1 (360 degrees)
  • Movement Direction: The Movement direction is an angle measured relatively to the Orientation of the user. It returns angular values from -1 (-180 degrees) to 1 (180 degrees). Basically, it defines if a user is walking forwards (0 degrees) or backwards (-/+ 180 degrees).
  • Movement Speed: Returns float values representing a walking or running speed in meters/second. The user’s speed is not limited to any maximum value by software. In fact it is only the physical ability of the user that limits the movement speed. This is a major conceptual difference to standardized joystick or gamepad controllers, which “artifically” limit the walking speed to a maximum value.
  • Height of the hips: Measures the height of the user’s hips/pelvis through a sensor in one of the pillars. Returns the height as a float value in cm.
    The height value can be used for different purposes such as scaling the user’s avatar, for IK systems or for more specialized purposes such as the posture analysis of the user, as it is done in the Virtual Trainer Software.
The 4 main functions of VR Locomotion as shown in the Virtualizer Control Panel
The 4 main functions of VR Locomotion as shown in the Virtualizer Control Panel
C++ Logo

C++ SDK for the Virtualizer

We provide a native C++ SDK to simplify the integration of Cyberith Virtualizer products into your custom C++ applications.

The C++ SDK package contains libraries, DLLs and header files as well as four sample programs, showing basic functionalities.

Overview:

The C++ SDK consists of three main parts, that need to be integrated into your development environment:

  • Include Directory:
    A collection of C++ header files in the folder Includes, which your compiler needs in order to understand the CybSDK libraries. The folder needs to be referenced to in the project.
  • Static Import Library:
    A static import library is used to handle DLL imports and invocations. It needs to be referenced to in the project.
  • Dynamic Library (DLL):
    The DLL contains the functionality of the SDK. It needs to be placed next to your application’s executable file.

Development Instructions:

For a full documentation of the Cyberith C++ SDK, have a look into the online Doxygen Documentation.

For further explanations on how to integrate the C++ SDK into your custom C++ application see our Integration Guide.

All classes and functions are documented in their respective header file located in the Include directory. If you are using Visual Studio, the descriptions will show up in Visual Studio’s IntelliSense.

C# Logo

C# SDK for the Virtualizer

Similarly to our C++ SDK we are providing a C# SDK to simplify the integration of Cyberith Virtualizer products into your custom C# applications.

This C# SDK package contains the required DLLs, XML documentation files and four sample programs, that demonstrate the basic functionalities.

Overview:

The C# SDK consists of two main parts, that need to be integrated into your development environment:

  • Dynamic Library (DLL):
    The C# DLL calls functionality from accompanying C++ DLLs internally. This DLL needs to be referenced in the project and must be placed next to your applications executable file.
  • Native Dynamic Libraries (C++ DLLs):
    This DLL contains the functionality of the SDK. It needs to be placed in the applications respective x64 and x86 folders, that are next to your application’s executable file.

Development Instructions:

For a full documentation of the C# SDK, have a look into the online Doxygen Documentation.

For further explanations on how to integrate the C# SDK into your custom C# application, see our Integration Guide.

All classes and functions are documented via the XML documentation file CybSDK.xml, that is part of our CybSDK package. If you are using Visual Studio, the descriptions will show up in Visual Studio’s IntelliSense.

Python (Programming Language) Logo

Python Module for the Virtualizer

We are also providing a Python module, to simplify the integration of Cyberith Virtualizer products into your custom Python applications. Similarly to the C# SDK, the Python module relies on the C++ DLLs.

This package contains the required Python Module and DLL files, documentation files and a four sample programs to demonstrate the basic functionalities.

Overview:

The Python module consists of two main parts, that need to be integrated into your development environment:

  • Python Files (.py):
    The CybSDK comes with a python module consisting of multiple classes represented by the folder cybsdk. This respective folder should be either placed next to your executing script or in your python installation folder.
  • Native Dynamic Libraries (C++ DLLs):
    This DLL contains the functionality of the SDK. It needs to be placed in the applications respective x64 and x86 folders, that are next to your application’s executable file.

Development Instructions:

For a full documentation of the Python SDK, have a look into the online Doxygen Documentation.

For further explanations on how to integrate the Python SDK into your custom application, see our Integration Guide.

All classes and functions are documented in their respective source file. If you are using Visual Studio, the descriptions will show up in Visual Studio’s IntelliSense.

Requests & Enquiries about the native SDK for the Cyberith Virtualizer

The CybSDK is available to all customers of the Virtualizer Research & Development Kit as well as to those of the Virtualizer ELITE 2.

Further information in how to integrate the Cyberith Virtualizer into Unity & Unreal Engine can be found in this article.

If you want to use our Virtualizer products and the according SDK for your development projects, or if you have further questions about the Cyberith SDK, please feel free to contact us at any time:

--

--

Cyberith
Cyberith Virtualizer VR Treadmills

Creators of the Virtualizer VR Treadmills for locomotion in virtual reality environments.