Hello everyone.

We have decided to phase out the Mixed Reality Forums over the next few months in favor of other ways to connect with us.

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.

The plan between now and the beginning of May is to clean up old, unanswered questions that are no longer relevant. The forums will remain open and usable.

On May 1st we will be locking the forums to new posts and replies. They will remain available for another three months for the purposes of searching them, and then they will be closed altogether on August 1st.

So, where does that leave our awesome community to ask questions? Well, there are a few places we want to engage with you. 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. And always feel free to hit us up on Twitter @MxdRealityDev.

Share hologram's real world position between HoloLens and Immersive Headset device?

TamBuiTamBui
edited September 2017 in Q&A and Discussions

Let's say that I have a HoloLens user in a room, and an Immersive Headset user in that same room. I understand that the HoloLens user can see everything in the room optically, but the Immersive Headset user cannot because the user is fully immersed in VR.

But, is it possible for the HoloLens user to place a hologram somewhere in the room, say on a table, and have the Immersive Headset user see the hologram at the same real world position? I understand the Immersive Headset user won't be able to see the table.

I was able to share a hologram's transform position and rotation between the two devices, following the sharing guidelines of the Holograms 240 tutorial. But I'm not seeing the hologram where I want it to be in the Immersive Headset.

Here is how I am packaging the bytes of the hologram's position and rotation:

    public byte[] GetHologramPositionRotationInBytes()
    {
        var floatArray = new float[]
        {
                this.gameObject.transform.position.x,
                this.gameObject.transform.position.y,
                this.gameObject.transform.position.z,
                this.gameObject.transform.rotation.x,
                this.gameObject.transform.rotation.y,
                this.gameObject.transform.rotation.z,
                this.gameObject.transform.rotation.w
        };

        var byteArray = new byte[floatArray.Length * 4];
        Buffer.BlockCopy(floatArray, 0, byteArray, 0, byteArray.Length);
        return byteArray;
    }

The receiving device simply decodes the bytes above. However, I suspect that the transform data appears to be from the perspective of the HoloLens headset only, and not a world position. So my question is, is it even possible to share a real world point between the HoloLens and Immersive Headset devices? If so, how do I do this?

Thanks for reading,
Tam

Best Answer

Answers

  • TamBuiTamBui
    edited September 2017

    @Patrick Thanks for the reply. I too have faked it using a similar strategy, but it's just not feasible or practical to have two people starting in the exact same world position, and facing in the exact same direction.

    I'll do some more digging to see if it is possible using Windows.Perception.SpatialAnchor API's, but I'm not sure if those API's are exposed for Immersive Headsets. Will see.

Sign In or Register to comment.