Trackers - SteamVR setup + UE4 Integration (+ Noitom Hi5 VR Gloves setup )

Hi all,

During the weekend I’ve experimented a bit with the Vive Trackers and I made a video showing the SteamVR setup and how to integrate them in UE4, showing the Blueprint setup.

I’ve also created a solution in order to use the Trackers very similar to the Noitom Hi5 VR Gloves.

Development Vlog#2 - SteamVR Integration, UE4 Blueprint Setup + Noitom Hi5 VR Gloves Setup

If you have any questions let me know

Nice man thank you!:smiley:

Very cool!

Thanks for sharing.

You’re welcome :slight_smile:

Hey Enter Reality,

I have a question maybe you know the answer. My trackers are tracking everything is fine (I’m using right now a baseball bat).
But when I rotate the bat forward it rotates to the right. When I rotate back it rotates left.

Here are some screenshots. I tried some components in between the Out rotation and new rotation but it didn’t work.

Can you give me an advice?

Thank you!!! :smiley:

Thomas

Hi Thomas,

That can happened to me as well at first, and it depends on the orientation of the real world tracker vs the orientation of the 3d model you’re using inside UE4.

There are two ways to solve this issue.

First download the 3d model of the tracker from the Vive website, import into Maya/Max/whatever, then position the 3d model so that the lower circular part is at the origin of the axis, and also in a way where you’re able to see its orientation, and the small led indicator on one of the “horns” will help you.

Then import the file into UE4 and use the tracker as the mesh in VR…in short you need to check the orientation of the virtual Trackers 3d models while you’re holding the real tracker in your hand.
If the orientation is ok you’re good to go, but if they don’t match you can visually figure out how you need to rotate the tracker in order to match the orientation.

The alternative method is to use a scene component as the “father” of the 3d object you’re using the tracker with, so that you’ll drive the scene component in VR, but you’re able to freely orient the child ( the mesh you use as the bat ).

If you stop the tutorial on 1.41 seconds, you can see the on the Components Tab I have Tracker1 and Tracker2 ( should be L and R ) and I attached on each one the hands: in your case you should add a scene component, then parent the Tracker mesh ( your bat ) under it, and use it to re-orient the 3d model so that it’ll behave according to the real life movement you’re doing.

If you have troubles let me know :wink:

This is interesting. I’ve read you can stream the coordinates of trackers without actually using a HMD. Does this method require you to use the vive plugin? I’m using tracking for a different purpose where I just want to track an object in a room and get the 6dof coordinates. I’ve seen a python implementation of this. Maybe i’ll stream the data in through a socket.

iKinema, with their Orion project, is using 4 trackers and 2 controllers, so the HMD is not part of their setup, but based on Valve statement, you can’t use the Trackers without the Vive…so I guess if you have it plugged ( or find a way to cheat Steam VR to let him think that the HMD is plugged ), you’re able to get the data from the trackers ( 6dof )

Just use the SetRelativeRotation instead of SetWorldRotation

THANK YOU Enter Reality it works perfect! :smiley:

Mrob76u Yes with the SetRelativeRotation it works fine. Thanks for that!

:cool:

Tom

Yep, this is a much quicker solution :wink:

I’m having a problem with integrating my tracker in my project. I had it working just fine but suddenly, although my tracker is is definitely tracking, the movable Static Mesh just disappears! I have no idea what I’ve changed, but it must be something. Its driving me nuts, so any help greatly appreciated…

Attached is a copy of the blueprint I’m using. Several additional bits of info:

  1. If I disconnect the Event Tick the Static mesh displays at its inital start location in the level just fine.
  2. Printing the tracker position to the screen/log correctly shows the tracker location moving when I move it around - so I know the tracker is tracking…
  3. Printing the Static Mesh World Location to the screen shows changing coordinates when I move the tracker, suggesting that the static mesh location is changing just fine…
  4. the static mesh is set to visible, movable and is textured.

So much brain hurty over this…

Not sure what’s wrong honestly…have you tried using SetRelativeRotation instead of World Rotation?

Try also to scale up the mesh itself, because maybe the mesh is tracking, but it’s somewhere inside the level, but not where it’s supposed to be.

I’m having issues and confusion.
Device ID’s of 1 and 2 or 3 and 4 are not working. I can confirm that 3 and 4 are my controllers but the trackers are not working with 1 and 2.
Also for debugging I’m using Get Valid Tracked Device Ids and only two controllers (3 and 4) show up. I’m assuming the trackers are supposed to show as well? I’ve also tried Device Type of Static and Other with no luck. Static shows my lighthouses I’m assuming?
And of course the trackers are showing as paired in SteamVR.

I currently have no issues with the setup I use ( on 4.16.1 ), so I’m don’t know what could be the issue, since it looks like the trackers are connected to SteamVR but UE4 do not recognize them.

Have you tried pairing them without using the controllers? meaning that instead of having the controllers+trackers, you use the pairing to connect just the trackers ( it works, I tested already ).
Try that and see if the are able to use the trackers in place of the controllers, just to make sure that they work as expected.

Then try to unpair the trackers and follow the video, pairing first the controllers and then adding the trackers, then open the UE4 scene again to see if it works.

The issue is the pairing isn’t always in sequence at least not in 4.15. The trackers were paired as Invalid Types with ID’s of 1 and 6.