VR Conversion for non-VR games - Trinus Virtual Reality

VR Conversion for non-VR games

While there are already some very cool VR games and experiences available, choice pales in comparison to the amount and quality of standard games released in the last 25 years (yeah, going back to original doom times).


You can argue that only native games can give you the full sense of immersion. True. Still, the increased immersion in games like... Alien Isolation, GTA San Andreas, Fallout 3, Half-Life 2, etc. make the experience worth it, whether you play the game for the first time or revisit a classic.

And to  benefit from that pool of AAA games, Trinus allows converting them into an immersive VR experience.

Re-live your favourites in a way you never imagined before!

How It Works

IMPORTANT:

- Do not use VR Conversion for On-Line gaming. You risk being BANNED. Check with Server Admins first
- Do not run your non-VR game before setting up the Game preset
- Exit the game before exiting Trinus, otherwise Reshade won't uninstall (you can install again and exit properly to fix)

Mouse conversion

Trinus converts headset sensor information into mouse movement that can be used in games to replace * the traditional mouse movement.

This allows matching the head rotations with a game view that also rotates in sync (ratio defined with Rotation Scale slider, in Trinus Main tab).

The limitation is that you can only look up/down and left/right (ie. 2 degrees of freedom), since the game doesn't support roll (not possible with a physical mouse)

* not a full replacement, as accurate pointing may be done with small mouse movements

Image conversion

In order for content to be displayed in VR, it needs to be in SBS (side by side) format. This is having two views of the same game, each for one eye.

There are other changes required in the content (like lens distortion correction). To manage all these we can use shaders.

A shader is a little program that runs on the gpu to create good looking graphics. Trinus uses ReShade, an application designed to inject shaders into games, in order to modify them in real-time. 

Traditional game, not playable in VR

Trinus conversion with stereoscopic SBS, Lens Correction, UI fixer, ready for VR!

Getting Started

Once you've setup the PSVR connections and started Trinus, follow these steps:

1. In Main tab, choose PSVR Mode: VR Conversion

2. In VR Conversion tab, click Install and specify the game .exe file (the VR Conversion will be copied there, and removed by Trinus on stop)

3. You can now choose the game preset (you can create your own presets if your desired game is not listed) and finally the Render API to use

4. There will be a notification that the VR conversion has been installed for the chosen game

5. Switch on the PSVR and click Start

6. Start the game you selected as you normally would and place its window in the headset display. You should be able to do so via Windows+Shift+arrow, game settings, or changing to windowed fullscreen (or, if everything fails, try setting Windows Display to Duplicate, at 1920x1080 resolution)

When you finish, stop the game first and then Trinus (this way the VR conversion files can be removed without conflict).

Remember you may need to set the PSVR display refresh rate to 90 or 120hz, through Windows Display (Advanced) Settings.

VR Legs

VR Legs is a term referring to your brain/body resistance to motion sickness when having a VR session.

Some people get their VR legs immediately, others may need to play short regular sessions for days (or months) to get accustomed. This is similar to how some people get sick while on a boat, and others don't. In both cases, you can usually get past it and achieve your VR legs.

'VR legs' is relevant to any headset, be it an Oculus or Daydream; and while the issue is minimised in many VR games through different techniques natively integrated in the game (like short distance teleportation, instead of walking); the problem can be more prominent when playing nonVR games that obviously don't have such gameplay features.

But it can be resolved through other means. If you start feeling sick while playing, it means you'll have to take it slow, and try tweaking your setup:

1- Increase the Dynamic Vignette slider. This will create side bars to mitigate nausea induced by fast head rotations

2- Maximise performance: 

- You can disable some of the features of the VR conversion to gain some speed (the VR conversion takes 0.3 to 4ms, depending on setup).

- Also, you can decrease game quality settings (start from lowest and move up, lowering resolution if necessary). Even though a VR Ready PC is not necessary, you still need hardware capable to render your game as fast as possible (ideally at 90fps or above... but even lower frame rates can work well).

