Difference between revisions of "Virtual reality"

From Emulation General Wiki
Jump to navigation Jump to search
m (Comparison)
m (Comparison)
Line 221: Line 221:
 
===Comparison===
 
===Comparison===
 
;[[3dSen|3dSen VR]]:Converts two dimensional NES games to 3D and allows you to rotate and change the viewing angle. Was previously know as 3DNes VR, name was changed for release on Steam and itch.io.
 
;[[3dSen|3dSen VR]]:Converts two dimensional NES games to 3D and allows you to rotate and change the viewing angle. Was previously know as 3DNes VR, name was changed for release on Steam and itch.io.
 
  
 
;Dolphin: Regular Dolphin has had support for Stereoscopic 3D video output for a long time.<ref name="dolphin3d">https://dolphin-emu.org/blog/2015/05/13/a-second-perspective/</ref> There are support for Side-by-Side, anaglyph, top-and-bottom, 3D Vision output and passive stereoscopic displays. For use with a VR headset, use side-by-side output. For PC, use something like [https://bigscreenvr.com/ Bigscreen] and enable SBS3D mode to show SBS content in your VR headset, for Android it should work right away. As of October 2019 an OpenXR implementation for full VR support is being worked on, see this [https://github.com/dolphin-emu/dolphin/pull/8380 pull request] for more info.
 
;Dolphin: Regular Dolphin has had support for Stereoscopic 3D video output for a long time.<ref name="dolphin3d">https://dolphin-emu.org/blog/2015/05/13/a-second-perspective/</ref> There are support for Side-by-Side, anaglyph, top-and-bottom, 3D Vision output and passive stereoscopic displays. For use with a VR headset, use side-by-side output. For PC, use something like [https://bigscreenvr.com/ Bigscreen] and enable SBS3D mode to show SBS content in your VR headset, for Android it should work right away. As of October 2019 an OpenXR implementation for full VR support is being worked on, see this [https://github.com/dolphin-emu/dolphin/pull/8380 pull request] for more info.

Revision as of 18:54, 24 February 2024

Vr-nerd.png
3DNes VR

Virtual reality (VR) is a field of technology surrounding direct interactivity with virtual 3D environments. This is often achieved with a head-mounted display and some form of input tracking. Some new emulators and forks of established emulators have support for VR headsets. There are a lot of different ways the emulators use the features of VR headsets. A lot of them allow you to play the game on a big screen inside your headset. Some of them have a virtual game room where you can play on a CRT TV or arcade cabinet. Some of them allow you to play games in 3D, either by emulating the original experience of a native 3D system like Virtual Boy or by giving a new way to play a traditional 2D system like NES or GameCube in 3D.

Overview

Virtual reality is still in its early days. All applications (such as emulators) that want to support a VR headset have to deal with different APIs, controls and sensors unique to each platform. This will hopefully get better now that OpenXR has been released. OpenXR is an open and royalty-free standard from Khronos (the organization behind open standards such as OpenGL and Vulkan) that will act as a middle man between VR/AR hardware of all sorts with the purpose to solve VR/AR fragmentation. This will hopefully make it possible to implent VR code once with the OpenXR API and have it compatible with all current and future VR headsets. If OpenXR succeeds, VR support in more regular emulators is much more likely.

Emulators with VR support

Name Emulates Operating System(s) Latest version Headset(s) VR[N 1] 3D[N 2] FLOSS Active Recommended
PC / x86
3dSen VR NES Windows 0.9.8 ($) Valve Index, HTC Vive, Oculus Rift, WindowsMR
Dolphin VR Wii, GC & N64 VC Windows 5.0-250 HTC Vive, Oculus Rift
BigPEmu AJ-VR Windows 1.094 ?
VBjin-OVR VB Windows 3.0 Oculus Rift
RetroArch Multi-system Windows Linux 1.18.0 Valve Index, HTC Vive, Oculus Rift, WindowsMR
Emukit VR N64, PS1 Web Git ? ? TBD
Real Commodore 64 - Virtually / C64VR / VRC64 C64 Windows 1.0 (2021-09-22) Oculus Rift/Rift S, WindowsMR/SteamVR using ReVive TBD
PPSSPP VR PSP Windows 1.1.1 Oculus Rift ? TBD
Citra 3DS Windows Linux Nightly Valve Index, HTC Vive, Oculus Rift, WindowsMR TBD
Dolphin Wii, GC & N64 VC Windows Linux Dev Valve Index, HTC Vive, Oculus Rift, WindowsMR TBD
RPCS3 PS3 Windows Linux FreeBSD 0.0.31 Alpha Valve Index, HTC Vive, Oculus Rift, WindowsMR TBD
Decaf VR Wii U Windows Linux Git Oculus Rift ? ?
VBA-Next 3D fork GBA Windows Linux N/A Valve Index, HTC Vive, Oculus Rift, WindowsMR ?
Standalone / Mobile / ARM
CitraVR 3DS Android 0.3.2 Oculus/Meta Quest
VirtualBoyGo VB Android 1.5.1 SideOculus/Meta Quest
1.5.1 APK
Oculus/Meta Quest, Oculus Go
PPSSPP
PPSSPP VR
PSP Android 1.17.1
SideQuest
Oculus/Meta Quest, Pico, Google Cardboard
GameBov GB/C Android 0.13 SideQuest
0.13 APK
Oculus/Meta Quest, Oculus Go ~ ~ TBD
Real Commodore 64 - Virtually / C64VR / VRC64 C64 Android Quest-ver. (2021-12-28)

