본문 바로가기

개발세발

키넥트 v2 for Windows와 유니티 연동


마이크로소프트는 키넥트2 유니티 플러그인 에셋도 만들어놓았다.


키넥트v2 툴 지원 페이지 에서


1. 키넥트v2 SDK 설치

2. 키넥트v2 유니티 플러그인 다운로드

3. 유니티 프로젝트 만들기

4. 키넥트v2 유니티 플러그인 에셋 불러오기 (Assets - Import Package - Custom Package... 등)


이렇게 하면 유니티에서 바로 키넥트v2를 이용할 수 있다.


Windows.Kinect 네임스페이스를 사용할 수 있으며, 여기 속에 키넥트 관련 모든것이 들어있다.



우선 센서를 불러와서 연 후, 센서로부터 오는 프레임마다 담겨있는 데이터를 이용한다.


간단한 예제를 첨부한다.

두 손의 위치를 받아온 후 각각 게임오브젝트 위치에 넣어준다. 손의 움직임을 트래킹한다고 보면 됨.

단, 테스트용으로 짠거라서 마지막으로 인식된 한 사람의 손의 위치만 받아온다.



대충 맨 아래에 있는 PointToVector3 함수를 본인의 게임에 맞추어 잘 뜯어고치면 된다.

foreach문 내부를 좀 더 잘 프로그래밍하면 여러개의 몸이 인식됐을 경우도 처리할 수 있겠지.

모든 조인트를 얻어올 수 있으므로 다른 부위로 게임을 조작하는 것도 가능하다.

Body에는 Joint 말고 JointOrient도 있으므로 이걸 잘 활용하면 사람의 움직임과 케릭터의 움직임을 동기화시킬 수도 있겠다.



우리 모두 화이팅하자.