Skip to content

Commit

Permalink
Update depth/separation documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
oneup03 committed Oct 31, 2024
1 parent b496871 commit 5316b28
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ Checkout the [Compatibility List](https://github.com/oneup03/VRto3D/wiki/Compati


## Hotkeys
- Adjust Depth with `Ctrl + F3` and `Ctrl + F4`
- Adjust Depth (Separation) with `Ctrl + F3` and `Ctrl + F4`
- Adjust Convergence with `Ctrl + F5` and `Ctrl + F6`
- Save all current settings (ones indicated with a `"+"` under [Configuration](#configuration)) as a profile for the currently running game with `Ctrl + F7` A beep will indicate success
- Reload the profile settings (ones with a `"+"`) from `default_config.json` with `Ctrl + F10` A beep will indicate success
- Toggle locking the SteamVR Headset Window to the foreground with `Ctrl + F8`
- Toggle HMD Height between 0.1m and configured `hmd_height` using `Ctrl + F9`. This is useful for games that force a calibration on the "floor"
- Check the [Controls](#controls) section and the Configuration table below to setup HMD camera controls for VR games (check the compatibility list to see if they are needed)
- Check the [User Presets](#user-presets) section for instructions on setting up your own Depth and Convergence presets and also reference the Configuration table below
- Check the [User Presets](#user-presets) section for instructions on setting up your own Depth/Separation and Convergence presets and also reference the Configuration table below
- When Pitch/Yaw emulation is enabled, you can adjust the ctrl_sensitivity with `Ctrl -` and `Ctrl +` and the pitch_radius with `Ctrl [` and `Ctrl ]`


Expand All @@ -54,12 +54,12 @@ Checkout the [Compatibility List](https://github.com/oneup03/VRto3D/wiki/Compati
| `hmd_height` + | `float` | The height of the simulated HMD. | `1.0` |
| `aspect_ratio` | `float` | The aspect ratio used to calculate vertical FoV | `1.77778` |
| `fov` | `float` | The field of view (FoV) for the VR rendering. | `90.0` |
| `depth` + | `float` | The max depth. Overrides VR's IPD field. | `0.5` |
| `depth` + | `float` | The max separation. Overrides VR's IPD field. | `0.5` |
| `convergence` + | `float` | Where the left and right images converge. Adjusts frustum. | `0.02` |
| `disable_hotkeys` | `bool` | Disable Depth & Convergence adjustment hotkeys to avoid conflict with other 3D mods | `false` |
| `tab_enable` | `bool` | Enable or disable top-and-bottom (TaB) 3D output (Side by Side is default) | `false` |
| `reverse_enable` | `bool` | Enable or disable reversed 3D output. | `false` |
| `depth_gauge` | `bool` | Enable or disable SteamVR IPD depth gauge display. | `false` |
| `depth_gauge` | `bool` | Enable or disable SteamVR IPD gauge display. | `false` |
| `debug_enable` | `bool` | Borderless Windowed. Not 3DVision compatible. Breaks running some mods in OpenVR mode. | `true` |
| `display_latency` | `float` | The display latency in seconds. | `0.011` |
| `display_frequency` | `float` | The display refresh rate, in Hz. | `60.0` |
Expand All @@ -71,11 +71,11 @@ Checkout the [Compatibility List](https://github.com/oneup03/VRto3D/wiki/Compati
| `pitch_radius` + | `float` | Radius of curvature for the HMD to pitch along. Useful in 3rd person VR games | `0.0` |
| `ctrl_deadzone` + | `float` | Controller Deadzone when using pitch or yaw emulation | `0.05` |
| `ctrl_sensitivity` +| `float` | Controller Sensitivity when using pitch or yaw emulation | `1.0` |
| `user_load_key` + | `string`| The Virtual-Key Code to load user setting # (replace # with integer number) | `"VK_NUMPAD1"` |
| `user_store_key` + | `string`| The Virtual-Key Code to store user setting # (replace # with integer number) | `"VK_NUMPAD4"` |
| `user_key_type` + | `string`| The store key's behavior ("switch" "toggle" "hold") (replace # with integer number) | `"switch"` |
| `user_depth` + | `float` | The depth value for user setting # (replace # with integer number) | `0.5` |
| `user_convergence` +| `float` | The convergence value for user setting # (replace # with integer number) | `0.02` |
| `user_load_key` + | `string`| The Virtual-Key Code to load user preset | `"VK_NUMPAD1"` |
| `user_store_key` + | `string`| The Virtual-Key Code to store user preset temporarily | `"VK_NUMPAD4"` |
| `user_key_type` + | `string`| The store key's behavior ("switch" "toggle" "hold") | `"switch"` |
| `user_depth` + | `float` | The separation value for a user preset | `0.5` |
| `user_convergence` +| `float` | The convergence value for a user preset | `0.02` |


## Base Installation
Expand Down Expand Up @@ -245,7 +245,7 @@ Checkout the [Compatibility List](https://github.com/oneup03/VRto3D/wiki/Compati
#### User Presets
- If you swap between different convergence settings in-game, sometimes you will end up with black bars on the sides of the screen or you may not see a change immediately. If you reload/restart/reinitialize the VR mod, you should see the change
- It is recommended to use a single convergence setting for all your presets given the above issue with some VR mods
- Create any number of user depth & convergence hotkeys in the `user_settings` area of the `default_config.json`
- Create any number of user depth/separation & convergence hotkeys in the `user_settings` area of the `default_config.json`
- A user preset looks like this:
- ```
{
Expand All @@ -256,24 +256,24 @@ Checkout the [Compatibility List](https://github.com/oneup03/VRto3D/wiki/Compati
"user_convergence": 0.1
},
```
- A Load key and a Store key can be configured to load and save Depth and Convergence settings for a preset
- A Load key and a Store key can be configured to load and save Depth/Separation and Convergence settings for a preset
- Load keys can use XInput buttons & combinations as well as single keyboard/mouse keys
- The Guide button can be used, but not in combinations
- XInput Combinations can be set like this `"XINPUT_GAMEPAD_A+XINPUT_GAMEPAD_B"`
- Store keys can only use single keyboard/mouse keys
- Reference [Virtual-Key Codes](https://github.com/oneup03/VRto3D/blob/main/vrto3d/src/key_mappings.h) to find the strings to use for these hotkeys
- The Load key can be configured to `"switch"` to the user depth & convergence setting, `"toggle"` between the preset and the previous setting every 1.5s, or `"hold"` the user setting until the key is released
- The Store key will update your user Depth and Convergence setting to the current value (this only saves while the game is running - you need to create a game profile to store it permanently)
- It is recommended to have a single user preset of `"switch"` type that matches the default depth & convergence so you can easily get back to the default
- The Load key can be configured to `"switch"` to the user depth/separation & convergence setting, `"toggle"` between the preset and the previous setting every 1.5s, or `"hold"` the user setting until the key is released
- The Store key will update your user Depth/Separation and Convergence setting to the current value (this only saves while the game is running - you need to create a game profile to store it permanently)
- It is recommended to have a single user preset of `"switch"` type that matches the default depth/separation & convergence so you can easily get back to the default
#### Profile Creation Steps:
1. Modify or copy and create user preset(s) in `default_config.json` for the game you want to play
2. If applicable, modify `hmd_height, pitch_enable, yaw_enable, pose_reset_key, ctrl_toggle_key, ctrl_toggle_type, pitch_radius, ctrl_deadzone, ctrl_sensitivity` for the game profile
3. If the game is already running, use `Ctrl + F10` to reload the `default_config.json` with your new settings and presets
4. Adjust depth (`Ctrl + F3` and `Ctrl + F4`) & convergence (`Ctrl + F5` and `Ctrl + F6`) for a preset
5. Use the configured `user_store_key` to temporarily save the current depth & convergence values to the preset
4. Adjust depth/separation (`Ctrl + F3` and `Ctrl + F4`) & convergence (`Ctrl + F5` and `Ctrl + F6`) for a preset
5. Use the configured `user_store_key` to temporarily save the current depth/separation & convergence values to the preset
6. Repeat 4 & 5 for each preset you need
7. Adjust depth & convergence back to what you want the default to be (if you have a default `"switch"` preset, you can use its configured `user_load_key`)
7. Adjust depth/separation & convergence back to what you want the default to be (if you have a default `"switch"` preset, you can use its configured `user_load_key`)
8. If applicable, adjust the `ctrl_sensitivity` with `Ctrl -` and `Ctrl +` and the `pitch_radius` with `Ctrl [` and `Ctrl ]`
9. Save the profile with `Ctrl + F7`
10. Open your new profile from `Documents\My Games\vrto3d` in a text editor and make final adjustments like: making all the convergence values match to avoid rendering or performance issues, changing virtual-key mappings, or tweaking other values/settings
Expand Down

0 comments on commit 5316b28

Please sign in to comment.