Today Sixense is revealing the reason for the delay of their STEM motion input controller—the company revamped their board design to include an IMU sensor which augments the motion tracking capabilities of the controller. The IMU is used for calibration-free correction of magnetic distortion. At E3, Road to VR went hand’s on with the latest STEM prototype and came away very impressed with the system’s performance.
One of the key issues with the Razer Hydra, the popular VR motion controller which used Sixense technology, was its susceptibility to magnetic distortion. Such distortion made for inconsistent experiences depending upon the environment in which the Hydra was used. I, for one, have always seen great performance with the Hydra when using it with my Oculus Rift. My colleague Reverend Kyle said that he has had issues aplenty with distortion, causing odd behavior and improper input when the controllers were held in a certain areas.
Both of us got to check out the latest prototype system at E3 last week and came away very impressed with what we saw.
It was explained that the IMU data augments the magnetic tracking data. If the system senses that the controller is starting to pitch in some direction, it checks with the IMU to reference the downward vector. If the two don’t agree, the system smartly adapts to provide accurate motion input by using the IMU’s frame of downward reference.
Sixense had me try the latest prototype of the STEM with and without the added IMU data. With it enabled, everything seemed normal; my arms move where and how I expected them to. When they disabled the IMU, my arms would veer strangely downward as I went from holding them forward to holding them out to my sides in a T-pose. In addition to the impressive automatic distortion correction, I was blown away by the latency of the system. Even when vigorously shaking my hands, my virtual hands seemed to keep up without issue.
The team challenged Revered Kyle to try a an SDK demo shooting range with and without the IMU’s contribution to tracking. The results were clear in both how it felt and how it looked:
“Prior to E3 I had a chance to try the STEM system at the SVVR Expo, and I was fairly happy with the progress. When I tried their latest prototype, I was completely blown away by how much better it was. I appreciate when a company decides to delay shipment a bit to provide me with a better product. It’s just good business. I think backers will be very impressed with what they end up receiving,” Kyle told me.
Sixense is taking pre-orders for STEM at their store and expects newly ordered units to begin shipping in October of 2014.
Sixense SDK Designed to Support Other Motion Input Devices
Sixense has been working hard on their ‘SixenseVR SDK’ which the company says will be free and is designed to work with multiple input devices.
“The Sixense VR SDK was designed to be hardware agnostic, so that any device that can provide true position and orientation could be compatible,” said Danny Woodall, Creative Director at Sixense.
While I’m not a developer, from what I gather in discussions with the team working on the project, developers who integrate STEM using the Sixense SDK will have a very easy time adapting for other motion input devices. In particular, it should make it easy for developers to end up with one package that supports any range of motion devices, rather than making one specific to, say, STEM, PrioVR, and Control VR.
As for updating games that already support the Razer Hydra, Sixense says they’ve designed the update process to be as easy as updating a .dll file. Several developers have tried this upgrade implementation and had their game up and running with STEM in minutes, according to the company.
The latest version of the shooting gallery demo, which will presumably ship with the SixenseVR SDK as an example for developers, now has a back room with some physics based objects to play with. As I entered the room for the first time, I pushed the door open slowly with one hand while peeking through the crack with a gun in my other hand—yes another example of natural motion gameplay and just a little taste of stuff that you simply cannot do without a true motion controller.
The SixenseVR SDK also uses a custom inverse kinematics (IK) solution which I found to be very impressive, even when trying to pose in positions which I thought would be confusing for the system to figure out. Even with my arm straight up and behind my head, pulling my hand straight down to my shoulder resulted in an accurate solution to my arm position, and impressively, no jumpiness whatsoever to how the system estimated my arm position.