Hi, I have just bought Nuitrack and so far so good.
I would like to mix RGB stream using Color Frame Canvas prefab with Render Mode set to Screen Space - Camera. Now I would like to match the character in scene, avatar driven by Nuitrack skeletal tracking with this image in a way they match. Basically, I would like to put cloths simulated in Unity onto video image of people. How can I do such a thing?
To do this, you have to change some parameters of the camera on the scene:
Set the camera to (0,0,0) and rotate it by 180 degrees(0,180,0);
If the model size is incorrect, change FOV of the camera;
Please use the model with direct mapping of joints. Such model is used on our RiggedModel2 scene. Make sure that your Canvas doesnāt overlap the model.
Iām creating something similar where I need joints in 3D space to line up with the person on the RGB feed in the back ground but instead of controlling an avatar weāll be pinning things to them.
Iāve made sure Iām orienting the joints in the same way you do in your example and followed the rest of the advice above but Iām having a real struggle getting them to line up.
Iāve also noticed the head joint doesnāt rotate when I turn my head which is a problem since the app Iām making needs to pin armour and a helmet to the user. Is this correct behaviour? If so I assume my best way around this would be to use the skeleton head joint for the position of the helmet and use your face tracking API to get the face angle to rotate it.
Iām jumping ahead though there, because if I canāt get the skeleton joints to line up with the user in the RGB feed itās not going to work anyway.
Iāve ran the demo project you posted above with the Unity Chan avatar and get the same problem, even after tweaking the camera position/rotation/FOV to try and get it to line up. Anything I do that gets the wrist joints placed wide enough apart to line-up, results in all the other joints then being out of place.
I feel like the points are never going to match properly because the image is being stretched to fill the screen. Is that the case or have you had this demo working perfectly? Maybe I need to scale the skeletons parent object by the same scale the image is being stretched?
If you have any advise you could give to solve this problem Iād be very grateful.
Iām using a Realsense D415 with this if that makes a difference.
Hi all,
Iām also trying to align the skeleton with the RGB image in Unity but Iām not able to get it right.
Iām using a RealSense D435i depth-sensing camera.
I have the āDepth2ColorRegistrationā in ānuitrack.configā set to ātrueā.
I set the camera horizontal FOV to 69.4 and Iām using a RawImage as described in the āDisplaying Skeletons on an RGB Imageā tutorial.
Iām using the āAssets/NuitrackSDK/Tutorials/Avatar Animation/Scripts/RiggedAvatar.csā script that I think is the one used in āRiggedModel2.sceneā.
Iām using a model from MakeHuman with a CMU compliment rig and rendered using a āSkinned Mesh Rendererā.
The skeleton is working fine, itās just the alignment that Iām not getting right. Any more suggestions?
Perhaps the issue is connected to positioning in RiggedAvatar.cs (try to use the calibration script from Nuitrack SDK at startup of your project to align the skeleton)
The set FOV of the camera does not match the FOV of the sensor.
RGB and Depth FOV are different for different sensor models, and Nuitrack doesnāt have access to FOV of a sensor. Unfortunately, we donāt have such tutorials (for a 3D model).
Yes, this should align depth frames and color frames, however, itās still necessary to fine-tune a sensor and a model to match it with the background. Weāll consider making a tutorial on aligning RGB and Depth.
In order to improve the resulting point cloud, we recommend you to turn on depth-to-color registration because a depth map doesnāt accurately match an RGB image, therefore, they should be aligned. To turn on depth-to-color registration, open nuitrack.config from the folder <nuitrack_home>\data and set DepthProvider.Depth2ColorRegistration to true.
At the moment, we are preparing a tutorial āRendering world object behind userā.
In this tutorial, you will see how to recreate a real-world environment in Unity with the correct depth map, as well as the ability to interact with objects on the stage ( AR ).
Scenes with examples from the tutorial will be available in the latest version of the Nuitrack SDK.