GithubHelp home page GithubHelp logo

charles-river-analytics / vsdk-unity Goto Github PK

View Code? Open in Web Editor NEW
28.0 7.0 3.0 1.89 MB

VSDK is an XR software development kit that enables developers to quickly build XR experiences through systems for naturalistic user interactions and support across a wide variety of XR devices and peripherals. VSDK is available for Unity 3D and for Unreal Engine.

License: MIT License

C# 99.58% ShaderLab 0.42%
vr hand-tracking haptics unity3d xr-devices xr-experiences vsdk

vsdk-unity's People

Contributors

dduggan13 avatar dduggancra avatar gcatto avatar stimberlake avatar vr-nic 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  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

vsdk-unity's Issues

Hand Settings Sometimes stick in editor after being changed

Describe the bug
Sometimes, after setting up the leap motion Hand SDK and then changing the setting manually back to No Hands, the settings will revert to Leap Motion at runtime.

We've also seen this happen occasionally with other SDK settings

To Reproduce
Steps to reproduce the behavior:

  1. Setup up a scene with leap motion hands
  2. Press run
  3. Change settings back to No Hands
  4. Press run again

Expected behavior
When you change a setting, it ought to stay changed.

Add Audio Clip and Buffer Options to Haptic SDK

Our current Haptic SDK has a limited sampling rate as it only provides a single intensity for each time step. This allows even the most basic haptic systems to work with VSDK, but we want to be able to take advantage of systems that let us push buffers as well. Additionally, we should add Audio Clip support as an alternative to Intensity Curves in the haptic patterns.

  • Add optional parameters to the StartHaptics function: an Intensity Buffer as an array of float values and the sampling rate the array represents
  • Add Audio Clips as an alternative to Intensity Curves in the haptic pattern interface

The name 'SteamVR_Actions' does not exist in the current context

Created a new project, import SteamVR from asset store.

Import Virtuoso package, then get error

Assets\VIRTUOSO\Scripts\HapticSDK\Haptic Devices\ViveDevice.cs(85,33): error CS0103: The name 'SteamVR_Actions' does not exist in the current context

also, the scene in the examples packages is missing materials and prefabs.

Reactor Inspector doesn't work in prefab view

Describe the bug
The inspector for Reactors show an error message instead of rendering in the prefab view. This seems to just be a UI issue as any data created in the scene view and saved to a prefab loads probably.

To Reproduce
Steps to reproduce the behavior:

  1. Create a cube, attach the Interactable Object script, a reactor, and a color change reaction
  2. Turn the object into a prefab
  3. Open in prefab editor
  4. See error

Expected behavior
You should still be able to set up a Reactor in the prefab window (and in fact, it's probably best practice to do so)

VSDK Incorrectly IDs SteamVR version

With the latest version of SteamVR on the unity asset store, VSDK misidentifies it as both version 2+ and 1.11 or older.

The current method of looking at what class files are available isn't working great and seems to break with every new release, so we should figure out a better solution (removing pre-2.0 SteamVR support might be an option here, since those binaries are harder to get anyway).

Controller Interactions Stop Working Once Hands Added To Scene (Editor only)

Description
When you add hand tracking to a VSDK project, it seems the controller-based reactions all break.
I built an app using controller, and everything worked fine. I have a reactor with 2 different kinds of reactions (unity events and controller appearance) and picking up objects makes the controllers hide as expected, and then my Unity events fire when I pull trigger as expected.

However, after adding in hand tracking this no longer works at all (the entire reactor). I can still pick up the object, but cant use it, and my controller does NOT hide.
However, this is FIXED in the build of the application, so this bug only seems to occur in the editor.

To Reproduce
Steps to reproduce the behavior:

  1. Create an empty scene with a normal VR setup
  2. Create a reactor on an object with a hide controller appearance reaction and some unity event reactions
  3. Verify it works
  4. Add leap motion and hands to the scene
  5. Controller interactions will no longer work

Expected behavior
Reactors should respond to controller events whether or not hands are in the scene.

Hardware (please complete the following information):

  • OS: Windows 10
  • XR System: Oculus Rift w/ Leap Motion
  • VSDK Version v1.0

Oculus Haptics Not Working on Quest and Rift S

Oculus' new controllers (for Quest and Rift S) have downgraded haptics (compared to CV1 Touch Controllers) and do not accept buffers as input anymore. We will need to update the Haptic SDK to support the new Oculus haptics.

SteamVR Auto Populate Doesn't Work

Checking the 'auto-populate' box on the SteamVR SDK setup won't find the necessary objects in some versions of Unity. Unchecking the box and just pressing the button seems to work for some users.

I believe the issue is related to VRTK_SharedMethods.FindEvenInactiveGameObject or similar which have in some cases been unable to find objects in different scenes for some versions of Unity. SteamVR's don't destroy on load forces the setup into a separate scene.

Support Native Unity XR API

It would be quite nice to avoid bringing in the huge SteamVR or Oculus SDKs for situations where the extra functionality is not needed. VRTK 4.x works via the native Unity XR API. Is there a chance VSDK could also?

Can't throw objects using Hand SDK

Bug: If you attempt to toss an Interactable Object using a Hand SDK instead of controllers, it will not have any momentum transferred from the Hand.

Expected behavior: Throwing an object using the Hand SDK should behave the exact same way as throwing via a controller.

I believe this has something to do with how the VRTK_InteractGrab script would normally retrieve the force to apply.

Add Magic Leap Support

We have been meaning to add Magic Leap support for a while, and it is feasible now that ML is compatible with standard Unity 2019 builds.

Develop a new XR SDK set for Magic Leap and documentation on how to build for it.

While it might work using just Unity XR, we are planning on adding more features that could make it better as a custom SDK unit.

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.