Go-ver. (2021-05-31)
Quest APK (2021-09-22)
APK (2020-05-20)

Oculus/Meta Quest, Oculus Go, Gear VR, possible others[N 3] TBD
ePSXe PS1 Android 2.0.17 ($) Google Cardboard ? ? TBD
FPse PS1 Android 12.1 ($) Oculus, GearVR, Google Cardboard, Homido, etc. ? ? TBD
GVRgb GB/C Android N/A Oculus, GearVR, Google Cardboard, Homido, etc. ? ? ? ?
RetroArch Multi-system Android 1.18.0 ? ? TBD
Dolphin Wii, GC & N64 VC Android Dev Google Cardboard ? TBD
VR MAME Arcade Android 1.0.1 Google Cardboard ? ? ? TBD
VR VICE C64 Android 1.0.3 Google Cardboard ? ? TBD
GearboyVR GB/C Android 1.0 Oculus Go ? ? TBD
NES SPACE NES Android 2020.1023 ($) Oculus/Meta Quest
  1. Emulators with VR support have support for VR functions such as head tracking, first person viewing, VR controller input methods, etc.
  2. Emulators with 3D support can output the video in 3D, this can be used to view the game in 3D with a VR headset.
  3. Possibly works DayDream and Cardboard. Requires 3DoF controller.

Comparison

3dSen VR
Converts two dimensional NES games to 3D and allows you to rotate and change the viewing angle. Was previously know as 3DNes VR, name was changed for release on Steam and itch.io.
Dolphin
Regular Dolphin has had support for Stereoscopic 3D video output for a long time.[1] There are support for Side-by-Side, anaglyph, top-and-bottom, 3D Vision output and passive stereoscopic displays. For use with a VR headset, use side-by-side output. For PC, use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset, for Android it should work right away. As of October 2019 an OpenXR implementation for full VR support is being worked on, see this pull request for more info.
Dolphin VR
A VR fork by CarlKenner (AKA 2EyeGuy). 3D Games can be played in Virtual Reality with accurate life-size scale, full FOV, a 3D HUD, independent aiming, and the ability to look around. 2D Games can be played on a life-size virtual screen at the correct angle, sometimes even in 3D. Supports Wii, GameCube and Nintendo 64 Virtual Console games. There are also romhacks that can be used to make games more VR friendly, an example being this Ocarina of Time romhack. For more info check out Dolphin VR Quick Setup Guide, Dolphin_VR subreddit and this compatibility spreadsheet.
VBjin-OVR
Has a Head Locked mode where the screen is fixed in view and head tracking is ignored and a Immersive mode where the screen is placed in the world and head tracking is used to allow you to look around. This mode should be considered experimental and suffers from artifacts inherent to the Virtual Boy's implementation.
RetroArch
Can output side-by-side video for 3D games. This can be used to view the game in 3D with a VR headset, 3D TV, 3D projector or Android phone with cardboard. With these glsl-shaders it is possible to play both anaglyph systems (like Virtual Boy) and active shutter stereoscopic 3D games (like Famicom 3D System or SegaScope 3-D). For PC, use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset, for Android it should work right away.
Emukit VR
Web based N64 & PSX emulation in 3D.
PPSSPP VR
A VR fork by CarlKenner (AKA 2EyeGuy). PPSSPP VR is a PlayStation Portable emulator for the Oculus Rift that lets you actually be inside PSP games. You are not playing on a virtual handheld or screen, you are inside the virtual world. Important: do not resize the mirror window while in VR mode! Otherwise the GUI will stop working. It will still render at full resolution in the Rift. Don't forget to set the internal resolution to whatever you want, 6x works well. Check out this video to see what it's like. Compatibility spreadsheet.
Citra
Regular Citra merged support for side-by-side Stereoscopic 3D on Jun 18, 2018.[2][3] You can enable it by heading to Emulation → Configure… → Graphics → Layout, ticking the Enable Stereoscopic 3D checkbox, and changing the screen layout to Side by Side. This should make it possible to view the game in 3D with a VR headset, 3D TV, 3D monitor or 3D projector. For a VR headset, use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset. This shouldn't be confused with "CitraVR" project though.
Decaf VR
A VR fork by CarlKenner (AKA 2EyeGuy). Abadoned. It's just a 3m wide TV floating in the black void 1.5m in front of you (and another one behind you), with a correctly-sized gamepad screen held in your left hand.
RPCS3
Added support for PlayStation 3D on March 7, 2020[4]. Initially only for Anaglyph output but stereoscopic will be added later. Use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset.

VR game room simulations

EmuVR rooms

