Unity 3D에서 Azure Kinect 디바이스를 활용해 바디트래킹을 해보겠다. 해당 글에서는 기본적인 Azure Kinect 펌웨어 셋팅과 연결, 등 기본적으로 수행되어야하는 과정을 건머뛰었음을 알린다. 관련 안내는 다음과 같다
- Azure Kinect의 유니티 SDK를 받아오려면 Nuget이라는 패키지 관리 툴을 설치해야한다. 아래 링크에서Nuget Unity를 최신버전으로 받아와 유니티에 임포트해준다.
- Nuget을 임포트 하고 나면 유니티 에디터 상단 바에 "NuGet" 항목이 추가로 생겼을 것이다. 해당항목에서 "Management NuGet Packages"를 선택해준다.
- 이후 나오는 창에서 검색창에 "Kinect"를 검색해서 나오는 목록 중
- Microsoft.Azure.Kinect.Sensor
- Microsoft.Azure.Kinect.BodyTracking
을 선택해준다.
- Nuget을 통해 SDK가 설치되면 다음 예시 코드로 cs파일을 만들어 실행시켜본다
- 애저 키넥트 (Azure Kinect) / Unity 이용해서 세팅하기
- 다만 이때 using Microsoft.Azure.Kinect.Sensor에서 해당 namespace를 찾을수 없다고 오류가 발생할수 있는데 내부적인 sln과 유니티 내부파일 문제이다. 이때는 프로젝트 파일을 몇번 껐다 켜보고 sln 파일을 재빌드 하면 어느 순간 오류가 사라져있을 것이다.
- 문제해결)Unity).csproj 파일이 생성되지 않을 때
- 그러면 프로젝트 /Asset 폴더에 Package 폴더가 생기면서 내부에 "Microsoft.Azure.Kinect.BodyTracking.1.1.2", "Microsoft.Azure.Kinect.BodyTracking.ONNXRuntime.1.10.0", "Microsoft.Azure.Kinect.Sensor.1.4.1" 폴더가 생기면서 SDK 패키지가 배치되었을것이다.
- 아마 현재 상황에서 실행한다면 오류 로그가 뜨면서 작동하지 않을 것이다. 지금부터는 유니티 프로젝트 파일에 키넥트 구동에 필요한 dll 파일을 배치할 것이다.
- /Asset 폴더 내부에 "Plugins"폴더를 생성하고 "C:\Program Files\Azure Kinect Body Tracking SDK\tools" 폴더 내에 있는 모든 .dll 파일들을 복사해서 "Plugins" 폴더에 붙혀넣는다.
- 붙혀 넣는 파일 中 핵심적인 파일은 "depthengine_2_0.dll", "k4a.dll", "k4abt.dll", "cudnn_cnn_infer64_8.dll", "cudnn_ops_infer64_8.dll" 이다.
- 이제 (프로젝트 이름)이 해당하는 (Asset 폴더가 포함되어 있는 경로) 폴더에도 "C:\Program Files\Azure Kinect Body Tracking SDK\tools"에서 몇몇 파일을 복사 해야한다.
- "cudnn_cnn_infer64_8.dll", "cudnn_ops_infer64_8.dll", "dnn_model_2_0_op11.onnx" 파일을 붙혀 넣는다.
- 이제 모든 SDK 설정은 마쳤다. 지금부터 바디트래킹 개발자체는 가능하지만 마소에서 제공하는 프로젝트 파일을 이용할수 있다.
- Azure-Kinect-Samples/body-tracking-samples/sample_unity_bodytracking at master · microsoft/Azure-Kinect-Samples · GitHub
- 위 링크에서 파일을 다운로드 받아서 "body-tracking-samples" -> "sample_unity_bodytracking" 폴더에서 프로젝트 경로를 지정해 실행해본다
- Readme.md에서 안내되는 대로 셋팅을 하거나 다음 영상을 따라 셋팅해 구동해본다.
- Azure Kinect Body Tracking Unity Integration | Microsoft Learn
- 예제 프로젝트를 참고 하며 원하는 기능을 개발하면 되겠다.
'프로젝트' 카테고리의 다른 글
Unity3D - Leapmotion 연동하기 (0) | 2022.11.21 |
---|---|
Flutter-PostgresSQL 연동하기 (0) | 2022.10.10 |
Flutter를 해보자 (0) | 2022.10.09 |
제1회 SW-Up 경진대회 참가 (0) | 2021.01.31 |