Skip to content

Latest commit

 

History

History
92 lines (60 loc) · 6.07 KB

README.md

File metadata and controls

92 lines (60 loc) · 6.07 KB

Godot Oculus Quest Toolkit

This is an in-development toolkit for basic VR interactions using the Godot game engine.

The main target of this toolkit is native Oculus Quest development but it also supports the Godot OpenXR plugin, WebXR export and DesktopVR (via the OpenXR, OpenVR and Oculus Godot modules). Most of the implemented features are not platform specific.

You can try a Web-Exported version of the tookit at https://neospark314.itch.io/godot-oculus-quest-toolkit

The current version of the toolkit in this repository was build/tested with Godot 3.4.5.

If you have questions or run into problems please open an issue here or contact me on discord.

There is a discord server specific for users of the toolkit. Feel free to join: https://discord.gg/JtTpFk9852

For general discussions about VR in godot you can also join the official Godot Discord #XR channel.

Showcases

A list of links to projects and prototypes that use the Oculus Quest Toolkit that I'm aware of. If you are using the toolkit and would like to be here you can ping me or open an issue with a link to your project and I will add it.

Voxel Works Quest Get Wood Seurat TPS test
Seurat Capture Pipelines Mawashi
Blocks The Impossible Crypt SpaceToys
Fugitive NeonGunslingerVR JapaneseInANutshell

Demo Scenes and Games

The toolkit contains several demo scenes in the Demo Scene Folder that can be inspected to see how the individual features work.

In addition there is also a more complete example in the Demo Games Folder. It is a beat saber clone called BeepSaber; you can watch a video here. This demo game now also exists as a fork (with some additions/improvements in its own repository at https://github.com/NeoSpark314/BeepSaber)

BeepSaber Demo Video

Features

  • Touch controller button handling and controller models
  • 2D UI canvas with controller interaction and Virtual Keyboard
  • Joystick locomotion and rotation (smooth and step)
  • Rigid body grab
  • Basic Player Collision
  • Falling and Climbing logic

Feature Images Feature Images 2

  • Oculus Mixed Reality Capture Integration

Video of the Godot MRC Plugin in action

  • Hand Tracking support with included hand models and basic gesture detection

Simple Hand Gestures

  • VR Simulator and VR Recorder (for easier testing on desktop)
  • Several utilities to accelerate prototyping and debugging (Log, Labels, ...)
  • Jog in Place detection

Medieval City Test Scene

Documentation

The documentation is in the project wiki. It includes a more detailed getting started section and an overview of the included features.

Known issues

As this is a very early version there are some known issues that are not yet resolved. If you know a solution feel free to open a github issue to further discuss it or catch me on the official Godot Discord: @NeoSpark314.

  • No shader precompilation/caching. This means there will be a very noticeable hiccup when new objects/materials are rendered for the first time (like showing the UI pointer or when transitioning scenes). This will be essential to resolve for actual applications!
  • No mip-mapping for UI canvas (thus text looks very bad at some distance)

Planned features

There are a lot of potential extensions and missing features. Some of the things I think I will tackle next are on this list; but if you have some other suggestions feel free to open an issue to discuss it.

  • Jumping of ledges while climbing
  • Grabbed objects
    • handing over objects
    • interaction trigger
  • Improvements to the labeling system
  • Physics interactors (levers, rotators, buttons, maybe doors)

Credits

Licensing

The Godot Oculus Quest Toolkit and the demo scenes in this repository are licensed under the MIT License. The Oculus Touch controller 3d models the hand model and the Oculus Mobile SDK contained in this repository are copyright Oculus, see http://oculus.com for license information. The Roboto font used is licensed under an Apache License and available at https://github.com/google/roboto.