azure-kinect-unreal
azure-kinect-unreal copied to clipboard
Unreal freezes and becoming Non Responding when running on rtx 3090/3080/3070/3060
Bug
As described in this issue https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/1125 something in this plugin is not supported on nvidia rtx 30 series.
Solution - rebuild plugin with 1.1.0 sdk; how I did it:
(I read somewhere that v1.1.1 is "broken")
0. Set to windows PATH: C:\Program Files\Azure Kinect SDK v1.4.1\tools and C:\Program Files\Azure Kinect Body Tracking SDK\tools
1. Copy files from C:/Program Files/Azure Kinect Body Tracking SDK/tools to Plugins/AzureKinectUnreal/Binaries/Win64 as shown on Screenshot 1
2. Replace
Plugins/AzureKinectUnreal/ThirdParty/AzureKinectBodyTracking/amd64/lib/k4abt.lib
with
C:\Program Files\Azure Kinect Body Tracking SDK/sdk/windows-desktop/amd64/release/lib/k4abt.lib
3. Replace
Plugins/AzureKinectUnreal/ThirdParty/AzureKinectBodyTracking/include
with
C:/Program Files/Azure Kinect Body Tracking SDK/sdk/include
4. In file
Plugins/AzureKinectUnreal/ThirdParty/AzureKinectBodyTracking/include/k4abttypes.h
set "// default processing_mode for Windows" to
K4ABT_TRACKER_PROCESSING_MODE_GPU_CUDA (instead of K4ABT_TRACKER_PROCESSING_MODE_GPU_DIRECTML)
5. Open unreal project from this repo in UE5, convert in place, go to plugins, choose AzureKinect plugin, and click package plugin, choose folder, close unreal. (You will also need vs studio 2019, with components as shown on picture bellow).
6. For some reason in your new plugin there is no folder called ThirdParty and in Binaries/Win64 thre is no needed binaries. So copy those files again
7. Now replace the old pugin with one you've built.
8. When shipping project, it throws error SECURE CRT: Invalid parameter detected. Add to every file (even .cpp) in your project #define _CRT_SECURE_NO_WARNINGS.
Every time you ship your project unreal wil generate some new files in AzueKinect plugin, so you will need to write #define _CRT_SECURE_NO_WARNINGS again. (For now I don't know how to specify this flag to compiler)
https://github.com/secretlocation/azure-kinect-unreal/issues/16
0.
1.
4.
5.
Also I tested if kinect works at all on rtx 3090 with Unity project https://github.com/microsoft/Azure-Kinect-Samples/tree/master/body-tracking-samples/sample_unity_bodytracking (open uinty project, open any script in vs studio, install via nuget azure kinect body tracking sdk v1.1.0, close everything, run MoveLibraryFiles.bat) (video https://docs.microsoft.com/en-us/shows/mixed-reality/azure-kinect-body-tracking-unity-integration)
SDK and UE5 versions
UE5 | Azure Kinect | AK Body Tracking |
---|---|---|
5.0.2 | 1.4.1 | 1.1.0 |
Can confirm this works
UE5 | Azure Kinect | AK Body Tracking |
---|---|---|
5.0.2 | 1.4.1 | 1.1.0 |
RTX 3070ti
Thank you for your detailed explanation! I could finally open unreal project file in UE5 but even after closing unreal engine, I can see third party folder and binaries/win64 folder in the new plugin folder. Do you have any idea for this error?
Just want to confirm that these steps got Kinect working for me with:
UE5 | Azure Kinect | AK Body Tracking | GPU | GPU driver |
---|---|---|---|---|
5.0.2 | 1.4.1 | 1.1.2 | RTX 2080TI | 516.94 |
5.0.3 | 1.4.1 | 1.1.2 | RTX 3070 | 516.94 |
On the second pc with the 3070, I ran a copy of the upgraded project and did not need Azure Kinect SDK v1.4.1\tools
in path.
I assume 1.1.2 has some improved driver compatibility, looking at these docs.
Could you explain your steps and process because I am unable to get this running properly in UE5, following all of the steps here.
The plugins always say they have modules missing or need to be rebuilt.