OpenVR Tracker Streaming

Yes, that is correct I have Steam on/running. And the controllers are up and running, and headset.

I tried it with Steam on and off and both times it came up with an error. I’ll restart my laptop in a bit, but gotta work right now LOL
Thanks for this app as I’m sure I’ll get it running somehow. You’ve really peaked my interest!

Have a great day!

2 Likes

I’m also very interested in this thread! Have there been any updates to your software since 1.2?

i’d tried some auto-calibration stuff where when i stand in a T-pose it tries to align and scale the tracking data to align with t-posed target model. but it still needs more robust logic for handling proportional differences, etc to be useful.

In practice though, I have used the existing version to record the “raw” data points which i can then manually re-target to models. most of it has been for work, so i can’t really share my efforts, but if i manage to get some time i’ll try to demo my workflow in a video or something!

That would be great. I’m working with it as well. I’ve got 9 trackers and 2 controllers. Working with a model and simple full body rig that I made from Sebastian Lague’s tutorials.

Like the other poster above mentioned, I do have to turn the rig 180 backwards, but after that, adjusting each tracker is fairly easy. I’ve got another few ideas I’m going to try with IK and bone drivers. So far, seems pretty promising!

Thanks so much for this. I’ll post some results soon (hopefully)

2 Likes

Thanks for making this, I’m getting this error when I press the stream button, any Idea on a fix?

Traceback (most recent call last):
File “C:\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\addons\openvr_streamer.py”, line 183, in execute
openvr.init(VRApplication_Scene)
NameError: name ‘openvr’ is not defined

location: :-1

Seems like it’s not finding openvr, I’d verify that you did step 2 in the first post, putting the openvr Library in the python folder for the current version of blender that you’re using.

Thanks for the swift reply. No joy unfortunately. Going to try on a different machine. In the mean time
I installed the LTS version just to check and getting an error when trying to enable the addon, very odd

Traceback (most recent call last):
File “C:\Program Files\WindowsApps\BlenderFoundation.Blender2.83LTS_2.83.6.0_x64__ppwjx1n5r4v9t\Blender\2.83\scripts\modules\addon_utils.py”, line 351, in enable
mod = import(module_name)
File “C:\Users******\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\openvr_streamer (1).py”, line 15, in
import openvr
ModuleNotFoundError: No module named ‘openvr’

just to totally clarify, as all your errors suggest the openvr module is missing, that you installed it using these instructions (note this is separate from my add-on itself):

Install the OpenVR python module from https://github.com/cmbruns/pyopenvr/releases
***Note Blender contains its own version of python, so to have this module accessible you should install it there. For example, for me running Blender 2.82 this location was ‘C:\Program Files\Blender Foundation\Blender 2.82\2.82\python’

1 Like

Thanks again will do a fresh install on everything

hey mate , i have send you rig in the personal massage months ago , will you please check that

You have no idea how stressed out I’ve been just trying to search for something like this. I’d kiss you if it wasn’t socially unacceptable! lol! THANK YOU soooo much for making this addon. My video I’ve been working on is saved!

1 Like

This looks wonderful…!!

A question I haven’t seen come up yet: can it be used to control the camera?

Obviously what I’m trying to do is attach a controller (or headset if I must) to my physical camera and have its motion be duplicated by the Blender camera.

Thoughts…?

that should be totally possible, just set the target to a camera :slight_smile:

this is one of many side projects i keep wanting to spend some more time on!

1 Like

Looking to try it, and I’m getting no data from SteamVR to the OpenVR Streaming code.

Got everything working, it seems, without an HMD. The Streaming add-on starts up fine, and sees the system: I see the HMD (null device), and my GenericTracker device. So far so good!

Then, when selecting a target… nothing happens.

SteamVR log shows the following error on connecting:
“OnBindingLoadFailed: vive_tracker_camera #input_binding_load_failed_no_url”

Immediately followed by the Vive system entering standby.

Thoughts…?

A little more data on this.
It might be that the failure to bind isn’t the issue, but rather that after this the system reports:
[System] Unknown Transition from ‘SteamVRSystemState_Standby’ to ‘SteamVRSystemState_Ready’ which sounds good…!

except that immediately afterwards it says
0 - entering standby
[System’ Unknown Transition from ‘SteamVRSystemState_Ready’ to ‘SteamVRSystemState_Standby’

So it may be that it’s working fine… it just goes to sleep right away. Still looking.

Hi all!

Okay, the “going to sleep” issue still remains but I think that’s a SteamVR config issue.

To anyone else who missed the critical step… the tracking only works if you hit “play” in Blender. I totally didn’t see that at first and wondered why nothing was responding. All fixed now. Thank you for this!!

1 Like

I’m upto the stage where I can start streaming and link objects to my vr controllers. I have a rift CV1. The rotation data works fine, but the positional data is so soft that any movement only comes across as location data at about 0.00001 on xyz.
Is there a setting to increase the location data so it can have a much greater effect on objects?

i wonder if there’s some odd parenting or world scale issues connected to this. i’ll have to revisit this script to see if there are cases that aren’t being caught , or if there’s an elegant way to apply scaling

Yeah, It might be a odd parenting. I created drivers to another cube to multiply the location data but it only increase 2 axis instead of 3 axis. A multiplication option might be good feature for some people anyway depending on what objects they are trying to control.

1 Like