Wave Tracker Blueprints

Blueprint Types

The Tracker interface uses blueprint types as below.

EWaveVRTrackerId

UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerId : uint8
{
    Tracker0 = 0, //WVR_TrackerId.WVR_TrackerId_0
    Tracker1 = 1, //WVR_TrackerId.WVR_TrackerId_1
    Tracker2 = 2, //WVR_TrackerId.WVR_TrackerId_2,
    Tracker3 = 3, //WVR_TrackerId.WVR_TrackerId_3,
    Tracker4 = 4, //WVR_TrackerId.WVR_TrackerId_4,
    Tracker5 = 5, //WVR_TrackerId.WVR_TrackerId_5,
    Tracker6 = 6, //WVR_TrackerId.WVR_TrackerId_6,
    Tracker7 = 7, //WVR_TrackerId.WVR_TrackerId_7,
    Tracker8 = 8, //WVR_TrackerId.WVR_TrackerId_8,
};

EWaveVRTrackerRole

UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerRole : uint8
{
    Undefined = 0,
    Standalone = 1,
    Pair1_Right = 2,
    Pair1_Left = 3,
    Pair2_Right = 4,
    Pair2_Left = 5,
};

EWaveVRTrackerButton

UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerButton : uint8
{
    System      = 0,
    Menu        = 1,
    A           = 10,
    B           = 11,
    X           = 12,
    Y           = 13,
    Trigger     = 17,
};

EWaveVRTrackerStatus

UENUM(BlueprintType, Category = "WaveVR|Tracker")
enum class EWaveVRTrackerStatus : uint8
{
    // Initial, can call Start API in this state.
    NOT_START,
    START_FAILURE,

    // Processing, should NOT call API in this state.
    STARTING,
    STOPING,

    // Running, can call Stop API in this state.
    AVAILABLE,

    // Do nothing.
    UNSUPPORT
};

EWVR_AnalogType

UENUM(BlueprintType, Category = "WaveVR")
enum class EWVR_AnalogType : uint8
{
    None = 0,
    XY = 1,
    XOnly = 2,
};

Blueprint Function Library

You can see the Tracker functions by typing “Wave Tracker” in the blueprint.

../_images/tracker021.png

StartTracker

To enable the Tracker component.

void StartTracker()

StopTracker

To disable the Tracker component.

void StopTracker()

GetTrackerStatus

Retrieves the Tracker status.

EWaveVRTrackerStatus GetTrackerStatus()

IsTrackerAvailable

Check if the Tracker is available to use.

bool IsTrackerAvailable()

GetTrackerRole

Retrieves a Tracker’s role. Refers to EWaveVRTrackerRole.

EWaveVRTrackerRole GetTrackerRole(EWaveVRTrackerId trackerId)

IsTrackerPoseValid

Checks if the tracker’s pose is valid.

bool IsTrackerPoseValid(EWaveVRTrackerId trackerId)

GetTrackerPosition

Retrieves a Tracker’s position.

bool GetTrackerPosition(EWaveVRTrackerId trackerId, FVector& outPosition) // returns true for valid position.

GetTrackerRotation

Retrieves a Tracker’s orientation.

bool GetTrackerRotation(EWaveVRTrackerId trackerId, FQuat& outOrientation) // returns true for valid rotation.

GetTrackerAnalogType

Retrieves a Tracker button’s analog type.

EWVR_AnalogType GetTrackerAnalogType(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)

IsTrackerButtonPressed

Checks if a Tracker button is pressed.

bool IsTrackerButtonPressed(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)

IsTrackerButtonTouched

Checks if a Tracker button is touched.

bool IsTrackerButtonTouched(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)

GetTrackerButtonAxis

Retrieves a Tracker button’s axis.

FVector2D GetTrackerButtonAxis(EWaveVRTrackerId trackerId, EWaveVRTrackerButton buttonId)

GetTrackerBatteryLife

Retrieves a Tracker’s battery life in float (0~1) that 0 for 0% and 1 for 100%.

float GetTrackerBatteryLife(EWaveVRTrackerId trackerId)

TriggerTrackerVibration

Triggers a Tracker’s haptic pulse. Default duration is 0.5s. Set frequency to 0 to use system default value. Default amplitude (0~1) is 0.5f.

bool TriggerTrackerVibration(EWaveVRTrackerId trackerId, int durationMicroSec = 500000, int frequency = 0, float amplitude = 0.5f)

GetTrackerExtendedData

Retrieves a Tracker’s extended data.

TArray<int> GetTrackerExtendedData(EWaveVRTrackerId trackerId, int &validSize)