1 minute read

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 ModeDevice일 경우 GameObject의 Y위치 값이 변경됨.
  • Camera GameObject는 HMD를 트래킹하고 있는 메인 카메라를 설정할 수 있는 파라메터가 된다. → XR origin의 camera 파라메터를 통해 이 게임 오브젝트에 있는 camera 컴포넌트를 사용.
  • Tracking Origin Mode는 어디를 기준으로 할 지를 선택하는 옵션
    • Not SpecifiedXR 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들은 이 컴포넌트를 이용하는 것이 좋음.

Tags:

Categories:

Updated:

Leave a comment