Skip to content

x9046/psmove-unity5

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  _____   _____ __  __  ______      ________      _    _       _ _         _____ 
 |  __ \ / ____|  \/  |/ __ \ \    / /  ____|    | |  | |     (_) |       | ____|    
 | |__) | (___ | \  / | |  | \ \  / /| |__ ______| |  | |_ __  _| |_ _   _| |__  
 |  ___/ \___ \| |\/| | |  | |\ \/ / |  __|______| |  | | '_ \| | __| | | |___ \ 
 | |     ____) | |  | | |__| | \  /  | |____     | |__| | | | | | |_| |_| |___) |
 |_|    |_____/|_|  |_|\____/   \/   |______|     \____/|_| |_|_|\__|\__, |____/ 
                                                                      __/ |      
                                                                     |___/       

Plugin for using PSMove as input in Unity 5.

Check out this video to see some tracking in action.

This is adapted from the psmove-ue4 plugin and inspired by UniMove.

Overview

This library is inteded as a way for Unity5 developers to iterate at their desk on tracked VR controller games/applications when you have limited or no access other advanced tracking solutions in the office. The PS3 Move controller on the PC has tracking that isn't as good as Valve's or Oculus' solution, but with some filtering, it's good enough for developer iteration, and it's super cheap.

This library is built on top of the psmoveapi, a C library for reading raw data from a PS move controller. As awesome as the base psmove library is, it was missing a few pieces of functionality that made it work well for VR applications. Cboulay and I have been adding new VR specific functionality in his fork of psmoveapi. My fork has the most recent changes, but I try and push most my work to his fork, with the exception of the minor tweaks I do to better support this Unity plugin. Point being, if you want to make tweaks to the psmoveapi.dll or psmovetracker.dll used by this plugin, you'll need to clone my fork, not cboulay's and build it locally.

This plugin works in Windows 64-bit (7/8.1/10), though LibUSB drivers for the camera in Win7 are flakey at times.

Working features

  • Position and orientation of multiple controllers.
  • Button presses trigger events.
  • Trigger-button value (0-255)
  • Set vibration (0-255)
  • Controller color changes
  • Coregistration with the Oculus DK2
  • Position tracking filter (using Kalman filter or LowPass filter)
  • Yaw-drift free orientation filter using Iterative Jacobian Gradient Descent algorithm

Planned features

  • Integration with psmove windows service/unix daemon

Install & Use

Read the Wiki.

About

Plugin for using PSMove as input in Unity 5

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.6%
  • Other 1.4%