06-26-2018 02:01 AM
I am trying to implement a teleportation solution for vive focus in Unity. We develop ArchViz application and not everywhere we have abundant space to roam around. So to make it work in a small space, we needed to implement a teleport system just like in VIVE.
Now the issue I am facing is the offset we get in head position/rotation if we walk physically. Is there a way to reset the head position from code at runtime? I am able to move the entire WaveVR prefab instance, but can't reset the head pose. I tried setting it in DevicePoseTracker script, but it is getting overridden the very next frame. Please let me know how this can be done.
I can see the demos on viveport such as the museum and the winter archviz who have implemented the reset mechanism, so I know it is possible, just can't figure out how. Any help is appreciated. Thanks!
06-28-2018 10:09 PM
I'm not sure how other developers handle this on their contents.
There will be a new API provided for In-game recenter usage on next release. (System Update 3)
06-29-2018 09:36 AM
When can we expect to get access to the api? I do not currently have a developer ROM, so I will be only able to get it when it comes to consumer ROM.
08-03-2018 03:06 AM
01-09-2019 04:50 PM - edited 01-09-2019 04:51 PM
I'm attempting to add teleportation using only WaveVR, did you figure out how to achieve this?
This isn't working: target.position = new Vector3(1, 5, 10);
01-10-2019 07:35 AM - edited 01-10-2019 08:01 AM
I create a new game object in Unity and drop the WaverVR prefab and now I can transform the object... BUT how do I move the person to the location? If they walk off of zero and I teleport them, that offset still remains from the parent object.
It would be nice to have samples teleporting and using the controller in the WaveVR.
01-11-2019 01:11 AM - edited 01-11-2019 01:13 AM
There will be a offset value M if you assign the target (X,Y,Z) in parent object.
So it's better to assign (X,Y,Z) -M to parent object.
Thanks for your suggestion, and we will plan to provide a sample for teleporting.
01-11-2019 11:45 PM
Lets say I want them to teleport to an object, the following still gives me an offset:
Teleport.position = new Vector3(transform.position.x - WaveVR.position.x, (transform.position.y + person.transform.position.y)- WaveVR.position.y, transform.position.z - WaveVR.position.z);
I have boundaries off and attempted to "Recenter" as but let's say I walk to the other side of the house and call:
it will not reset set to my current location but rather set orientation. What's the proper way to recenter current location when you have boundaries off? Kinda of like returning to your safe center? For example in the Vive home screen menu, I sometimes travel so far I can no longer get to it or see it. I have to reboot the device to return back in front of the menu from my current location.
01-14-2019 08:04 PM
You can try this function call:
to re-center head position & rotation.