A VR game room simulation provides a virtual customizable game room; within that room there are cartridges, CD/DVDs and VHS tapes with artworks (CD/DVD covers, cartridge/VHS labels etc.), arcade machines, VCD/DVD/VHS player, personal computers or home consoles connected to virtual CRT screens that the user can interact with as they would a real-life TV.

Name Emulates Operating System(s) Latest version Type Headset(s) Netplay FLOSS Active Recommended
EmuVR Multi-system Windows 1.0.11
(2022-12-24)
Customizable room Oculus Rift, Oculus Link (Quest with PCVR), Valve Index, HTC Vive, WindowsMR, and your 2D monitor
AGE of Joy Multi-system Android 0.4.0
itch.io, SideQuest, GitHub
Retro arcade gallery Oculus/Meta Quest 2
New Retro Arcade: Neon Multi-system Windows Steam ($) 80's arcade Valve Index, HTC Vive, Oculus Rift
SEGA Mega Drive and Genesis Classics Mega Drive/
Genesis
Windows Linux Steam ($) 90's game room Valve Index, HTC Vive, Oculus Rift
Tower Unite Multi-system Windows Steam ($) All kind of game room Valve Index ?
RetroVR Multi-system Android N/A 90's game room Oculus/Meta Quest, Oculus Go

Comparison

EmuVR
Based on Unity engine (and uses/requires specific RetroArch version, 1.7.5 at the moment). Step into your customizable virtual bedroom with EmuVR and experience your collection just like in real life: Pick up, open case/box and insert discs, tapes, floppy disks, casettes or cartridges into your chosen system. Connect virtual cables, power on your devices, and enjoy your games, music or movies on a simulated display. Plug your virtual computer into the display, fire up your handheld, or even feed a virtual coin into an arcade machine or pinball table. Relax with a virtual magazine, book, manual or even box games and card games with your friends. EmuVR also supports netplay so you can enjoy your virtual room with friends. Keep in mind that you don't need VR headset and controller to experience this simulation (all kind of display types and keyboard/mouse supported). Besides all of these, the latest update (v1.0.12) introduces exciting "User Generated Content" (UGC) support, which means you can now create and enjoy custom assets and mods created by the community.[1][2]
Limitations;
  • It has Screen Space Reflections but Ray Tracing do NOT supported at the moment. You can try "Screen-Space Ray Traced Global Illumination" shader using ReShade if you have a powerful GPU.[3][4]
  • Visual achievement notifications are not currently displayed within EmuVR despite RetroAchievements integration via RetroArch. However, achievements are still unlocked and tracked through RetroArch while using EmuVR (according to some user reports it doesn't unlock any achievements). Future development might enable on-screen notifications within EmuVR[5].
  • As mentioned above, due to its reliance on RetroArch, EmuVR's simulated system support is currently limited to the libretro cores. This means that any limitations inherent to these cores (such as limited hardware feature emulation capabilities compared to standalone versions of those cores) might also be present within EmuVR. Such great example for this is media playback capabilities: while movies/videos supported through retroarch's ffmpeg/ffplay core[6][7], due to ffplay's limited format support there is no optical disc image or raw disc image support and there is no interactive media content support (such as menu support or FMV/interactive movie games). Fortunately, you can bypass these limitations just by using the WindowCast libretro core, though it requires additional setup such as using capture software like OBS, obviously this can be quite complex and require extra effort.[8]
  • Check it out EmuVR's ugc-share discord channel for various content/mods and assets created by the community. Please note that UGC support is currently in preview state[9][10], you need WIGU (which is based on MelonLoader) for injecting custom assets to Unity engine-based EmuVR.
  • Keep in mind that there is already a frequently requested features page for EmuVR.
New Retro Arcade Neon
Virtual 80's/early 90's arcade. You can walk around, play arcade machines and other games. Uses libretro. You have to configure the arcade machines by yourself, there are tools to make it easier such as the: Arcade Manager Add-on which auto-downloads and fully set ups cabinet art and attract videos for an unlimited number of ROMs and even randomize the cabinets of your choice every time you visit the Arcade, or you can download pre-made packs.
SEGA Mega Drive and Genesis Classics
Segas official emulator for Genesis games. Has a virtual 90's gamers bedroom. Look at game covers and play them on your CRT. Has mod support, it's possible to play your own ROMs and to play the official ROMs in other emulators.
Tower Unite
Tower Unite is a community-based virtual world party game with online games.It features libretro emulation support,allowing for emulators to be played within Tower Unite's Plaza and Condos.
Currently the libretro content has two sections:
  • The Plaza section where you can run supported cores anytime,anywhere using equipped handheld styled libretro items.Tower Unite does not restrict cores from using specific libretro items, so it is possible to run all supported cores in handheld models, including arcade, console.
  • The Codons section where you can bulid your personalize game room by placing various arcade, console, and computer styled libretro items and loading them with games.This setup can be shared with Tower Unite's online visitors(But not the handheld model's settings, which are personally exclusive). In this mode, your Condos runs like a configured libretro front-end as long as the same rom file exists locally for the visitor.

References