Categories Menu

IP Address & Headtracking? (Two-Way Setup)

Forum Forums Research Conversation IP Address & Headtracking? (Two-Way Setup)

This topic contains 4 replies, has 2 voices, and was last updated by  Rémi Thériault 2 years, 11 months ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
  • #58

    Rémi Thériault

    Ok, I don’t know if this topic would belong to a “Questions” or “Technicalities” section, but I guess it’s part of a research conversation in some ways.

    So that may seem like a newbie question a bit, but what is the purpose of using the tracking cameras and connecting the two laptops with the wifi router and ethernet cables for the two-way swap setup? I thought as long as the two PS3 cameras are each connected to the opposite laptop with the Oculus, both persons see what the other see, and we’re good to go. So what do the laptop connection and head tracking add?



    Hey Rémi!
    This is actually rather a tech question. I’ll move the topic to that category.

    So additionally to sending the webcam feed from one person to the other, we send the headtracking from one computer to the other in order to make sure the two person’s gaze is synchronized at all times. This is very important, otherwise the embodiment effect breaks.

    So say one person moves their head to the right, without the other following immediatly, then the one that moved will see the image stuck to their left, and the other will see the image moving to the right according to how the person moved.

    Then either the first person reverts to its original position, or the second one moves it’s head to the right, and then both users will see the image centered in front of them. I will make a drawing soon to explain that better 🙂




    diagramThere you go :

    On the drawing is shown the headsets with the mounted cameras and how these are mapped in the virtual space.
    The headtracking of each oculus is mapped to the virtual camera in Unity (this is default behaviour), and is then sent to the other computer over the network.
    The webcam feed is displayed on a plane that is moving aroung the virtual camera according to the other’s headtracking. To get the exact formula take a look at the update() function in the Webcam.cs script, in particular those two lines

    transform.position = otherPosition + otherPose * Vector3.forward * 15; //keep webcam at a certain distance forward from head.
    transform.rotation = otherPose; //keep webcam feed aligned with head

    The plane rotates on 3 axis.
    Note that in the drawing the blue headset and it’s corresponding virtual plane seem to be at a 90º angle, but that’s because the virtual scene on the left should be flipped horizontally

    • This reply was modified 3 years, 7 months ago by  Arthur.
    • This reply was modified 3 years, 7 months ago by  Arthur.

    Rémi Thériault

    Hey Arthur! Thanks for your response and sorry for my late reply!

    Seems like I can’t see the diagram you attached:

    “Your client does not have permission to get URL /Fhj_0-hxPwgUXhnD_GZ_AyByTaP6G4URc3qDIXQ8OGqSIZ36Kp1wg5ZIjKVL9qn34EwxSQ9RT2ON0OowDnlBdXR_yNCVMg7Um-ht=w1920-h925 from this server. (Client IP address:

    Forbidden That’s all we know.”

    Also, the IP address is of the local Ethernet port right?


    Rémi Thériault

    Also, are internet and the touchosc app necessary for the two-way swap? (based on the graph below):

    Body Swap Rider

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.