-
[Unity/XR Interaction Toolkit (VR)] 2. VR 세팅하기학부의 잔재 2024. 9. 11. 12:31반응형
2. VR 세팅하기
XR Interaction Toolkit에서 사용되는 게임 오브젝트는 크게 두 가지로 분류합니다. Interactor과 Interactable이 그 두 가지에 해당합니다.
Interactor는 말 그대로 상호작용을 일으키는 오브젝트입니다. 쉽게 예를 들면, Interactor가 어떤 물체에 상호작용을 일으켜 특정한 물체의 위치, 크기, 회전 등의 특징을 바꿀 수 있습니다.
Interactable은 상호작용이 가능한 오브젝트입니다. 위의 예에서 Interactor가 어떤 물체에 상호작용을 일으킨다고 말했는데, Interactable은 여기서 '어떤 물체'에 해당합니다.
Scene 내에서 Interactor가 Interactable과 서로 상호작용하기 위해서는 Interaction Manager가 필요합니다. Interaction Manager는 우리가 직접 참조하는 것도 가능합니다. 또한 Scene에 Interaction Manager가 존재하지 않는다면, Interactor와 Interactable 게임 오브젝트를 만들 때 기본적으로 Unity에서 새로운 Interaction Manager가 생성되기 때문에, 튜토리얼에서는 Interaction Manager에 대해 크게 걱정하지 않으셔도 괜찮습니다.
XR Interaction Toolkit을 사용할 때, Interactor와 Interactable이라는 두 개의 큰 프레임으로 게임 오브젝트를 분류하면, 보다 쉽게 XR Interaction Toolkit에 적응할 수 있습니다. 본격적으로 VR Setup을 시작해봅시다 +_+
2-1. VR Camera 세팅하기
우선 VR 기기를 세팅할 Scene을 간단하게 세팅하겠습니다. Scene은 바닥만 있다면, 자기 마음대로 세팅해도 큰 상관이 없기 때문에, 여러분 마음대로 진행하셔도 좋습니다. 저는 이전에 블로그에서 포스팅 한 유니티 튜토리얼 내용을 토대로 Scene을 세팅하였습니다. 세팅한 Scene은 다음과 같습니다.
그래도 혹시나 해서 리소스 파일 공유합니다 ~_~. 리소스 파일 내에 [Prefab] 폴더에 Village 참고하시면 됩니다.
[실습 1] Scene에 VR 카메라를 만들자.
① 하이어라키(Hierarchy) 창의 빈공간에 마우스 우클릭을 하고, [Create Empty] 버튼을 클릭한 후, 게임 오브젝트의 이름을 VR Rig로 설정합니다.
② VR Rig 게임 오브젝트를 선택하고, [Add Component] 버튼을 클릭한 후 XR Rig 컴포넌트를 추가합니다. 현재 XR Rig 컴포넌트에는 Camera Floor Offset Object와 Camera Game Object가 비어있는(None) 상태로 존재합니다. 따라서 우리는 두 개의 오브젝트를 별도로 만들 것입니다.
③ VR Rig 게임 오브젝트의 Transform을 Reset하고, [Create Empty]버튼을 클릭하여 자식 오브젝트를 하나 생성합니다. 그리고 자식 오브젝트의 이름을 HMD Offset으로 설정합니다.
④ Scene에 존재하는 Main Camera 게임 오브젝트를 삭제하고, 하이어라키 창의 HMD Offset을 마우스 우클릭합니다. 그리고 [Camera] 버튼을 클릭하여 새로운 카메라를 생성합니다.
⑤ 새로 생성된 카메라의 이름을 Camera에서 VR Camera로 변경합니다. 그리고 VR Camera 게임 오브젝트에 Tracked Pose Driver 컴포넌트를 추가합니다.
⑥ 다시 VR Rig 게임 오브젝트를 선택하고, Camera Floor Offset Object에 HMD Offset 객체를 참조시키고, Camera Game Object에는 VR Camera를 참조시킵니다.
⑦ VR Rig 게임 오브젝트에서 XR Rig 컴포넌트의 Tracking Origin Mode를 Floor로 설정하고, Transform 컴포넌트의 Position을 X: 22, Y: 0, Z: -8로 설정합니다.
⑧ 이제 에디터에서 재생 버튼을 눌러볼까용? ㅇㅁㅇ~
2-2. VR Controller 세팅하기
Camera 생성까지 잘 따라오셨나요? Scene에서 생성한 VR Camera를 통해 맵 전체를 VR 화면을 통해 확인할 수 있습니다. 하지만 아직 컨트롤러를 입력시키지 않아, 해당 맵에서 이동하거나, Scene에서 자신의 컨트롤러가 어느 부분에 위치하는지 확인할 수 없습니다. 따라서 이번 튜토리얼에서는 간단하게 VR Controller를 세팅할 예정입니다. 바로 시작해보죠 ㅇㅁㅇ!
[실습 2] VR Controller를 만들자.
① HMD Offset 게임 오브젝트의 하위 오브젝트로 [Create Empty] 버튼을 클릭하여, Controller L과 Controller R 게임 오브젝트를 생성합니다.
② Controller L과 Controller R 게임 오브젝트에 각각 XR Controller (Device-based) 컴포넌트를 추가합니다.
③ Controller L 게임 오브젝트에서 XR Controller (Device-based) 컴포넌트의 Controller Node를 Left Hand로 설정하고, Controller R 게임 오브젝트에서 XR Controller (Device-based) 컴포넌트의 Controller Node를 Right Hand로 설정합니다.
④ [3D Object] > [Cube] 버튼을 클릭하여 큐브 게임 오브젝트를 생성하고, Cube에서 Transform 컴포넌트를 Reset하고, Scale을 각각 X: 0.15, Y: 0.15, Z: 0.5로 설정합니다.
⑤ 큐브의 이름을 Cube에서 Temporary Hand Model로 변경한 후, Project 창에 끌고와 Prefab으로 만듭니다.
⑥ Controller L과 Controller R의 자식 오브젝트로 Temporary Hand Model을 달아놓습니다.
⑦ VR Camera에서 Camera 컴포넌트를 찾아 Clipping Planes: Near을 0.01로 변경합니다. Clipping Planes를 적게 설정해야, 눈 앞의 물체를 볼 수 있습니다.
⑧ 이제 [Play] 버튼을 눌러 제대로 작동하는지 확인해봅시다.
정상적으로 VR 컨트롤러가 작동하나요? ㅎㅁㅎ! Unity에서 VR을 사용하는 방법은 생각보다 어렵지 않습니다. 만약 정상적으로 작동하지 않는다면, 댓글에 글 남겨주세요! 함께 풀어보자구요. ㅇㅁㅇ~
REFERENCE
[1] Oculus Rift Virtual reality headset HTC Vive Xbox One controller PlayStation VR, VR headset transparent background PNG clipart - HiClipart
[2] Village Resource - 박다빈
* 튜토리얼 외 다른 용도로 그래픽 리소스를 사용할 때는 qkrtmdgns23@gmail.com으로 이메일 부탁드립니다.
'학부의 잔재' 카테고리의 다른 글
[C++/Modern OpenGL] 1. OpenGL 개발 환경 세팅하기 (10) 2024.09.11 [Unity/Tutorial] 1. Unity와 Visual Studio Code 연동 (1) 2024.09.11 [Unity/XR Interaction Toolkit (VR)] 1. 패키지 세팅하기 (6) 2024.09.11 [C++/Modern OpenGL] 2. OpenGL 개발 환경 세팅하기 (0) 2024.09.11