3- Some games are more prone to make you sick. Try different ones and find out what works for you. Go with games where you are sitting, or wearing a space helmet (as a static view reference for the brain to help process), 3rd person camera view games, have slow walking or otherwise avoid certain less VR friendly scenarios

4-Playing the first sessions with the mouse conversion disabled (using 'Disable Mouse Conversion' option) may help for individuals specially sensitive to VR sickness

In Game Settings

There are certain settings a game might have that can help improve the VR conversion:

- Mouse sensitivity: as stated before, the head to mouse movement needs to be calibrated to match. This is done via mouse sensitivity options

- Game detail: in VR a high and stable frame rate is crucial. Lower the game quality settings so that you achieve frame rates equal or above 60fps (90fps or more is the ideal)

- Game resolution: best to stick with 1920x1080. You do not need a VR Ready PC to play, but the gpu still needs to do some heavy lifting to maximise frame rate, so balance quality vs speed according to your system capabilities and preference

- Field Of View (FOV): changes the 'range of view' (eg. wider angle to see more), finding the right value will make the game more immersive

- Motion blur / Head bobbing / Walk speed: features like blur distract from the VR experience. Features like head bobbing introduce an artificial walk movement that will notably increase the chances of motion sickness

- Vsync: you will get the best frame rates with Vertical Synchronisation off, but potentially introduce image tearing. Test and see

- Windowed mode / Display select: usually you choose to display the game on the headset by moving the window with Windows Key + Shift + Arrow Key. This may not work for all games. You can try putting the game in fullscreen borderless window or choose a game option to select where to display the game. You can also switch main display (as suggested here). Alternatively, Trinus has a Move Game Window button you can use, but it won't work for all cases

UI Repaint

Flat games tend to have UI elements around the corners. Things like minimaps or health bars are hard to see in VR at such locations.

To solve this, Trinus takes special images based on the game UI (a mask) that will be used as reference to know where there original UI is located, so that it can be repainted.

These UI masks need to be made for each game. They can be done with an image editor (like GIMP), more details below. Trinus updates will add more presets so that more games can be played (feel free to make requests... or your own UI preset!).

Once the game is loaded, with the VR conversion, the first UI page is switched on by default. This may look a bit weird in intro videos, menus, etc. so you can toggle off with the mapped keys (default is 7 for Page 0, 8 for Page 1, etc.).

While this is good during gameplay, menu navigation can still be difficult in VR. To solve this, you can use the Cursor View option, which will show a window with the mouse cursor surroundings in the middle of the screen. This makes the menu navigation more visible and accessible.

Original game with UI elements on the sides

Trinus game mask

Applied mask, moving the edges in for VR visibility

Mouse Options

To get the most  immersive experience, the head to mouse game view should be in sync, so that you turning your head results in same amount of turn in game camera.

To do so, you will need to adjust the mouse sensitivity, starting with the Rotation Scale option in Trinus, then tweaking in game settings if necessary.

There are a few games that require a (right) mouse button pressed in order to rotate the view. This is also the case for emulators like Dolphin VR (to play Mario Kart and other Nintendo classics in VR) and some simulators. You can assign a key in Trinus that will toggle mouse button down or up, so that you don't have to keep the actual mouse button pressed.

Then some games, like 3rd person view games have inverted Y-axis. For those cases, you can tick the Invert Mouse Y-Axis in Trinus.

Menu navigation can be cumbersome in VR, due to small text and content shown in low visibility locations. To make navigation easier, Trinus has the Cursor View option: while the assigned key is pressed (default is 5), the headset rotations will not be converted into mouse movement. Additionally, a window showing the mouse cursor surroundings will be displayed in the center of the screen.

Note that some games prioritise gamepad over mouse, so if the pad is plugged (or free look assigned to right thumb stick), mouse is completely ignored. The solution will depend on the game. For example, in Battlefield, you can unmap right stick look. On another game you might need to change a different setting (eg. increasing gamepad thumb stick dead zone) or, if nothing else works, use a separate application (remapper) to translate mouse movements to gamepad right thumb stick.


