프로젝트

Unity - Azure Kinect 연동하기

Multitab 2022. 11. 22. 13:39

Unity 3D에서 Azure Kinect 디바이스를 활용해 바디트래킹을 해보겠다. 해당 글에서는 기본적인 Azure Kinect 펌웨어 셋팅과 연결, 등 기본적으로 수행되어야하는 과정을 건머뛰었음을 알린다. 관련 안내는 다음과 같다

  1. Azure Kinect의 유니티 SDK를 받아오려면 Nuget이라는 패키지 관리 툴을 설치해야한다. 아래 링크에서Nuget Unity를 최신버전으로 받아와 유니티에 임포트해준다.
  2. Nuget을 임포트 하고 나면 유니티 에디터 상단 바에 "NuGet" 항목이 추가로 생겼을 것이다. 해당항목에서 "Management NuGet Packages"를 선택해준다.
  3. 이후 나오는 창에서 검색창에 "Kinect"를 검색해서 나오는 목록 중
    • Microsoft.Azure.Kinect.Sensor
    • Microsoft.Azure.Kinect.BodyTracking

을 선택해준다.

  1. 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 패키지가 배치되었을것이다.
  2. 아마 현재 상황에서 실행한다면 오류 로그가 뜨면서 작동하지 않을 것이다. 지금부터는 유니티 프로젝트 파일에 키넥트 구동에 필요한 dll 파일을 배치할 것이다.
    1. /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" 이다.
  1. 이제 (프로젝트 이름)이 해당하는 (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" 파일을 붙혀 넣는다.
  1. 이제 모든 SDK 설정은 마쳤다. 지금부터 바디트래킹 개발자체는 가능하지만 마소에서 제공하는 프로젝트 파일을 이용할수 있다.
  2. 예제 프로젝트를 참고 하며 원하는 기능을 개발하면 되겠다.

'프로젝트' 카테고리의 다른 글

Unity3D - Leapmotion 연동하기  (0) 2022.11.21
Flutter-PostgresSQL 연동하기  (0) 2022.10.10
Flutter를 해보자  (0) 2022.10.09
제1회 SW-Up 경진대회 참가  (0) 2021.01.31