Nuitrack with MagicLeap


#1

Hi,

Will the Nuitrack SDK work with one of the supported depth sensor connected to MagicLeap VR headset? If not what would I need to do to make it work? Any help is much appreciated. Thanks.


#2

Hi Prajwal,

Do you mean the Magic Leap One device or Leap Motion?


#3

Hello Olga,

I mean Magic Leap One device. Any pointers on how I can proceed? Much appreciated. Thanks


#4

We haven’t worked with Magic Leap One but we have a solution for similar cases. This solution presupposes that you have a TVico device because Wi-Fi connection is required. You can see more info about TVico here and here.

  1. Import NuitrackSDK.unitypackage from Nuitrack SDK to your Unity project.
  2. In Unity, find the component NuitrackManager and select the “WiFi-connect [TVico]” type of connection.
  3. Build the scene.
  4. Connect Magic Leap One to TVico via Wi-Fi. As a result, you’ll be able to receive the skeleton data from TVico via Wi-Fi.

Based on our experience, this option should work fine.


#5

Hello Olga,

Thank you for your suggestion. Before we buy the TVico, can you please share some insight on 4. Once Magic Leap One is connected to TVico through wifi, how does the skeleton data transfer work? What exactly is transferred? Is it just the coordinate points, so the video stream from the TVico as well? I don’t think we would be able to use TVico camera instead of Magic Leap’s to show the skeleton in proper position. Also, what VR device was the similar solution implemented in? Please let me know. Thank you!


#6

Skeleton data is transferred through a TCP socket. Skeleton data means the information about joints. Transfer of all modules data requires Nuitrack.apk installed on an Android device.

This solution is suitable for Mobile VR:

  • TVico + Samsung smartphone + GearVR
  • TVico + other Android smartphone + cardboard

Also also Nuitrack can be used for desktop VR:

  • any sensor + PC + Oculus / HTC Vive

#7

For connection with an external headset I would like to place the camera in the origin with 0 rotation. However, the example scripts all have the camera flipped by 180degree around y. How do I need to change the code eg. in the simple Avatar demo, so that the camera is at 0,0,0 with rotation 0,0,0 and the avatar is still visible and the joints correctly placed?


#8

Hi cwule,

The rotation is set in the CamRotation.cs script:

void Update()
...
cameraRotation.eulerAngles = cameraRotation.eulerAngles + new Vector3(0, 180, 0);
vrCamera.eulerAngles = cameraRotation.eulerAngles;

You just need to delete Vector3(0, 180, 0).