Hello everyone.

The Mixed Reality Forums here are no longer being used or maintained.

There are a few other places we would like to direct you to for support, both from Microsoft and from the community.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.

If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.

And always feel free to hit us up on Twitter @MxdRealityDev.
Options

Choice of Stabilization Plane Normal

stepan_stulovstepan_stulov ✭✭✭
edited May 2017 in Questions And Answers

Hello, guys.

There is a line from the HoloToolkit that sets the stabilization plane onto a specific object in the scene. Also note the comments.

// Place the plane at the desired depth in front of the user and billboard it to the gaze origin.
HolographicSettings.SetFocusPointForFrame(planePosition, -GazeNormal, velocity);

The comment and the actual code seem inconsistent to me since billboarding is orienting onto the position, not aligning with the gaze forward vector.

What is the actual recommendation of the stabilization plane normal? Should it be aligned with the gaze or be directly onto the gaze origin? Also, given the same stabilization plane position but giving different normals how does it actually influence the stabilization?

Thanks!

UPDATE: Due to confusion about what my main question is I will re-phrase. How does setting different normals of the stabilization plane influence the stabilization algorithm?

Building the future of holographic navigation. We're hiring.

Tagged:

Answers

  • Options
    trzytrzy ✭✭✭
    Billboarding means always aligned perpendicular to the z axis facing the camera. Think billboard sprites in old games. That's exactly what this code does. The sign of the vector is negative because what is specified is actually the stabilization plane normal, which points away from the direction of the plane that the user is looking at. The MS documentation makes a note of this.
  • Options

    Hey @trzy

    Thank you for your reply. This code won't make the plane face the camera when the object is anywhere but directly in front of the camera. It will co-align the axes, but the billboard won't "look" at the camera.

    What this code does directly is very clear to me.

    The question is more whether this stabilization plane's normal choice affect anything?

    Building the future of holographic navigation. We're hiring.

  • Options
    trzytrzy ✭✭✭
    edited May 2017
    I guess it may not be a billboard after all -- or it depends how you define billboard.

    What this code will do, for any position in front of the player, is create a plane that is parallel to the projection plane. The plane is always facing the camera.

    Let's say position = forward * 2. We agree in this case that the plane is directly in front of you and perpendicular to the forward direction.

    Consider some other position = forward * 2 + right * 0.5. The point used to define the plane is different but because we use the gaze normal, which is in world coords, the plane is the same in this case (I picked an orthogonal axis to shift the point by). Its orientation has not changed. It is perpendicular to the camera.

    In general, the position may affect the distance from the camera but if the normal vector is the same, the planes will all face the same direction. As you turn your head, the gaze normal changes. If the position of the plane is not changed, the plane will "rotate" and that means the actual gaze ray will intersect the plane at a different distance. But the orientation relative to your eye is the same.
  • Options
    stepan_stulovstepan_stulov ✭✭✭
    edited May 2017

    Hi, @trzy

    I really appreciate the time you've taken to answer my question. Thank you! However, you are explaining trigonometry with which I have no problem at all. What I am trying to understand is how setting of the stabilization plane's normal (taken the position is the same) influences the distribution of calculation resources and who knows what else under the HoloLens's hood. I'm interested in stabilization internals and their parametrization, not billboarding specifically.

    I apologize if I confused you on what the main question is by asking multiple ones in the original post. I have updated it as well as the question's title.

    Building the future of holographic navigation. We're hiring.

Sign In or Register to comment.