A few games and applications will require a little more configuration. Examples:

360 Desktop Video players: similar to 360 youtube videos, but with SBS support, such players usually have the option to press a mouse button to look around the video.

Assetto Corsa: While this game has a native VR mode, it can be problematic (and more performance demanding). Luckily, there's a trick to make it work with VR Conversion and mouse free look, as explained here.

Dolphin: Strongly recommended emulator to play Nintendo classics like Mario Kart, Star Wars: Rogue Squadron or Resident Evil 4 in VR. There's a Dolphin VR branch but is discontinued. However, the Trinus mouse conversion will still work with the regular branch.

In Trinus Mouse Conversion Settings, Assign Mouse Button Key (or use default, 6) and enable toggle by checking the Right Click radio button. Dolphin activates mouse look only while right mouse button is pressed, so Trinus simulates the press using the assigned Mouse Button Key as toggle.

If installing the conversion with the recommended Render API (Open GL) crashes the emulator, choose DirectX 9 to skip the image conversion. You will have to enable the stereoscopic SBS option in Dolphin>Enhancements. 

Then you will need to enable Free Look in Dolphin>Graphics Configuration>Advanced.

Finally, a few more tweaks in other Dolphin settings can help improve the experience. For example, setting Graphics Configuration>General>Aspect Ratio to Stretch to Window

Game Presets

In order to create the appropriate VR conversion for a game, Trinus uses preset files defining game specific parameters.

In this manner, we can have UI placements corresponding the game we are playing.

Each preset is generally formed by two files, a .preset and a .png. Both files need to have the same name, for example (doom.preset and doom.png).

When these files are copied to the Trinus folder/ext/reshade/presets, Trinus will look them up next time you run it.

Trinus comes with a few presets, but you can add more, either finding them online or creating them yourself (following the instructions below).

Creating Game Presets

- unzip uiShader.zip

- take a game screenshot and copy to install folder.

- create a ui mask png

> open the screenshot with your preferred image editor (GIMP is a good option)

> add up to 4 layers, to separate red, green, blue and alpha (UI pages). You don't need to use all pages/colors

> select an area of the screenshot (for example a minimap) and paint it in red. this is now a UI section that can be moved and scaled

> repeat for second layer, using green, and last layer, using blue. Color level determines transparency (eg. (128, 0, 0) will set first UI page semi-transparent)

> change background to black, save as png

We can now change size and position of the UI

Mask using 3 UI pages, created with GIMP

UI Moved to specified location

The mask allows fine detailing

Color intensity determines transparency

Toggling UI pages allows multiple UI combinations

- copy mask to install folder/tvr, renamed as defaultMask.png (this is the filename that viewer.exe expects to find)

- run viewer.exe [screenshot] [adapter number] [monosbs] (eg. viewer.exe screenshot.png 0 false)

- open ReShade menu (Home key)

- in Home tab, uncheck Performance mode

- search for UIFix.fx and edit the mask parameters (position and scale) as desired

- remember to enable the page you are changing the setting for (page0 is enabled by default on start, rest are disabled). The default keys are numbers 1 to 4

- press Home again to close ReShade, then alt+f4 to close the viewer

- your changes are kept in install folder/tvr/trnsPreset.ini

- open the .ini with a text editor and copy the UIFix.fx section into a new my_game.preset file, that will look like this:

[UIFix.fx]
alpha=0.742000
maskPos0=0.538000,-0.463000
maskScale0=0.783000,0.783000
maskPos1=-0.157000,-0.664000
maskScale1=0.583000,1.000000
maskPos2=-0.570000,0.197000
maskScale2=1.000000,1.000000

You can now copy the .preset into your Trinus install folder/ext/reshade/presets to use in Trinus next time you launch it.

The mask file should also be copied to /ext/reshade/presets, with the same name as the preset. eg. my_game.preset and my_game.png

You can post and share your presets at the Trinus forum, reddit, ReShade forums or by contacting Trinus support