Skip to content

Commit

Permalink
Merge pull request #19390 from lvonasek/cleanup-openxr
Browse files Browse the repository at this point in the history
OpenXR - Removal of "VR/Experts only" section
  • Loading branch information
hrydgard authored Aug 9, 2024
2 parents 50ed6c4 + 2d68bd2 commit 169736d
Show file tree
Hide file tree
Showing 52 changed files with 1 addition and 415 deletions.
1 change: 0 additions & 1 deletion Common/Input/InputState.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ const char *GetDeviceName(int deviceId) {
case DEVICE_ID_XINPUT_3: return "x360_4";
case DEVICE_ID_ACCELEROMETER: return "accelerometer";
case DEVICE_ID_MOUSE: return "mouse";
case DEVICE_ID_XR_HMD: return "xr_hmd";
case DEVICE_ID_XR_CONTROLLER_LEFT: return "xr_l";
case DEVICE_ID_XR_CONTROLLER_RIGHT: return "xr_r";
default:
Expand Down
1 change: 0 additions & 1 deletion Common/Input/InputState.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ enum InputDeviceID {
DEVICE_ID_XINPUT_2 = 22,
DEVICE_ID_XINPUT_3 = 23,
DEVICE_ID_ACCELEROMETER = 30, // no longer used
DEVICE_ID_XR_HMD = 39,
DEVICE_ID_XR_CONTROLLER_LEFT = 40,
DEVICE_ID_XR_CONTROLLER_RIGHT = 41,
DEVICE_ID_TOUCH = 42,
Expand Down
13 changes: 0 additions & 13 deletions Common/Input/KeyCodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -246,19 +246,6 @@ enum InputKeyCode {
NKCODE_EXT_MOUSEWHEEL_UP = 1008,
NKCODE_EXT_MOUSEWHEEL_DOWN = 1009,

// Virtual reality motion
NKCODE_EXT_MOTION_UP = 1101,
NKCODE_EXT_MOTION_DOWN = 1102,
NKCODE_EXT_MOTION_LEFT = 1103,
NKCODE_EXT_MOTION_RIGHT = 1104,
NKCODE_EXT_MOTION_FORWARD = 1105,

// Virtual reality rotation
NKCODE_EXT_ROTATION_UP = 1111,
NKCODE_EXT_ROTATION_DOWN = 1112,
NKCODE_EXT_ROTATION_LEFT = 1113,
NKCODE_EXT_ROTATION_RIGHT = 1114,

NKCODE_MAX
};

Expand Down
107 changes: 1 addition & 106 deletions Common/VR/PPSSPPVR.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,6 @@ static std::vector<ButtonMapping> controllerMapping[2] = {
leftControllerMapping,
rightControllerMapping
};
static bool controllerMotion[2][5] = {};
static bool hmdMotion[4] = {};
static float hmdMotionLast[2] = {};
static float hmdMotionDiff[2] = {};
static float hmdMotionDiffLast[2] = {};
static int mouseController = 1;
static bool mousePressed = false;

Expand Down Expand Up @@ -275,103 +270,6 @@ void UpdateVRInput(bool haptics, float dp_xscale, float dp_yscale) {
}
}

//motion control
if (g_Config.bEnableMotions) {
for (int j = 0; j < 2; j++) {
bool activate;
float limit = g_Config.fMotionLength; //length of needed movement in meters
XrVector3f axis = {0, 1, 0};
float center = ToRadians(VR_GetConfigFloat(VR_CONFIG_MENU_YAW));
XrQuaternionf orientation = XrQuaternionf_CreateFromVectorAngle(axis, center);
XrVector3f position = XrQuaternionf_Rotate(orientation, IN_VRGetPose(j).position);

//up
activate = position.y > limit;
keyInput.flags = activate ? KEY_DOWN : KEY_UP;
keyInput.keyCode = NKCODE_EXT_MOTION_UP;
keyInput.deviceId = controllerIds[j];
if (controllerMotion[j][0] != activate) cbNativeKey(keyInput);
controllerMotion[j][0] = activate;

//down
activate = position.y < -limit * 1.5f;
keyInput.flags = activate ? KEY_DOWN : KEY_UP;
keyInput.keyCode = NKCODE_EXT_MOTION_DOWN;
keyInput.deviceId = controllerIds[j];
if (controllerMotion[j][1] != activate) cbNativeKey(keyInput);
controllerMotion[j][1] = activate;

//left
activate = position.x < -limit * (j == 0 ? 1.0f : 0.25f);
keyInput.flags = activate ? KEY_DOWN : KEY_UP;
keyInput.keyCode = NKCODE_EXT_MOTION_LEFT;
keyInput.deviceId = controllerIds[j];
if (controllerMotion[j][2] != activate) cbNativeKey(keyInput);
controllerMotion[j][2] = activate;

//right
activate = position.x > limit * (j == 1 ? 1.0f : 0.25f);
keyInput.flags = activate ? KEY_DOWN : KEY_UP;
keyInput.keyCode = NKCODE_EXT_MOTION_RIGHT;
keyInput.deviceId = controllerIds[j];
if (controllerMotion[j][3] != activate) cbNativeKey(keyInput);
controllerMotion[j][3] = activate;

//forward
activate = position.z < -limit;
keyInput.flags = activate ? KEY_DOWN : KEY_UP;
keyInput.keyCode = NKCODE_EXT_MOTION_FORWARD;
keyInput.deviceId = controllerIds[j];
if (controllerMotion[j][4] != activate) cbNativeKey(keyInput);
controllerMotion[j][4] = activate;
}
}

// Head control
if (g_Config.bHeadRotationEnabled) {
float pitch = -VR_GetHMDAngles().x;
float yaw = -VR_GetHMDAngles().y;
bool disable = vrFlatForced || appMode == VR_MENU_MODE;
bool isVR = !IsFlatVRScene();

// calculate delta angles of the rotation
if (isVR) {
float f = g_Config.bHeadRotationSmoothing ? 0.5f : 1.0f;
float deltaPitch = pitch - hmdMotionLast[0];
float deltaYaw = yaw - hmdMotionLast[1];
while (deltaYaw >= 180) deltaYaw -= 360;
while (deltaYaw < -180) deltaYaw += 360;
hmdMotionLast[0] = pitch;
hmdMotionLast[1] = yaw;
hmdMotionDiffLast[0] = hmdMotionDiffLast[0] * (1-f) + hmdMotionDiff[0] * f;
hmdMotionDiffLast[1] = hmdMotionDiffLast[1] * (1-f) + hmdMotionDiff[1] * f;
hmdMotionDiff[0] += deltaPitch;
hmdMotionDiff[1] += deltaYaw;
pitch = hmdMotionDiff[0];
yaw = hmdMotionDiff[1];
}

bool activate;
float limit = isVR ? g_Config.fHeadRotationScale : 20;
keyInput.deviceId = DEVICE_ID_XR_HMD;

//left
activate = !disable && yaw < -limit;
keyInput.flags = activate ? KEY_DOWN : KEY_UP;
keyInput.keyCode = NKCODE_EXT_ROTATION_LEFT;
if (hmdMotion[2] != activate) cbNativeKey(keyInput);
if (isVR && activate) hmdMotionDiff[1] += limit;
hmdMotion[2] = activate;

//right
activate = !disable && yaw > limit;
keyInput.flags = activate ? KEY_DOWN : KEY_UP;
keyInput.keyCode = NKCODE_EXT_ROTATION_RIGHT;
if (hmdMotion[3] != activate) cbNativeKey(keyInput);
if (isVR && activate) hmdMotionDiff[1] -= limit;
hmdMotion[3] = activate;
}

// Camera adjust
if (pspKeys[VIRTKEY_VR_CAMERA_ADJUST]) {
for (auto& device : pspAxis) {
Expand Down Expand Up @@ -894,9 +792,6 @@ void UpdateVRViewMatrices() {
float mYaw = my * ToRadians(rotation.y);
float mRoll = mz * ToRadians(rotation.z);

// use in-game camera interpolated rotation
if (g_Config.bHeadRotationEnabled) mYaw = -my * ToRadians(hmdMotionDiffLast[1]); // horizontal

// create updated quaternion
XrQuaternionf pitch = XrQuaternionf_CreateFromVectorAngle({1, 0, 0}, mPitch);
XrQuaternionf yaw = XrQuaternionf_CreateFromVectorAngle({0, 1, 0}, mYaw);
Expand All @@ -911,7 +806,7 @@ void UpdateVRViewMatrices() {
XrQuaternionf_ToMatrix4f(&invView.orientation, M);

// Apply 6Dof head movement
if (g_Config.bEnable6DoF && !g_Config.bHeadRotationEnabled && IsVREnabled()) {
if (g_Config.bEnable6DoF && IsVREnabled()) {
M[3] -= vrView[0].pose.position.x * (vrMirroring[VR_MIRRORING_AXIS_X] ? -1.0f : 1.0f) * scale;
M[7] -= vrView[0].pose.position.y * (vrMirroring[VR_MIRRORING_AXIS_Y] ? -1.0f : 1.0f) * scale;
M[11] -= vrView[0].pose.position.z * (vrMirroring[VR_MIRRORING_AXIS_Z] ? -1.0f : 1.0f) * scale;
Expand Down
5 changes: 0 additions & 5 deletions Core/Config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -956,7 +956,6 @@ static const ConfigSetting vrSettings[] = {
ConfigSetting("VREnable", &g_Config.bEnableVR, true, CfgFlag::PER_GAME),
ConfigSetting("VREnable6DoF", &g_Config.bEnable6DoF, false, CfgFlag::PER_GAME),
ConfigSetting("VREnableStereo", &g_Config.bEnableStereo, false, CfgFlag::PER_GAME),
ConfigSetting("VREnableMotions", &g_Config.bEnableMotions, true, CfgFlag::PER_GAME),
ConfigSetting("VRForce72Hz", &g_Config.bForce72Hz, true, CfgFlag::PER_GAME),
ConfigSetting("VRForce", &g_Config.bForceVR, false, CfgFlag::DEFAULT),
ConfigSetting("VRImmersiveMode", &g_Config.bEnableImmersiveVR, true, CfgFlag::PER_GAME),
Expand All @@ -971,10 +970,6 @@ static const ConfigSetting vrSettings[] = {
ConfigSetting("VRCanvas3DDistance", &g_Config.fCanvas3DDistance, 3.0f, CfgFlag::DEFAULT),
ConfigSetting("VRFieldOfView", &g_Config.fFieldOfViewPercentage, 100.0f, CfgFlag::PER_GAME),
ConfigSetting("VRHeadUpDisplayScale", &g_Config.fHeadUpDisplayScale, 0.3f, CfgFlag::PER_GAME),
ConfigSetting("VRMotionLength", &g_Config.fMotionLength, 0.5f, CfgFlag::DEFAULT),
ConfigSetting("VRHeadRotationScale", &g_Config.fHeadRotationScale, 5.0f, CfgFlag::PER_GAME),
ConfigSetting("VRHeadRotationEnabled", &g_Config.bHeadRotationEnabled, false, CfgFlag::PER_GAME),
ConfigSetting("VRHeadRotationSmoothing", &g_Config.bHeadRotationSmoothing, false, CfgFlag::PER_GAME),
};

static const ConfigSectionSettings sections[] = {
Expand Down
5 changes: 0 additions & 5 deletions Core/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,6 @@ struct Config {
bool bEnableVR;
bool bEnable6DoF;
bool bEnableStereo;
bool bEnableMotions;
bool bEnableImmersiveVR;
bool bForce72Hz;
bool bForceVR;
Expand All @@ -496,10 +495,6 @@ struct Config {
float fCanvas3DDistance;
float fFieldOfViewPercentage;
float fHeadUpDisplayScale;
float fMotionLength;
float fHeadRotationScale;
bool bHeadRotationEnabled;
bool bHeadRotationSmoothing;

// Debugger
int iDisasmWindowX;
Expand Down
11 changes: 0 additions & 11 deletions Core/KeyMap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -348,17 +348,6 @@ static const KeyMap_IntStrPair key_names[] = {
{NKCODE_EXT_MOUSEWHEEL_UP, "MWheelU"},
{NKCODE_EXT_MOUSEWHEEL_DOWN, "MWheelD"},


{NKCODE_EXT_MOTION_UP, "MotionUp"},
{NKCODE_EXT_MOTION_DOWN, "MotionDown"},
{NKCODE_EXT_MOTION_LEFT, "MotionLeft"},
{NKCODE_EXT_MOTION_RIGHT, "MotionRight"},
{NKCODE_EXT_MOTION_FORWARD, "MotionFwd"},
{NKCODE_EXT_ROTATION_UP, "RotationUp"},
{NKCODE_EXT_ROTATION_DOWN, "RotationDown"},
{NKCODE_EXT_ROTATION_LEFT, "RotationLeft"},
{NKCODE_EXT_ROTATION_RIGHT, "RotationRight"},

{NKCODE_START_QUESTION, "¿"},
{NKCODE_LEFTBRACE, "{"},
{NKCODE_RIGHTBRACE, "}"},
Expand Down
12 changes: 0 additions & 12 deletions UI/GameSettingsScreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1304,18 +1304,6 @@ void GameSettingsScreen::CreateVRSettings(UI::ViewGroup *vrSettings) {
PopupSliderChoiceFloat* vrHudScale = vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fHeadUpDisplayScale, 0.0f, 1.5f, 0.3f, vr->T("Heads-up display scale"), 0.1f, screenManager(), ""));
vrHudScale->SetEnabledPtr(&g_Config.bRescaleHUD);
vrSettings->Add(new CheckBox(&g_Config.bManualForceVR, vr->T("Manual switching between flat screen and VR using SCREEN key")));

if (deviceType == DEVICE_TYPE_VR) {
vrSettings->Add(new ItemHeader(vr->T("Experts only")));
vrSettings->Add(new CheckBox(&g_Config.bHeadRotationEnabled, vr->T("Map HMD rotations on keys instead of VR camera")));
PopupSliderChoiceFloat *vrHeadRotationScale = vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fHeadRotationScale, 0.1f, 10.0f, 5.0f, vr->T("Game camera rotation step per frame"), 0.1f, screenManager(), "°"));
vrHeadRotationScale->SetEnabledPtr(&g_Config.bHeadRotationEnabled);
CheckBox *vrHeadRotationSmoothing = vrSettings->Add(new CheckBox(&g_Config.bHeadRotationSmoothing, vr->T("Game camera uses rotation smoothing")));
vrHeadRotationSmoothing->SetEnabledPtr(&g_Config.bHeadRotationEnabled);
vrSettings->Add(new CheckBox(&g_Config.bEnableMotions, vr->T("Map controller movements to keys")));
PopupSliderChoiceFloat *vrMotions = vrSettings->Add(new PopupSliderChoiceFloat(&g_Config.fMotionLength, 0.3f, 1.0f, 0.5f, vr->T("Motion needed to generate action"), 0.1f, screenManager(), vr->T("m")));
vrMotions->SetEnabledPtr(&g_Config.bEnableMotions);
}
}

UI::EventReturn GameSettingsScreen::OnAutoFrameskip(UI::EventParams &e) {
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/ar_AE.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1422,17 +1422,11 @@ Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Experts only = Experts only
Field of view scale = Field of view scale
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = الواقع الإفتراضي
VR camera = كاميرا الواقع الإفتراضي
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/az_AZ.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1414,17 +1414,11 @@ Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Experts only = Experts only
Field of view scale = Field of view scale
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = Virtual reality
VR camera = VR camera
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/bg_BG.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1414,17 +1414,11 @@ Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Experts only = Experts only
Field of view scale = Field of view scale
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = Virtual reality
VR camera = VR camera
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/ca_ES.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1414,17 +1414,11 @@ Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Experts only = Experts only
Field of view scale = Field of view scale
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = Virtual reality
VR camera = VR camera
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/cz_CZ.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1412,19 +1412,13 @@ New version of PPSSPP available = Je dostupná nová verze PPSSPP
6DoF movement = 6DoF movement
Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Experts only = Experts only
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Field of view scale = Poměr zorného pole
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = Virtual reality
VR camera = VR camera
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/da_DK.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1414,17 +1414,11 @@ Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Experts only = Experts only
Field of view scale = Field of view scale
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = Virtual reality
VR camera = VR camera
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/de_DE.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1414,17 +1414,11 @@ Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Experts only = Experts only
Field of view scale = Field of view scale
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = Virtual reality
VR camera = VR Kamera
Expand Down
6 changes: 0 additions & 6 deletions assets/lang/dr_ID.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1414,17 +1414,11 @@ Distance to 2D menus and scenes = Distance to 2D menus and scenes
Distance to 3D scenes when VR disabled = Distance to 3D scenes when VR disabled
Enable immersive mode = Enable immersive mode
Enable passthrough = Enable passthrough
Experts only = Experts only
Field of view scale = Field of view scale
Force 72Hz update = Force 72Hz update
Game camera rotation step per frame = Game camera rotation step per frame
Game camera uses rotation smoothing = Game camera uses rotation smoothing
Heads-up display detection = Heads-up display detection
Heads-up display scale = Heads-up display scale
Manual switching between flat screen and VR using SCREEN key = Manual switching between flat screen and VR using SCREEN key
Map controller movements to keys = Map controller movements to keys
Map HMD rotations on keys instead of VR camera = Map HMD rotations on keys instead of VR camera
Motion needed to generate action = Motion needed to generate action
Stereoscopic vision (Experimental) = Stereoscopic vision (Experimental)
Virtual reality = Virtual reality
VR camera = VR camera
Expand Down
Loading

0 comments on commit 169736d

Please sign in to comment.