유니티) kinect v2 gesture builder 사용해서 제스쳐 인식하기
- 제스쳐 녹화하기
- 제스쳐 빌드하기
- 유니티에 넣어서 확인하기
1. 제스쳐 녹화
https://www.microsoft.com/en-us/download/details.aspx?id=44561
위 링크에서 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 : 하반신 무시
토글로 설정하면 이렇게 인식될 몸통만 UI로 표시됩니다.
생성된 프로젝트에서 우클릭
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에 현상황 보내주는 부분