툴/유니티

리얼센스 스켈레톤 트랙킹(realsense skeleton tracking)

스튜디오 오버그래픽스 2022. 2. 19. 20:15

2022년2월19일 기준, Windows10, Realsense(d435i)

 

윈도우에서 리얼센스를 사용하고 유니티 엔진에서 스켈레톤 트랙킹하기

 

리얼센스에서 기본으로 스켈레톤 트랙킹을 지원해주지 않음.

그래서 Nuitrack이라는 sdk를 사용해서 스켈레톤 트랙킹을 사용해야함.

무료 라이센스의 경우 3분만 사용가능.

https://nuitrack.com/

 

Nuitrack Full Body Skeletal Tracking Software

Nuitrack is the only cross platform skeletal tracking and gesture recognition solution that enables Natural User Interface (NUI) capabilities on Android, Windows, Linux, and iOS platforms.

nuitrack.com

공식 홈페이지에서 SDK를 다운로드 클릭.

메일주소를 적고 나면 SDK다운로드 깃허브 페이지로 넘어감, 그리고 SDK다운로드.

다운로드받으면

nuitrack-sdk-master\nuitrack-sdk-master\Platforms

경로에서 설치파일 실행해서 설치.

설치후 다시 시작하라고 나오면 다시 시작.

 

C:\Program Files\Nuitrack\nuitrack\nuitrack\activation_tool

설치하면 일반적으로 위 경로에 라이센스 활성화 프로그램이 있음.

위에서 부터 버튼들

1.nuitrack에서 사용가능한 센서가 연결되어있을시 리스트 새로고침 해주는 버튼

2.라이센스 활성화 버튼

3.nuitrack테스트 실행 버튼

 

공식홈페이지에서 무료 라이센스 요청하고 메일로 라이센스 키 받아서 라이센스 활성화 프로그램에 입력하기

 

*라이센스는 해당 PC에 적용된다기보다 해당센서에 적용되는 개념인거 같음? 센서를 여러개쓰면 라이센스 여러개 필요한거인듯?

 

Try Nuitrack!을 누르면 스켈레톤 트랙킹 작동 확인가능.

 

유니티에서 새 프로젝트 만들고

Nuitrack에 들어있는 NuitrackSDK.unitypackage를 유니티 새 프로젝트에 임포트 시켜서 사용!

예제 씬에서 잘 작동하는 것 확인! 끝!

 

 

 

 

 

 

 

 

 

*라이센스 등록시에 "license.json: cannot open file"라는 에러가나오는 경우

라이센스 등록 응용프로그램인 "Nuitrack.exe"를 관리자 권한으로 실행할것

 

 

 

 

 

 

*유니티에서 플레이 하자마자 튕기는 경우

라이센스 등록시에 에러가 나와서 "Nuitrack.exe"를 관리자 권한으로 실행이 필요했던 경우면 대부분 발생하는 문제인듯.

마찬가지로 유니티도 관리자 권한으로 실행해서 해결될수 있음.

 

관련내용 포럼

https://community.nuitrack.com/t/unity-crashes-with-nuitrack-on-play/1992

 

Unity crashes with nuitrack on play

Hello, i’m using a windows 64 bit pc with: intel realsense d435 (the viewer works) nuitrack (trial licenses, activation tool(version 0.29.0) and nuitrack_sample works if i run them as administrator) Unity(version 2019.3.0f6) with nuitrackSDK to try to bu

community.nuitrack.com

오른쪽버튼 눌러서 관리자 권한으로 실행 하거나

속성 - 호환성 탭에 들어가서 '관리자 권한으로 이 프로그램 실행'으로 설정해도 가능.

(위 사진처럼 Unity Hub 바로가기 파일에 설정해도 무관)

+빌드해서 실행했을 경우 튕기면 마찬가지로 관리자 권한으로 실행

 

 

 

 

 

 

 

*유니티에서 에러 나오는 경우

NuitrackException (TerminateException): WARNING: Cannot load library module: C:\Program Files\Nuitrack\nuitrack\nuitrack/middleware/NuitrackModule.dll
ERROR: TBB version mismatch: runtime library version is 9102, but the application was compiled with the 11102 version!

라고 에러가 나오는 경우

 

https://github.com/3DiVi/nuitrack-sdk/blob/master/doc/Troubleshooting.md

 

GitHub - 3DiVi/nuitrack-sdk: Nuitrack™ is a 3D tracking middleware developed by 3DiVi Inc.

Nuitrack™ is a 3D tracking middleware developed by 3DiVi Inc. - GitHub - 3DiVi/nuitrack-sdk: Nuitrack™ is a 3D tracking middleware developed by 3DiVi Inc.

github.com

관련 트러블슈팅 페이지

nuitrack설치한 경로

C:\Program Files\Nuitrack\nuitrack\nuitrack\bin

이 위치에 tbb.dll파일을 사용하는 유니티 버전 에디터 경로에 가서 덮어씌우기

 

 

 

 

 

 

 

*HDRP에서 첫실행시에만 유니티 카메라 안나오는 문제

HDRP라서 생긴 문제인지는 모르겠지만, HDPR환경으로 작업중에 나타난 문제.

똑같은 씬에서 실행한거지만 맨처음 실행하면 카메라에 나오는 화면이 단색으로 뭉개져서 나옴.

플레이 끄고 다시 플레이하면 정상적으로 나옴. 한번 플레이 하고 꺼야 카메라가 정상적으로 나오는 현상.

에디터에서는 두번째 실행하면 해결 되지만 빌드한 경우에는 해결이 안됌

'Nuitrack Manager'스크립트에서 'Async Init'을 체크하면 문제 해결됌.

 

 

 

 

 

 

 

 

 

 

*2022년 2월 19일 기준 NuitrackSDK.unitypackage문제?

2021년에 했을때는 분명 문제 없었던거 같은데 이번에는 유니티에서 이런 오류들이 나오고 예제씬을 열어도 Missing Prefab이라고 나오는 오브젝트들도 다수 있었다.

2021년에 nuitrack쓰면서 백업해둔 NuitrackSDK.unitypackage 파일이 있어서 보니까 74mb인데 이번에 받은거는 27mb로 많이 다른거 같다.

그래서 걍 2021년에 썼던 NuitrackSDK.unitypackage를 임포트 하니까 문제 없어서 이번에 받은 파일은 안썼음.

 

 

 

 

+에셋 스토어 Realsense 트랙킹 샘플

" Intel RealSense D400-series도 지원합니다. " 라고 명시 되어있음.

https://assetstore.unity.com/packages/3d/characters/kinect-v2-examples-with-ms-sdk-18708?aid=1101lvqJ5 

 

Kinect v2 Examples with MS-SDK | 3D 캐릭터 | Unity Asset Store

Elevate your workflow with the Kinect v2 Examples with MS-SDK asset from RF Solutions. Find this & other 캐릭터 options on the Unity Asset Store.

assetstore.unity.com

 

 

스튜디오 오버그래픽스
정준희 Technical Artist
ovgrps@gmail.com