Immerseum SDK: VR Simulator (version: BETA-0.9)
       [view as Desktop | Tablet | Mobile]
Immerseum.VRSimulator Namespace
Inheritance Hierarchy

The Immerseum VR Simulator is used to simulate the presence of a VR HMD and position-tracked controllers even if there are no HMDs or controllers connected.

Best Practice

Sometimes, we work on our VR scenes without having our VR equipment right beside us. Maybe we're on a plane, or maybe we're at home, or maybe we just don't have the equipment plugged into the computer we're working on.

But since our VR equipment typically controls our camera and position-tracked controller models in our Unity scene, not being plugged in makes development hard.

The VRSimulator is designed to help with that: If you don't have an HMD plugged in, the VRSimulator will:

  • adjust your camera to simulate your HMD,
  • create simulated position-tracked controllers (if activated),
  • accept keyboard/mouse/gamepad input (if enabled), and;
  • move the camera in response to input (if enabled).

For more information, please see Getting Started with the Immerseum VRSimulator.

 

Classes
 ClassDescription
ClassControllerManager Singleton that is used to manage position-tracked controllers that are simulated by the VRSimulator.
ClassEventManager Singleton that is used to coordinate all events generated by the VRSimulator.
ClassHMDSimulator Singleton responsible for managing the simulation of a VR head-mounted display (HMD) and position-tracked controllers.
ClassInputAction

Represents one or more inputs from a user. If the InputAction is registered with the InputActionManager, then when one or more of the InputAction's input methods is received, the InputAction will be fired (and any methods listening for it will be executed).

Best Practice

A good way to think of an InputAction is like something the user can do. For example:

  • the user can "move forward", or;
  • the user can "toggle the pause menu", or;
  • the user can "pull the primary trigger".

The user "does" each of these actions using their input devices (e.g. moving a thumbstick, pressing a button, pulling the trigger, etc.). An InputAction defines the action the user can take and identifies the specific inputs which trigger that action.

The VRSimulator supports Immerseum's default set of InputActions, which correspond to Immerseum's default Movement Mappings. For more information on defining your own Input Actions and movement mappings, please see:

ClassInputActionManager

Singleton used to manage InputActions.

The primary purpose of the InputActionManager is to store a list of the registered InputActions and to evaluate whether a registered InputAction has been received from the user.

Every frame, the InputActionManager checks to see which InputActions were received during the last frame (if any). If an InputAction was received from the user, the InputActionManager then fires the EventManager.OnInputActionStart event.

ClassInputAxis

Represents a virtual axis defined in Unity's Input Manager.

By including this Input Axis in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassInputButton

Represents a virtual button defined in Unity's Input Manager.

By including this Input Button in an InputAction (on one of the Button lists), you associate the input device with the action that you want the user's input to evoke.

ClassKeyboardButton  
ClassMouseButton

Represents a virtual button defined in Unity's Input Manager that corresponds to a mouse button.

By including this Input Button in an InputAction (on one of the Button lists), you associate the input device with the action that you want the user's input to evoke.

ClassMovementManager Singleton responsible for moving the user's avatar in the virtual scene.
ClassOculusButton

Represents a virtual button accessible through the Oculus Utilities for UnityOVRInput% API.

By including this Input Button in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassOculusInputAxis

Represents a virtual axis accessible through the Oculus Utilities for UnityOVRInput% API.

By including this Input Axis in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassOculusNearTouchButton

Represents a NearTouch virtual button accessible through the Oculus Utilities for UnityOVRInput% API.

By including this Input Button in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassOculusTouchButton

Represents a CapacitiveTouch virtual button accessible through the Oculus Utilities for UnityOVRInput% API.

By including this Input Button in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassPlayArea Represents a Play Area generated by the Immerseum SDK.
ClassPlayAreaManager Singleton responsible for controlling the display and behavior of the Immerseum Play Area.
ClassSplineTester  
ClassSteamVRAxis

Represents a virtual axis accessible through the SteamVR Plugin for Unity, specifically for input devices that are supported by SteamVR but are not supported in the Unity Input Manager.

By including this Input Axis in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassSteamVRButton

Represents a virtual button accessible through the SteamVR Plugin for Unity, specifically for input devices that are supported by SteamVR but are not supported in the Unity Input Manager.

By including this Input Button in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassSteamVRHairTrigger

Represents a virtual HairTrigger button accessible through the SteamVR Plugin for Unity, specifically for input devices that are supported by SteamVR but are not supported in the Unity Input Manager.

By including this Input Button in an InputAction, you associate the input device with the action that you want the user's input to evoke.

ClassSteamVRTouch

Represents a virtual Touch button accessible through the SteamVR Plugin for Unity, specifically for input devices that are supported by SteamVR but are not supported in the Unity Input Manager.

By including this Input Button in an InputAction, you associate the input device with the action that you want the user's input to evoke.

Delegates
 DelegateDescription
DelegateEventManager.disableVRSimulatorAction  
DelegateEventManager.InitializeCameraRigEndAction  
DelegateEventManager.InitializeControllersEndAction  
DelegateEventManager.InitializePlayAreaAction  
DelegateEventManager.InitializePlayAreaEndAction  
DelegateEventManager.MoveAvatarEndAction  
DelegateEventManager.MoveAvatarStartAction  
Enumerations
 EnumerationDescription
EnumerationCameraRigPackages Used to indicate the camera rig packages that are present within the VR scene.
EnumerationControllerPositions Standard predefined positions into which simulated controllers can be placed.
EnumerationDirection Indicates an axis direction in three-dimensional worldspace.
EnumerationHandedness Indicates one of the ways hands can be prioritized.
EnumerationHands Enum which indicates either right or left.
EnumerationHeightTargets A set of standard predefined heights used when simulating an HMD.
EnumerationhmdFamilies Indicates a family of HMD.
EnumerationInputMoveTarget Indicates which objects movement input actually moves.
EnumerationInputSources Indicates an input device from which an input can be captured.
EnumerationInputType Categories of input based on their source.
EnumerationPlayAreaDisplayTrigger Indicates when to display the Play Area.
EnumerationPlayAreaSize Indicates the configured size of the Play Area.
EnumerationPrimitiveType Unity Primitive Types that can be used to simulate position-tracked controllers.
See Also

Reference

Assembly-CSharp Assembly

Getting Started

Getting Started with the VRSimulator

 

 


Copyright (c) 2015 Immerseum Inc. All rights reserved.

Send Feedback