Unigine::InputVRDevice Class
Header: | #include <UnigineInput.h> |
The base class for VR devices. It provides access to properties and settings that all VR devices have. For example, you can get a device name, check if it has a battery, or whether it will drift in a specific direction, and so on.
Also, the class functionality allows getting the model of the VR device. For example, you can use it for controller rendering:
- Get the controller to render by using the corresponding methods of the Input class. For example, to get the left controller, call getVRControllerLeft().
- Check it exists.
- Get the number of its models via getNumModels().
- Load its meshes and textures individually, one by one, or get the entire mesh at once. Note that there may be a delay during the loading process.
- Render the loaded meshes with textures.
InputVRDevice Class
Enums
TYPE#
TRANSFORM_TYPE#
Name | Description |
---|---|
TRANSFORM_TYPE_AIM = 0 | (OpenXR only) A pose that allows applications to point in the world using the input source, according to the platform’s conventions for aiming with that kind of source. The aim pose is defined as follows:
|
TRANSFORM_TYPE_GRIP = 1 | A pose that allows applications to reliably render a virtual object held in the user’s hand, whether it is tracked directly or by a motion controller. The grip pose is defined as follows:
|
TRANSFORM_TYPE_MESH = 2 | A pose (grip_surface) that allows applications to reliably anchor visual content relative to the user’s physical hand, whether the user’s hand is tracked directly or its position and orientation is inferred by a physical controller. The grip_surface pose is defined as follows:
|
TRANSFORM_TYPE_PINCH = 3 | Pinch pose designed for interacting with a small object within arm’s reach using a finger and thumb with a "pinch" gesture. For example, turning a key to open a lock or moving the knob on a slider control are interactions suited to the "pinch" pose. |
TRANSFORM_TYPE_POKE = 4 | Poke pose designed for interactions using a fingertip to touch and push a small object. For example, pressing a push button with a fingertip, swiping to scroll a browser view, or typing on a virtual keyboard are interactions suited to the "poke" pose. |
NUM_TRANSFORM_TYPES = 5 | Total number of transformation types. |
Members
bool isAvailable() const#
Returns the current value indicating if the VR device is available.
Return value
true if the device is available; otherwise false.int getNumber() const#
Returns the current index of the VR device.
Return value
Current device index.const char * getName() const#
Returns the current name of the VR device.
Return value
Current device name.Input::DEVICE getDeviceType() const#
Returns the current type of the input device (wheel, throttle, etc.).
Return value
Current input device type.InputVRDevice::TYPE getType() const#
Returns the current type of the VR device (HMD, controller, base station, etc.).
Return value
Current VR device type.const char * getDeviceModelName() const#
Returns the current name of the model of the VR device.
Return value
Current model name.bool isCharging() const#
Returns the current value indicating if the VR device is charging.
Return value
true if the VR device is charging; otherwise false.float getBatteryValue() const#
Returns the current battery level.
Return value
Current battery level, in percent.String getModelNumber() const#
Returns the current model number for the VR device.
Return value
Current model number.String getSerialNumber() const#
Returns the current serial number for the VR device.
Return value
Current serial number.String getManufacturerName() const#
Returns the current name of the VR device's vendor.
Return value
Current vendor name.unsigned long long getHardwareRevision() const#
Returns the current hardware revision of the VR device.
Return value
Current hardware revision.unsigned long long getFirmwareVersion() const#
Returns the current firmware revision of the VR device.
Return value
Current firmware revision.int getNumModels() const#
Returns the current number of VR device's models.
Return value
Current number of models.Ptr<Mesh> getCombinedModelMesh() const#
Returns the current entire mesh of the combined model of the VR device.
You cannot animate this mesh. However, if you get a mesh of each model individually, it will be automatically animated.
Return value
Current mesh of the combined model.Ptr<Texture> getCombinedModelTexture() const#
Returns the current texture of the combined model of the VR device.
Return value
Current texture of the combined model.const char * getCombinedModelName() const#
Returns the current name of the combined model of the VR device.
Return value
Current name of the combined model.bool hasYawDrift ( ) const#
Returns a value indicating if the VR device will drift in a specific direction.Return value
true if the device has yaw drift; otherwise, false.bool hasBattery ( ) const#
Returns a value indicating if the VR device has a battery.Return value
true if the device has the battery; otherwise, false.bool canReportBatteryValue ( ) const#
Returns a value indicating if the VR device provides the battery status.Return value
true if the battery status is provided; otherwise, false.Math::Mat4 getWorldTransform ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Retuns the world transformation of the VR device for the specified transformation type.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
World transformation matrix.Math::mat4 getTransform ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Returns the local transformation of the VR device for the specified transformation type.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
Local transformation matrix.Math::vec3 getLinearVelocity ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Returns the linear velocity of the VR device for the specified transformation type.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
Linear velocity.Math::vec3 getAngularVelocity ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Returns the angular velocity of the VR device for the specified transformation type.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
Angular velocity.Math::vec3 getAngularAcceleration ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Returns the angular acceleration of the VR device for the specified transformation type.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
Angular acceleration.bool isTransformValid ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Returns a value indicating if transformation of the VR device for the specified transformation type is valid.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
true if transformation is valid; otherwise, false.bool isVelocityValid ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Returns a value indicating if the velocity of the VR device for the specified transformation type is valid.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
true if velocity is valid; otherwise, false.bool isTransformTypeSupported ( InputVRDevice::TRANSFORM_TYPE type = Enum.InputVRDevice.TRANSFORM_TYPE.GRIP ) const#
Returns a value indicating if the VR device supports the specified transformation type.Arguments
- InputVRDevice::TRANSFORM_TYPE type - Transformation type.
Return value
true if transformation type is supported; otherwise, false.Math::mat4 getModelTransform ( int num ) const#
Returns the local transformation of the given model.Arguments
- int num - Model index.
Return value
Local transformation matrix of the model.Math::Mat4 getModelWorldTransform ( int num ) const#
Returns the world transformation of the given model.Arguments
- int num - Model index.
Return value
World transformation matrix of the model.Ptr<Mesh> getModelMesh ( int num ) #
Returns the mesh of the given model.Arguments
- int num - Model index.
Return value
Model mesh.Ptr<Texture> getModelTexture ( int num ) #
Returns the texture of the given model.Arguments
- int num - Model index.
Return value
Model texture.const char * getModelName ( int num ) #
Returns the name of the given model.Arguments
- int num - Model index.
Return value
Model name.Last update:
2024-10-16
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)