Azure Kinect Bodytracking using Unity

choi jihwan·2021년 6월 23일
0
post-thumbnail

1. Nuget

- NuGetForUnity의 버전 issue로 인해 Nuget으로만 SDK를 설치하도록 한다.

- 만약 기존 NuGet 패키지가 설치되어 있다면 삭제 한 뒤 시작한다.

- Project에서 Open C# Project 클릭한 뒤 visual studio에서 NuGet을 설치

- 비주얼 스튜디오에서 솔루션 탐색기에 현재 솔루션에 우클릭 후 솔루션용 NuGet 패키지 관리 클릭 (혹은 도구->NuGet 패키지 관리자)

- 검색창에 azure kinect 검색 후 Microsoft.Azure.Kinect.Sensor 과 Microsoft.Azure.Kinect.BodyTracking 각각 버전 확인 후 설치

- https://github.com/microsoft/Azure-Kinect-Samples/tree/master/body-tracking-samples/sample_unity_bodytracking 의 내용에 따라 dll 파일들을 unity의 plugin 폴더에 load 한다. (참고: https://youtu.be/ipjmGzXMzbc?list=PLrv3tbm13Fy1D-wNmJW2ngy0fqjeHXNKq)

- 상위폴더에 dll 파일을 추가하는 내용도 위 Url에서 안내하는 대로 복사한다.

2. Body Tracking

- file->new scene->BodyTracking

- window->asset stor->'KY Masic Effects Free' 다운

https://youtu.be/ipjmGzXMzbc?list=PLrv3tbm13Fy1D-wNmJW2ngy0fqjeHXNKq 내용 참고

3. Code

- Azure Kinect SDK 추가

- Kinect 변수 추가 후 colorTexture, bodyTracking을 위한 변수 추가

- 왼쪽, 오른쪽 이펙트 프리팹 추가

- 키넥트 초기화 및 컬러 데이터 값 가져오는 메소드 추가


- 컬러 이미지 가로, 세로 폭 취득

- 해당 가로, 세로 폭 기준으로 컬러 텍스쳐 생성

- BodyTracking용 트래커 초기화

- 캡쳐된 이미지를 가져와 컬러값과 픽셀값을 얻어온다. 해당 정보를 컬러 텍스쳐에 적용한다.


- 바로 트래킹 값을 가져올 수 있도록 비동기식 코드 작성

  • 무한루프 안에서 키넥트 값을 가져오고 이를 통해 바디 트래킹 값을 가져온다.
  • 가져온 정보를 이용해서 사람이 한명이라도 있다면 해당 메소드 실행

- 사람이 들어온다면 해당 메소드 실행

- 키넥트 정지

4. 동작확인

https://youtu.be/ipjmGzXMzbc?list=PLrv3tbm13Fy1D-wNmJW2ngy0fqjeHXNKq 내용 참고

profile
I don't know what I like yet, so I'll just do what I'm attracted to.

0개의 댓글