Skip to main content
New Participant
February 7, 2017

Attaching Local Avatar to Player Controller in Unity

I have a problem attaching the avatar prefab for touch controls to the player controller prefab from oculus SDK. I have tried making both prefabs as children of an empty parent object. I tried to make the local avatar a child of player controller and it works fine until I move and my hands stay in the same spot while the body moves. I tried looking for a solution and cannot find one. Is there another way of doing this?


Thank you.

14 replies

Stas054Author
New Participant
February 9, 2017
Thank you.
Participant
February 18, 2017
I'm having the same issue.

If I take an empty scene with a ground plane, add the OVRPlayerController and the LocalAvatar... And try and make the LocalAvatar a child of the OVRPlayerController the registration gets all messed up between them. Hands are wildly out of place, look direction affects their position etc.
Participant
February 18, 2017
And yes, I'm looking to have avatar hands and controllers moving around the scene with the player.
Participant
February 18, 2017
OK @Stas054 I got this to work by making LocalAvatar a child of OVRPlayerController.

In inspector in OVRPlayerController there's two boxes HMD Resets Y and HMD Rotates Y. I unchecked both.

I also had to set the LocalAvatar 0.5m above the OVRPlayerController insert point.

No idea why 0.5m but... Seems to have worked.
Participant
March 10, 2017
To elaborate on Wynotts post the fix is as follows and works flawlessly.

STEP 1 - You must drop the Local Avatar prefab in the child of "TrackingSpace" Not the just the OVRPlayerController. If you do not do this correctly it will not work at all.
STEP 2 - Click on OVRPlayerController and goto inspector. Untick on "Hmd Resets Y"
STEP 3 - Make sure "Hmd Rotates Y" is ticked

ADMINS - Please mark resolved.
Participant
March 10, 2017
TO update

wynott said:

OK @Stas054 I got this to work by making LocalAvatar a child of OVRPlayerController.

In inspector in OVRPlayerController there's two boxes HMD Resets Y and HMD Rotates Y. I unchecked both.

I also had to set the LocalAvatar 0.5m above the OVRPlayerController insert point.

No idea why 0.5m but... Seems to have worked.




Alpha14 said:

To elaborate on Wynotts post the fix is as follows and works flawlessly.

STEP 1 - You must drop the Local Avatar prefab in the child of "TrackingSpace" Not the just the OVRPlayerController. If you do not do this correctly it will not work at all.
STEP 2 - Click on OVRPlayerController and goto inspector. Untick on "Hmd Resets Y"
STEP 3 - Make sure "Hmd Rotates Y" is ticked

ADMINS - Please mark resolved.



Participant
March 10, 2017
Spoke a little soon, works great in Unity dev mode. However if I export a build there is no avatar at all and can see a purple head stuck in the floor. Any ideas? What did I miss.
New Participant
July 16, 2017

Alpha14 said:

To elaborate on Wynotts post the fix is as follows and works flawlessly.

STEP 1 - You must drop the Local Avatar prefab in the child of "TrackingSpace" Not the just the OVRPlayerController. If you do not do this correctly it will not work at all.
STEP 2 - Click on OVRPlayerController and goto inspector. Untick on "Hmd Resets Y"
STEP 3 - Make sure "Hmd Rotates Y" is ticked

ADMINS - Please mark resolved.


I got it to work with this fix, but without unticking "Hmd Resets Y"
New Participant
September 28, 2017

Alpha14 said:

Spoke a little soon, works great in Unity dev mode. However if I export a build there is no avatar at all and can see a purple head stuck in the floor. Any ideas? What did I miss.


I'm having a similar issue. While I'm working on the project, the LocalAvatar hands work great, but if I build and run the hands' mesh is nowhere to be seen. The joystick and buttons still work but the hands can't be seen. If I open the oculus menu, you can see the hands there but not in my build. Anybody has any solution for this?
October 11, 2017
Thank you Alpha14!!! I am so very grateful! This helped me out tremendously. I would also like to note, as with gianniamerican, simply putting it as child of TrackingSpace was sufficient for me as well. :)