Skip to content

OpenXR - Removal of "VR/Experts only" section #19390

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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