Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
serrarens's avatar
serrarens
Honored Guest
11 years ago

Where to put OVRCameraRig on the avatar?

In my work on avatar control I have experienced that the head-model in OVRCamerRig (and its predecessor) changes almost every SDK release. I am now migrating to 0.4.4 and again things work differently from 0.4.3 somehow.
Does somebody know the answer to the following questions?

- Where to put the OVRCameraRig on the avatar?
I did put it on the neck bone of the avatar. The CenterEyeAnchor would then be projected on the (middle) eye position.

- How is the local position of the CenterEyeAnchor calculated?
I think there is still a head model in there somehow, which is clear when using the DK1. But how does it work with DK2?

- What are the dimension of the head model? Is is a (0,0.15,0.13) vector?
What I actually want is that the eyes of the avatar are always at the same location of the Left and RightEyeAnchor.

- Can I change the head model?
Because it is a challenge when the head model (vector from neck bone to the eyes) differs from the head model of the OVR camerarig.

4 Replies

Replies have been turned off for this discussion
  • "serrarens" wrote:
    In my work on avatar control I have experienced that the head-model in OVRCamerRig (and its predecessor) changes almost every SDK release. I am now migrating to 0.4.4 and again things work differently from 0.4.3 somehow.



    Wait until 0.4.5 comes out and then, hey it's time for 0.4.6 and etc.
    Change and redo everything again and again and for what?
    The best thing I found with the Oculus was the pathway to Unity.
    I'm really enjoying learning scripting and indeed Unity itself.
    I've given up "developing" on the Rift. It's not worth it.
    Changes and mistakes and over writes and functions removed.
    And who on earth is going to be interested in a DK anything in a year or two anyway?
    I share your pain on this. It's a sad joke.
  • "serrarens" wrote:
    Where to put the OVRCameraRig on the avatar?

    OVRCameraRig now goes wherever you would normally put a Camera. We call that the "initial center eye" position. When the user moves her head, it will pivot around the "base of neck" position, which is behind and below the initial center eye position.

    "serrarens" wrote:
    How is the local position of the CenterEyeAnchor calculated?

    The local position of the center eye anchor is relative to the initial center eye position, which is the midpoint between the user's eyes when the app starts. After that, you can update it to the current center eye position by calling OVRManager.display.RecenterPose().

    "serrarens" wrote:
    What are the dimension of the head model? Is is a (0,0.15,0.13) vector?

    That depends on your profile. Here are the defaults:
    DEFAULT_PLAYER_HEIGHT 1.778f
    DEFAULT_EYE_HEIGHT 1.675f
    DEFAULT_IPD 0.064f
    DEFAULT_NECK_TO_EYE_HORIZONTAL 0.0805f
    DEFAULT_NECK_TO_EYE_VERTICAL 0.075f
    DEFAULT_EYE_RELIEF_DIAL 3
    So the default vector from the base of the neck to the center eye is (0, 7.5cm, 8.05cm).
  • Thanks! This helps a lot.

    So the head model is derived from the users profile and can access them from OVRManager.profile.*
    Now I need to find a way to adjust the avatar to the players' dimensions, but that is a challenge I need to face myself I think.
  • "vrdaveb" wrote:

    The local position of the center eye anchor is relative to the initial center eye position, which is the midpoint between the user's eyes when the app starts. After that, you can update it to the current center eye position by calling OVRManager.display.RecenterPose().


    Can you explain the logic behind this change? Because I really don't see the use case for it.

    Previously the rig was placed at the neck position which seemed to make perfect sense. Now for a lot of setups (most that I'm trying) I have to write code to emulate the old behaviour.