1
0
mirror of synced 2024-11-12 01:00:52 +01:00
A VR arcade emulator
Go to file
Yasu3D f78c278da3 updated graphics
- new cab
- new shaders for cab
- post processing
2022-11-03 22:40:47 +01:00
.github/workflows Stop tracking UserSettings in building 2022-06-09 17:20:17 -07:00
Assets updated graphics 2022-11-03 22:40:47 +01:00
mercuryio make ipc config functional 2022-10-05 22:47:49 +02:00
Packages huge change, new desig wip 2022-10-03 02:04:54 +02:00
PreviewImages Create Preview.png 2022-10-08 18:52:35 +02:00
ProjectSettings disable head cube for liv capture and fix texture quality issue 2022-10-16 13:50:38 +02:00
.gitignore Add LED IPC 2022-07-29 18:49:56 +02:00
LICENSE Initial commit 2022-03-08 01:12:51 +01:00
README.md Update README.md 2022-10-21 23:57:32 +02:00



an open source vr arcade simulator

Discord server Build status

Preview

About this project

  • Model is almost 1:1 to physical cabinet
  • Supports every game version
  • Supports native touch input via serial (com0com required)
  • Supports lights/LEDs (via hook)
  • Customizable haptic feedback
  • 4 customizable buttons
  • 3rd person and smoothed 1st person cameras
  • LIV avatars/mixed reality

Supported platforms

  • All SteamVR devices (Index, HTC, Oculus, etc.)
  • All Oculus devices (Oculus Desktop App)

Tested on: Quest 2 through Oculus Link (Native and via SteamVR), ALVR and Virtual Desktop (via SteamVR).

Repositories used

Disclaimers

  • This project is not-for-profit and some resources came from the Internet!
  • Although this repository is under the GPL-3.0 license, do not use any content of this repo in commercial/profitable scenarios without permission!
  • Please support your local arcade if you can!

How to use

  • Get the game somehow and make sure it runs properly and uses latest xxxxtools. (DO NOT ASK ANYTHING THAT IS DIRECTLY RELATED TO THE GAME ITSELF)
  • Download the nightly version of WACVR.
  • You have 2 ways to connect touch to the game:

mercuryio

  • Download mercuryio.dll.
  • Put mercuryio.dll into bin folder.
  • Add [mercuryio] path=mercuryio.dll to .ini file.
  • Start the game and WACVR.
  • Download and install com0com.

  • Configure com0com to bind COM3 and COM5, COM4 and COM6.

  • Enable the enable buffer overrun option in com0com on both ports of all pairs. Otherwise, your WACVR will crash after the logo.

  • Add [touch] enable=0 to .ini file

  • Start WACVR first then start the game.

  • If your touch is not working, try to somehow go to Test mode then exit Test mode.

  • The lighting requires mercuryio.dll. You must set it up to get the lights from the game. If you don't have the lights, please check if you are using the latest xxxxtools and if your LED hook works.

Configuration

A config.json file is automatically created in WACVR's root directory on startup.

  • You can change this file via the in-game config panel. Please take a step back: the controller pointer will automatically be disabled when the controller is too close to the cabinet.
  • Some extra options are only available in config.json. For example:
    • "CaptureDesktopNumber:"
    • "SpectatorSmooth:"
  • Some options in config.json are only the index of the dropdown in the panel.
  • You can use the pointer to point the 3rd-person camera and move it to the position you want it to be.

Building guide

  • Current Unity version: 2021.3.11f1
  • for mercuryio, just replace files in mercuryio folder with files in this repo.

Known issues

  • Display white screen issue
    • Solution: Set game priority in the task manager to real-time may solve this issue. But the best way is just by capturing the entire screen.

Huge thanks to everyone that helped with this project! If you want to add any features, please commit a pull request. I will accept it as soon as possible!