본문 바로가기
아니때려치치마(unity)

유니티) kinect v2 gesture builder 사용해서 제스쳐 인식하기

by 때려쳐아니때려치지마 2022. 4. 3.
반응형
  1. 제스쳐 녹화하기
  2. 제스쳐 빌드하기
  3. 유니티에 넣어서 확인하기

1. 제스쳐 녹화
https://www.microsoft.com/en-us/download/details.aspx?id=44561

Download Kinect for Windows SDK 2.0 from Official Microsoft Download Center

Important! Selecting a language below will dynamically change the complete page content to that language. Download The Kinect for Windows Software Development Kit (SDK) 2.0 enables developers to create applications that support gesture and voice recognitio

www.microsoft.com

위 링크에서 sdk를 다운받습니다
다운이 다되면 kinect studio라는 프로그램을 킵니다

상단 카테고리에서 record를 클릭해서 키넥트와 연결하고 녹화를 한다
한 동작을 여러번 반복해서 동작의 범위를 넓게 해주는게 좋다

2. 제스쳐 빌드하기

그다음에 visual gesture builder 를 켜줍니다.
file > new solution
새 솔루션을 생성한다

생성된 솔루션 우클릭
creat new project

Gesture Name : 제스쳐명
Gesture Type : discrete = 단일동작
continuous = 연속동작
Body Side : 왼,오 구분할지 아니면 구분없이 전부 인식할지 선택
Training Settings : 등록할 제스쳐 몸통 설정
Duplicate and Mirror Data During Training : 왼오 같게할래??
Use Hands : 손동작 쓸거니?
Ignore Left Arm : 왼손버릴까?
Ignore Right Arm : 오른손 버려?
Ignore Lower Body : 하반신 ㄴㄴ?

이렇게 인식될 몸통만 표시됨

생성된 프로젝트에서 우클릭
add clip 을 해서 키넥트 스튜디오를 통해 녹화된 그 뭐야 xef 파일을 가져온다

불러온 클립을 클릭하면 영상이 나온다

내가 등록하고자 하는 제스쳐 부분에서
shift를 클릭한후 드래그 하여 영역설정을 해준다.
그후 우측에 변수의 상태를 true로 입력하여 해당 제스쳐상태를 입력한다 > 동작구분을 위함

동작인식의 원활함을 위해 여러 버전으로 진행한 동작을 전부 구분해준다
다 되었다면 동영상 클립명(프로젝트 아래 불러온 clip)을 우클릭 > save 하여 저장한다

그후 프로젝트를 우클릭한다 > build 를 눌러 해당 파일을 gba로 빌드한다

저장해주면 gba파일로 저장이됩니다

그러면 빌드 진행상황이 나오고
success가 뜨면 성공적으로 빌드된것임

3. 유니티에서 사용하기
https://assetstore.unity.com/packages/3d/characters/kinect-v2-examples-with-ms-sdk-18708
로가서 해당 에셋을 다운받는다
3만원정돈데
3만원에 이모든걸 쓸수있다니 아주 해피하고요, 짜릿합니다.

데모씬을 봐야합니다
공식에서 만들어준거 그대로 갖다쓸 예정이고 작정입니다.
visualGestureDemo를 켜줍니다
위에 다른 kinect gesture demo1,2는 바디본 위치를 통해서 제스쳐를 인식하는 데모씬입니다
팔 각도로 제스쳐인식하는것도 해봤는데 비주얼 제스쳐인식이 훨 나아요

씬을 열면 kinectController를 클릭하면 키넥트 관련 스크립트를 볼수있습니다.
kinect manager는 전반적인 키넥트 세팅을 할수있고 모든 데모에서 공동으로 사용합니다.
visual gesture manager를 보면 비주얼 제스쳐 관련 내용을 볼수있습니다

이 함수가 제스쳐 등록임

이부분을 따라하면댐 굿
대충 빌드된 파일에서 제스쳐 정보를 찾아서 저장하겠다는 내용

그리고 이게 동작인식부분인데 이건 어 찾는거고
사람이 들어왔다 ? 제스쳐 형식별로 정확도 확인, 현재 제스쳐 저장
사람 안들어왔다? 초기화

여기가 프린트되는 부분임
제스쳐 인식이 됐다 > 형식별로 ui에 현상황 보내줌 굿

반응형

댓글