1일1알

XR Interaction Toolkit 주요 컴포넌트의 기능과 파라메터 - 1. Core 본문

유니티/VR

XR Interaction Toolkit 주요 컴포넌트의 기능과 파라메터 - 1. Core

영춘권의달인 2022. 11. 20. 15:27

https://www.inflearn.com/course/%EB%91%90%EA%B3%A0%EB%91%90%EA%B3%A0-%EC%9C%A0%EB%8B%88%ED%8B%B0-vr/dashboard

 

두고두고 써먹는 유니티 VR - 인프런 | 강의

Unity를 이용하여 VR 장비를 연동하고, VR 컨텐츠를 개발하는 방법을 배우는 VR 개발 입문 강의입니다. VR의 시장성이나 전망은 이미 많은 컨텐츠에서 접할 수 있기 때문에 굳이 다루지 않고, 실제

www.inflearn.com

이 글은 해당 강의를 보고 정리한 글입니다.

 

XR Origin :

Unity XR의 컴포넌트로 HMD나 컨트롤러 등 연동된 장비의 기준이 되는 오브젝트를 설정할 수 있다. 주로 VR이나 AR 세계의 중심이나 헤드셋의 기준 높이 등을 설정할 때 사용한다.

 

XR Origin 컴포넌트의 파라메터들 -

 

Origin Base GameObject : 일반적으로 XR Origin 컴포넌트는 XR Origin 게임오브젝트에 붙여서 사용하는데, 이 둘을 별개로 두고 싶을때 Origin XR 컴포넌트의 Origin Base GameObject 파라메터를 수정하면 된다. 

 

Camera Floor Offset Object : 카메라의 Y 오프셋을 수정할 중간 게임오브젝트이다. 일반적으로 XR Origin 의 자식으로

Camera Floor Offset Object 를 두고 그 자식으로는 카메라, Left, Right 컨트롤러 순으로 계층을 구성한다.

 

Tracking Origin Mode : HMD 트래킹을 어디를 기준으로 할 지 선택하는 옵션이다.

 - Not Specified : XR Input Subsystem에서 설정한 모드를 가져온다. 일반적으로는 Floor 모드가 적용된다.

 - Device : 시작할 때 HMD의 위치를 세계의 원점으로 설정하는 모드이다.

 - Floor : 시작할 때 VR 디바이스가 인식한 바닥이 월드의 기준이 된다. HMD의 Pos를 그대로 카메라에 적용한다. Camera Y Offset 옵션이 무시된다.

 

Camera GameObject : HMD를 트래킹 하고있는 메인 카메라를 설정할 수 있다.

 

Camera Y Offet : Tracking Mode가 Device 모드일 때 Camera Floor Offset Object에 적용할 높이이다.

 

Tracked Pose Driver :

선택한 디바이스의 포즈(위치와 방향)을 가져와 Transform에 적용해준다. 연결한 액션을 선택할 수 있는 Input System 버전이 있고 몇 가지 정의된 대상만 선택할 수 있는 Legacy 버전도 있다. 일반적으로 메인 카메라에 이 컴포넌트를 추가하여 메인 카메라의 포즈와 HMD의 포즈를 동기화시키는 용도로 사용한다.

 

Tracking Type : Tracked Pose Driver 컴포넌트가 가져오는 포즈의 종류(위치, 방향)

 

Update Type : 포즈를 가져와 적용시킬 타이밍을 선택할 수 있다.

 - Update And Before Render : 밑의 두 타이밍에 다 실행 (권장)

 - Update : 업데이트 직후 실행

 - Before Render : 렌더 직전에 실행

 

Position Input, Rotation Input : 연결할 Position과 Rotation 액션을 설정할 수 있는 파라메터들이다. 만약 Use Reference 옵션을 활성화하면 미리 정의된 Input Action을 연결할 수도 있고 활성화하지 않으면 이 컴포넌트에서 직접 액션을 선택할 수 있다.

 

XR Controller

컨트롤러의 포즈 동기화, Grip 버튼이나 Trigger 버튼 등 액션이 발생하는 것을 Interactor와 연결해준다.

미리 설정된 디바이스의 선택 값을 연결하는 Device Based 버전과 Input System으로 상세하게 설정이 가능한

Action Based 버전이 있다. 액션 설정 외의 다른 기능은 동일하다.

 

Update Tracking Type : Tracked Pose Driver의 Update Type과 동일한 기능

 

Enable Input Tracking : 활성화하면 아래에 설정된 컨트롤러의 포즈와 상태를 트래킹한다.

Enable Input Actions : 활성화하면 아래에 설정된 액션들을 처리한다.

사이에 들어있는 액션들은 XR Interaction Toolkit의 액션에 해당하는 각 액션들을 정의한다. 예를들어 Select Action을 Grip키로 정의하는 등 각 액션이 작동하려면 어떤 키를 사용해야 하는지를 정의할 수 있다. 일반적으로 XR Interaction Toolkit에 샘플로 추가한 XRI Default Input Action을 사용하고 거기에 기본적인 설정이 있다. 이러한 액션들은 Use Reference를 체크하여 미리 정의된 Input Action 에셋을 선택할 수도 있고 체크하지 않고 직접 액션을 설정할 수도 있다.

 

Model Prefab : 컨트롤러의 Model Prefab을 연결할 수 있다. 연결된 프리팹은 이 컴포넌트와 연결된 컨트롤라가 활성화 될 때 자동으로 생성된다. Model 파라메터와 동시에 사용할 수 없다.

 

Model Parent : 생성한 모델 게임오브젝트를 Parent에 추가해 준다. 설정하지 않을 경우 XR Controller 컴포넌트가 있는 게임오브젝트의 자식에 자동으로 빈 게임오브젝트를 생성 후에 거기에 연결되며 Model 파라메터를 사용할 경우 비활성화된다.

 

Model : 씬에 미리 생성해놓은 모델 게임오브젝트를 연결할 수 있는 파라메터이다. Model Prefab과 동시에 사용할 수 없다.

 

Animate Model : 활성화하면 연결된 모델 게임오브젝트의 애니메이터를 트리거 할 수 있다. Select와 Deselect 이벤트를 지원하며 아래의 파라메터에서 트리거 이름을 설정하면 Select와 Deselect 상황에 맞춰 트리거 해준다.

 

XR Interaction Manager:

Interactor들과 Interactable들이 인터랙션이 가능해지도록 하는 컴포넌트이다. 씬 어딘가에 하나의 XR Interaction Manager가 있어야 하는데 만약 플레이 하기전에 XR Interaction Manager가 없다면 자동으로 빈 게임오브젝트를 만들고 이 컴포넌트를 추가해서 만들어 준다.

 

XR Input Action Manager:

연결된 Input Action Asset들을 활성화 해준다. 스크립트에서 수동으로 Input Action을 활성화 해도 되지만 이 컴포넌트가 시작할 때 활성화하고 계속 유지되는 Input Action들은 이 컴포넌트를 이용해서 자동으로 활성화 하는게 편한 경우가 많이 있다. 이 컴포넌트가 활성화되면 연결된 Action Assets 리스트에 있는 액션들이 활성화되고 비활성화될때 같이 비활성화된다.