1일1알

XR Interaction Toolkit 개요와 환경 설정 본문

유니티/VR

XR Interaction Toolkit 개요와 환경 설정

영춘권의달인 2022. 11. 12. 15:33

XR Interaction Toolkit 개요

VR 플러그인

 

- Unity에서 제작한 Unity XR 기반의 플러그인

- Teleportation이나 Interaction 등 VR의 일반적인 기능을 스크립트 없이 편하게 구현

- Unity에서 지원하는 PC와 Mobile 기반의 다양한 VR 장비들을 손쉽게 연동

- 다른 VR 플러그인에 비해 작성해야 하는 스크립트 양이 현저히 적음

 

XR Interaction Toolkit 주요 기능

 

- HMD, Controller의 위치/방향 연동

- 오브젝트와 컨트롤러의 직접적인 상호작용

- 오브젝트와 컨트롤러의 광선을 이용한 간접적인 상호작용

- 가능한 상호작용을 나타내는 시각적인 피드백

- Unity UI와의 인터렉션 ( Button, Dropdown, Slider 등)

- 상황에 맞는 오디오 재생 및 햅틱(진동)

- Unity Event 기반의 이벤트 연결 (Hover, Select, Active 등)

 

환경 설정

1. 유니티 프로젝트 생성 및 설정

Unity 2021.3.1f1 LTS 버전 사용

 

1.1 프로젝트 생성

Unity Hub에서 프로젝트 - 새 프로젝트

 

3D (URP) 템플릿 다운로드

 

프로젝트 생성

 

1. 로그인 되어있는지 확인

2. Window 창 누름

3. Package Manager

4. Unity Registry로 변경

 

Input System 1.3.0 버전 설치

설치하면 에디터 꺼졌다가 다시 켜짐

 

 

XR Plugin Management 4.2.1 버전 설치

 

Oculus XR Plugin 설치

 

+ 버튼 누르고 Add package from git URL... 클릭

com.unity.xr.interaction.toolkit 입력

 

Packages : In Project로 돌아가서

빨간색 네모로 표시한 패키지들이 전부 설치되었는지 확인

 

1.2 프로젝트 설정

Edit -> Project Settings

 

XR Plug-in Management의 Oculus 체크박스에 체크

독립형으로 실행하고 싶다면 안드로이드 쪽에도 체크

 

 

Player 탭의 Resolution and Presentation의 Run In Background 체크 ( 선택사항, 시뮬레이터로 할때의 사소한 버그 때문)

 

Package Manager로 돌아와서 XR Interaction Toolkit의 Samples의 Starter Assets, XR Device Simulator 두개 Import

 

Starter Assets :

Assets - Samples - XR Interaction Toolkit - 2.2.0(버전마다 다를듯) - Starter Assets - XRI Default Input Actions

파일이 HMD와 왼손, 오른손 컨트롤러의 기본적인 액션들이 설정되어 있는 Input Action 파일들, 

나머지 파일들은 XR Interaction Toolkit에 있는 주요 Component 들에서  XRI Default Input Actions을 자동으로 연결할 수 있게 프리셋 파일들이 세팅되어 있는 것

 

Continuous Move, Continuous Turn, Left Controller, RIght Controller, Snap Turn 파일들 Add 버튼 클릭해서 나중에 이 Component들을 사용할 때 자동으로 연결되도록 함

 

Project Settings의 Preset Manager 탭에서 5개가 추가되어 있는 모습.

오른손과 왼손은 구분이 필요하니 Right, Left 입력해서 각각의 이름에 맞는 게임 오브젝트에서 해당 Component를 자동으로 이름에 맞게 붙도록 설정

 

여기까지 정상적으로 했다면 Hierarchy의 + 버튼을 눌렀을 때 XR 창이 떠야함

그리고 콘솔에 지워지지 않는 오류가 있다면 설정이 정상적이지 않은 상태( 보통 유니티 버전이나 패키지 버전이 맞지 않아서 생기는 문제)

 

2. 빌드/ 배포

- 추후 추가 예정

3. Oculus 장비 연결을 위한 프로그램 설치 및 설정

- 추후 추가 예정