Unity XR Interaction Toolkit Core파트
Unity 개념학습 두 번째 포스팅
XR Origin
주로 AR이나 VR 세계의 중심이나, 헤드셋의 기준 높이등을 설정할 때 사용함.
- 일반적으로
XR origin component
는,XR origin 게임 오브젝트
에 붙여서 사용하는데, if 별개로 사용하고 싶을 때는 →origin base gameobject
를 수정하면 됨. Camera Floor Y offset object
는 카메라에 Y offset을 수정할 중간 게임 오브젝트가 되겠다. 일반적으로XR origin
아래에Camera Floor Offset Object
를 두고, 그 아래에Left
,Right Hand Controller
순으로 계층을 쌓는다.Tracking Origin Mode
가Device
일 경우GameObject
의 Y위치 값이 변경됨.Camera GameObject
는 HMD를 트래킹하고 있는 메인 카메라를 설정할 수 있는 파라메터가 된다. →XR origin
의 camera 파라메터를 통해 이 게임 오브젝트에 있는 camera 컴포넌트를 사용.Tracking Origin Mode
는 어디를 기준으로 할 지를 선택하는 옵션Not Specified
는XR Input Subsystem
에서 설정한 모드를 가져옴- 일반적으로는
Floor
모드로 작동되는데, 이 경우에는Camera Y Offset
옵션은 무시됨. → Floor는 시작할 때 VR 디바이스가 인식한 바닥이 월드의 기준이 됨. Device
모드는 시작할 때의 HMD 위치를 세계의 원점으로 설정하는 모드임.
Tracked Pose Driver
일반적으로 Main Camera에 이 컴포넌트를 추가하여, 메인 카메라에 포즈와 HMD의 포즈를 동기화 시키는 용도로 사용함.
- Tracking Type은 Tracked Pose Driver컴포넌트가 가져오는 포즈의 종류.
- 위치만 가져올 수도 있고,(Position Only)
- 방향만 가져올 수도 있고,(Rotation Only)
- 위치와 방향 모두를 가져올 수도 있고(Rotation and Position)
- Update Type을 이용해, 포즈를 가져와 적용시킬 타이밍을 선택할 수도 있음.
- Unity Excution 창에서 Update and Before Render 실행하던가,(일반적으로는 이걸 선호)
- Update 직후 실행하던가,
- 렌더 직전에 실행하던가
- Position Input과 Rotation Input에서는 Use Reference체크박스를 통해 미리 정의된 Input Action을 연결할 수도 있고, 직접 액션을 선택할 수도 있음.
XR Controller
주요 컴포넌트의 포즈를 동기화해주면서 추가로, Grip버튼이나 Trigger버튼 등 액션이 발생하는 걸 Interactor와 연결해줌.
- 미리 설정된 디바이스의 선택 값을 연결하는 Device-Based 버전과 Input System으로 상세하게 설정 가능한 Action-Based 버전이 존재함.
- Update Tracking Type은 위 내용과 동일함.
- Enable Input Tracking을 활성화 한 경우, 아래 설정된 컨트롤러의 포즈와 상태를 트래킹함.
- 일반적으로 XR Interaction Toolkit에 샘플로 추가한 XRI Default Input Action을 사용함.
- Model Prefab을 통해서 컨트롤러의 Model Prefab을 연결할 수 있음.
XR Interaction Manager
XR Interaction Manager는 Interactor들과 Interactable들이 인터렉션이 가능해지도록 하는 컴포넌트임.
- Scene 어딘가에 하나의 XR Interaction Manager가 있어야 함.
- 없다면, 자동으로 생성해서 추가해 만들어짐.
Input Action Manager
연결된 Input Action Asset들을 활성화 해줌.
- 스크립트에서 수동으로 Input Action을 활성화해도 되지만, 컴포넌트가 시작될 때 자동으로 활성화하고 계속 유지되는 input action들은 이 컴포넌트를 이용하는 것이 좋음.
Leave a comment