Giter Club home page Giter Club logo

arc-vr's Introduction

Logo

DOCS WEBSITE VIDEOS DOWNLOAD

ARC-VR is a Unity3D framework that aims to ameliorate the development process of VR applications or games by providing any and all basic VR features, such as movement, physics-interaction and UI. Thus ensuring the development process doesn't get congested at an early stage with the implementation of redundant, basic VR functionalities.

Built in-house at the Max Planck Institute for Human Development, the framework is primarily intended to simplify and streamline the building process of VR-based psychological experiments and studies.

This project is licensed under the GNU General Public License v3.0.

The framework is still work-in-progress, largely untested and prone to bugs. Feel free to report any issues you encounter!

Here's a brief demonstration of the systems capabilities:

Video-Link

Compatibility

So far, this project has exclusively been built and tested for the HTC Vive on Windows under Unity 2020.3.21. Since we use OpenXR as an API, other VR hardware will likely work just fine as well. Using a different Unity version may likely lead to errors or malfunctioning features.

How to get started?

Follow these simple steps to get started:

  • Create a new project with Unity 2020.3.21
  • Download com.avr.core-1.0.0.tgz from the github releases
  • In your unity project open Window > Package Manager, click on the plus sign in the top left and select Add package from tarball. Browse to and select the file you downloaded in the previous step.
  • When the import is done, click on AVR > Documentation in the top menubar to open the docs in your browser.

Alternatively, you can access the documentation and tutorials here: docs.vr-toolbox.org.

You can also check out this playlist for tutorials and overviews.

Packages

ARC-VR consists of a set of packages, all of which are dependent on a central arc-vr-core package, but otherwise function completely independently. This allows you to pick and choose which features you need for your project and avoid unnecessary dependencies.

Here's an overview of what each package provides:

arc-vr-core:

  • Documentation
  • Trackable VR Controllers
  • Base VR PlayerRig
  • Integrated developer's console
  • Integrated settings system
  • Property logger
  • Utilities

arc-vr-motion:

  • Movement Providers (Locomotion/Teleportation etc.)
  • Turn Provider
  • Customizable shaders and effects for aiming reticules

arc-vr-ui:

  • VR UI Interaction Provider
  • Base UI Elements
  • Object-Propery to UI-Element Linkage

arc-vr-avatar:

  • Player-Avatar-Integration
  • Basic Pose-Naturalizer

arc-vr-phys:

  • Physics Interaction Providers

arc-vr-net:

  • Multiplayer integration through MLAPI
  • Player-Spawning System
  • Basic 3rd-Person CharacterController

Screenshots

Here are some screenshots of some of the projects/demos we've used arc-vr for:

Screenshots

arc-vr's People

Contributors

helliaca avatar wmcnamara avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arc-vr's Issues

Migrate arc-vr-ui completely to the new InputSystem

All of arc-vr currently only uses the new InputSystem, except for arc-vr-ui, which partially still relies on the old one.

The VRInput component only works when placed alongside a 'StandaloneInputModule', a 'InputSystemUIModule' will make the VRInput component obsolete, and thus lead to following issues:

  • The key-bindings set on the UIInteractionProvider will not have any effect whatsoever. The inputs will instead be taken from the action-list set on the InputSystemUIModule.
  • The inputs from the other controller will be used by UIInteractionProvider as well. (Eg. you can point to a UI element with the left controller, then press the trigger on the right controller to click, even when the right controller has no components attatched.

Documentation spelling error

Hello! There is a small spelling mistake in the documentation pages.

Error Image

It says "Devemopment" instead of "Development"

Add collision sounds to arc-vr-phys

Currently, no sound at all is played when AVR_Grabbable's are picked up, thrown or collided.

Find suitable sounds for varying materials and play them on collision.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.