본문 바로가기

유니티(Unity)/Hololens2

[Hololens 2] 홀로렌즈 2 - 유니티 빌드, 객체 손으로 집기

세팅을 끝냈으니 손 상호작용 예제(그 중에서도 손으로 집기)를 만들어서 테스트 해보겠습니다.

 

이 글은 기본적으로 마이크로소프트의 튜토리얼을 따라갑니다.

https://learn.microsoft.com/ko-kr/training/modules/learn-mrtk-tutorials/

 

Mixed Reality Toolkit 소개 - 프로젝트 설정 및 손 상호 작용 사용 - Training

이 과정에서는 MRTK의 모든 기본 요소에 대한 기본적인 내용을 소개합니다.

learn.microsoft.com

 

[이전 글]

[AR/Hololens 2] 홀로렌즈 2 개발 준비

 

[AR/Hololens 2] 홀로렌즈 2 개발 준비

이번에는 홀로렌즈를 사용하는 방법을 익히고자 합니다. 홀로렌즈는 마이크로소프트에서 만든 AR 기기로, VR 헤드 기어처럼 머리에 착용하는 고글입니다. 이 홀로렌즈(정확히는 홀로렌즈2)와 유

ggjjdiary.tistory.com

 


 

 

가장 먼저 File - New Scene을 눌러 MRTK를 위한 씬을 새로 만들어줍니다. 새로운 씬은 Baisc(Built-in)으로 하고 Create를 눌러 생성합니다.

 

 

메뉴 모음에서 Mixed Reality - Toolkit - Add to Scene and Configure... 을 눌러 MRTK를 씬에 추가합니다.

 

 

File - Save as 를 눌러 씬을 저장해주고 본격적으로 작업에 들어갑니다.

 

객체를 손으로 집기

간단하게 손으로 집어 움직이는 상호작용을 만들어보겠습니다.

 

상호작용을 위한 객체를 먼저 생성해줍니다.  GameObject - 3D Object - Cube를 눌러 씬에 3D 큐브를 하나 배치합니다.

 

유니티에서 길이는 미터단위입니다. 즉, 현재 큐브는 1m x 1m x 1m의 크기를 가집니다. 이를 조금 줄여줍니다. Cube를 누르고 Inspector - Transform - Scale을 조절해줍니다. 저는 0.1로 맞췄습니다.

 

 

집기 상호작용을 위해서는, Collider와 2개의 스크립트가 필요합니다.

Collider는 기본적으로 세팅이 되어있기 때문에, Add Component를 눌러서 집기 상호작용을 위한 스크립트를 추가해줍니다.

 

먼저 Object Manipulator를 추가해줍니다. Object Manipulator는 한 손이나 양 손을 이용해 오브젝트를 이동, 크기 조절, 회전할 수 있게 합니다. Object Manipulator를 추가하면 자동으로 Constraint Manager가 추가됩니다.

 

 

같은 방법으로 NearInteractionGrabbable도 추가해줍니다. NearInteractionGrabbable은 가까운 객체를 잡을 수 있게 해줍니다.

 

 

아래와 같이 스크립트 3개가 만들어져 있으면 성공입니다.

 

 

기본 설정이 끝났으니 홀로렌즈에 연결해서 테스트를 해볼 차례입니다.

 

File - Build Settings를 눌러 Bulid Settings 창을 열고, Add Open Scenes를 눌러서 조금 전 만들었던 씬을 추가해줍니다. 

 

 

Platform이 Universal Windows Platform으로 설정되어 있는지 확인한 후 Build를 눌러줍니다. 경로를 지정해주고 빌드를 시작합니다.

 

 

빌드가 끝나면 위와 같이 여러 파일들이 생기고 비주얼 스튜디오 솔루션 파일이 생깁니다. 솔루션 파일을 열어줍니다. 솔루션 탐색기에서 프로젝트 명(Universal Windows)를 우클릭 해서 시작 프로젝트로 지정해줍니다.

 

 

빌드 구성을 각각 Release, ARM64, 원격 컴퓨터로 지정해줍니다.

 

 

그리고, 원격 컴퓨터 옆의 확장 버튼을 눌러서 디버그 속성을 열어줍니다. 구성 속성에서 디버깅을 누르고 시작할 디버거를 원격 컴퓨터로 지정합니다. 그리고, 컴퓨터 이름에는 홀로렌즈의 아이피(설정 - 업데이트 및 보안 - 개발자용 에있는 아이피)를 지정합니다.

 

 

빌드를 진행하고(또는 디버깅 하지 않고 시작) 정상 작동하는지 테스트 해봅니다.