-
Notifications
You must be signed in to change notification settings - Fork 1
Sample Code
Cory Corvus edited this page May 19, 2020
·
9 revisions
-
Unity Sample Code
- UnityXR Disable VR
- UnityXR Set Tracking Space Type
- UnityXR Dropped Frame Count
- UnityXR GPU Time Last Frame (seconds)
- UnityXR Disable Tracking
- UnityXR Get Resolution Scale
- UnityXR Set Resolution Scale
- SteamVR Disable VR
- SteamVR Set Tracking Space Type
- SteamVR Auto Enable VR
- SteamVR Hide Controllers
- SteamVR Disable Tracking
- SteamVR Pause Game when Dashboard Visible
- SteamVR Get Resolution Scale
- SteamVR Set Resolution Scale
- Haptic Pulse Vibration
- Detect VR HMD and controller
- Reset head position
- Detect system button press (SteamVR Overlay) and enable/disable gameobject
- Get VIVE controller trigger full down/click
- Simple Laser Pointer
- Move objects to hand's position
- Power off SteamVR device
- VR Player Controller
- Subscribe to Action (SteamVR 2.x)
- Poll Action (SteamVR 2.x)
- Unreal Engine Sample Code
UnityEngine.XR.XRSettings.enabled = false;
UnityEngine.XR.XRDevice.SetTrackingSpaceType(TrackingSpaceType.RoomScale);
//UnityEngine.XR.XRDevice.SetTrackingSpaceType(TrackingSpaceType.Stationary);
int droppedFrameCount;
UnityEngine.XR.XRStats.TryGetDroppedFrameCount(out droppedFrameCount);
float gpuTimeLastFrame;
UnityEngine.XR.XRStats.TryGetGPUTimeLastFrame(out gpuTimeLastFrame);
//UnityEngine.XR.InputTracking.disablePositionalTracking = true;
UnityEngine.XR.XRDevice.DisableAutoXRCameraTracking(Camera.main, true);
float eyeTextureResolutionScale = UnityEngine.XR.XRSettings.eyeTextureResolutionScale;
UnityEngine.XR.XRSettings.eyeTextureResolutionScale = 1.0f;
Valve.VR.SteamVR.enabled = false;
var compositor = Valve.VR.OpenVR.Compositor;
compositor.SetTrackingSpace(Valve.VR.ETrackingUniverseOrigin.TrackingUniverseStanding);
//compositor.SetTrackingSpace(Valve.VR.ETrackingUniverseOrigin.TrackingUniverseSeated);
Valve.VR.SteamVR_Settings.instance.autoEnableVR = true;
SteamVR_Utils.Event.Send("hide_render_models", false);
Valve.VR.SteamVR_Settings.instance.poseUpdateMode = SteamVR_UpdateModes.Nothing;
Valve.VR.SteamVR_Settings.instance.pauseGameWhenDashboardVisible = true;
float sceneResolutionScale = Valve.VR.SteamVR_Camera.sceneResolutionScale;
Valve.VR.SteamVR_Camera.sceneResolutionScale = 1.0f;
public void SubscribeToPlayerAction(SteamVR_Action_Boolean action, SteamVR_Action_Boolean.ChangeHandler onAction)
{
action.AddOnChangeListener(onAction, SteamInputSource); //SteamInputSource can be Left Right or Any
}
public bool CheckForPlayerAction(SteamVR_Action_Boolean action, ButtonAction buttonState = ButtonAction.PressDown)
{
if (buttonState == ButtonAction.PressDown) return action.GetStateDown(SteamInputSource);
if(buttonState == ButtonAction.IsPressed) return action.GetState(SteamInputSource);
return action.GetStateUp(SteamInputSource);
}