Can't find out how to properly setup Nuitrack

Hi,

So my company bought a Intel Realsense d415 and we want to create a demo with Unity3D, C# & Nuitrack.

I have downloaded and imported the package, however if I try to run anything even sample scene’s I get: DllNotFoundException: libnuitrack

I have followed this video below to put the environment path so that should be correct.

I also checked my nuitrack.net.dll and have put it on any platform in the inspector. What else do I need to do besides importing the package and setting the environment variable?

EDIT: When i start a scene right now I get the errors it can’t find the DLL and the scene itself doesn’t do anything. No camera is displaying/working

Hi pk,

Before starting with unity … I would suggest you first get the sample in the runtime working.

The error you are seeing is because nuitrack can’t locate the files it needs.

The sdks and the runtime are different packages … You need to install both ideally.

First start with the realsense sdk … Download it from Intel … 2.15 is the release that is matched to nuitrack … Download and install this …

Run the realsense viewer … It will likely tell you to update your firmware …

Do this first … As Intel ships old firmware.

You should see an image and such from the sensor.

Make sure also that the viewer reports a connection to USB 3.0 or preferably USB 3.1. … Nuitrack requires this … Not USB 2.0.

Next the nuitrack runtime … Download and unpack into a folder path that had visibility to all users … Do not unpack it to your desktop folder or user folders.

I would suggest C:\nuitrack\ is best.

Then make sure the permissions on the folder allow everyone full read write execute access.

Then set the environment variable and the path as described in the install notes … Again making sure that you set these to at system level not user level.

If you have unpacked the runtime correctly the environment variable should point to

C:\nuitrack\

The path should be set to

C:\nuitrack\bin\

There should also be a data folder and an activation folder in there.

Go to the activation folder and run the nuitrack.exe … It will let you test if things are setup correctly.

If everything is good you should see an image from the sensor during the test

Now download and install the nuitrack sdk … And again put it in a public path … C:\nuitrackSDK\

Now you should be setup to start testing with unity.

Westa

2 Likes

Hi westa,

First of all thank you so much for the detailed steps. I did all that yesterday but must’ve overlooked something as it’s working now. So thank you!

However, In the sample scene PointCloud I get a view and see myself. So that seems to be working, but the other scenes don’t. The camera turn on (If i look at the camera the red light is on) but it doesn’t recognize me. In the segment example scene, it keeps saying user not found. Other scenes don’t work either except pointcloud.

Does my whole body need to be visible? As only my upperbody is in the camera view. (I’m testing behind my PC) I was excited to test the gallery example with the hand gestures for example, but it doesn’t do much… I checked with debugging and the sekeltondata check from CurrentUserTracker is reached but is always 0. I’m testing in scene, not actually building the project by the way.

Patrick

PS: I also wrote this on the intel forum, but hoping you might respond quicker here I’m also posting it here.

Have a look at the nuitrack docs - it talks about setup of sensor.

Basically - nuitrack wont resolve until it recognises pretty much a full body.

so 1.5meter is kinda the sweet spot

I tested it just 2 minuts ago and it indeed works with full body. Is there no way to change this? It’s kinda anoying to have to stand-up and reposition my laptop etc when I test. I’m in a full office and this isn’t really ideal

Nuitrack is a skeletal body tracker - it looks for a BODY - there have been requests for an upper body only version - but to date its still very much the case of needs to see all but a full body in its current config

Westa

1 Like

Dear Westa,
I have successfully installed nuitrack on one of my windows machines. It worked out perfectly. Now I wanted to install nuitrack on one of my microsoft surface pro devices and ran into serious problems.
I followed the installation instructions but when I started the nuitrack.exe the nuitrack_sample application crashed instantly. The windows build version is 1803 with the same build number on both machines. I can’t find out where I turned wrong. All environment variables echo correctly. Any hints what else I could test?
Kind regards

From memory - out of the box some versions of the Surface Pro had some potential issues with OpenGL.

I would possibly start there with your investigations - maybe also look at the windows event logs to see if there is any error being reported.

Westa

Dear Westa, thank you for your reply. I checked the OpenGL Version on my surface machine. It is supporting version 4.4

I tested OpenNi using my Orbbec Astra device and it worked fine. So I think it is not related to openGL. However, I checked the windows event log. The related error was:
Name of error module: SenDuck.dll Version: 2.0.9.1
in Install\nuitrack\bin\openNI2\Drivers\SenDuck.dll

On my other machine Version 2.0.1.5 was installed. I copied the lover version dll to my surface machine resulting in the exact same error.

I really hope you can help me out. Any help is greatly appreciated.

Reverting to a lower version of often not a good idea - especially if nuitrack requires some feature of the more recent version.

I believe this dll relates to the Asus Xtion2 sensor - others have reported similar issues in the past on other forums,

You might want to have alook at the notes here -

https://stackoverflow.com/questions/50054911/openni2-cannot-recognize-asus-xtion2-camera

Westa

Dear Westa,
o.k. I checked the other forums. This is weird anyway since I do not use the specified sensor but a RealSense D435 and Orbbec Astra. Could this issue relate to the build in Depth sensors in the surface devices?

Could I just delete this DLL?

Dear Westa,
deleting the SenDuck.dll did the trick. I suppose that this is somehow interfering with the sensor that comes with the surface devices (for Windows Hello).
Tank you for the help tough.

Hi
I’m getting the same error DllNotFoundException: libnuitrack whenever I try to start it. I have followed your step-by-step walkthrough (thank you @Westa for that btw) and still haven’t gotten it to work. The Realsense drivers and Viewer work, I even got my hands on a Unity example (without Nuitrack) but this libnuitrack problem is driving me crazy
I’ve tried different settings in Unity and moved all files. As far as I understood it, for most it’s a problem of access but I’ve moved the runtime, the sdk and the unity project to C:
The only issue I could imagine is that i’m still working with the trial version. Does it not work with the trial?
If that’s not the case, what else could it be?

It does work with the trial. I’m developping for the trial atm. Do the nuitrack examples work outside of Unity?

You’re talking about nuitrack_sample etc? nuitrack_c11_sample and nuitrack_sample work, nuitrack_ni_sample doesn’t open
With the Unity examplex I get the same error

Can’t I somehow manually assign the file? I mean it’s clearly there in the bin folder

The nuitack initialize works by looping thru blocks of different code to attempt to get a match for the sensor you have installed.

Iy this case it is possible that removing the SenDuck.dll would work - in theory nuitrack will find that it cant connect to the Asus Xtion2 and keep going … NOTE though that this does not always work.

Ideally - Nuitrack need to work out why there would be an error occuring.

Westa

I finally found the solution:
I had the environment variables set up wrong :see_no_evil:
thanks for your help