호우동의 개발일지

Today :

article thumbnail

HMD


새로운 Scene 생성

Standard URP Scene 생성
Standard(URP) Scene 생성

  • File → New Scene → Standard(URP) 선택
  • 저장 장소는 Scenes 폴더 안에 적당한 이름으로 저장

 


XR Origin 게임 오브젝트 생성

XR Origin(VR)로 생성해야 한다.
XR Origin(VR) 로 생성해야 한다.

  • Hierarchy 창에서 우클릭 → XR → XR Origin(VR)을 클릭

 


XR Origin(VR) 게임 오브젝트는 뭘까?

  • HMD나 컨트롤러 등 연동된 장비의 기준이 되는 오브젝트
    • VR/AR 세상의 중심이나, 헤드셋 기준 높이 등을 설정할 때 사용

  • 일반적으로 HMD와 연동된 메인 카메라 게임 오브젝트와
    양손 컨트롤러와 연동된 게임 오브젝트 등을 자식으로 배치

XR Origin의 하위 오브젝트
XR Origin의 하위 오브젝트

  • 자동적으로 메인 카메라가 XR Origin 게임 오브젝트의 자식 오브젝트로 들어감
  • XR Interaction Mananger라는 게임 오브젝트도 함께 생성

 


Main Camera 주요 컴포넌트

Main Camera 인스펙터
메인 카메라 인스펙터

  • Tracked Pose Driver - Unity XR의 컴포넌트
    • 선택한 디바이스의 위치와 방향을 가져와준다.
      → HMD의 포즈를 가져와 Transform에 적용해 준다.
      • HMD의 포즈가 메인 카메라에 포즈와 동기화되는 상태

 


LeftHand/RightHand Controller 주요 컴포넌트

XR Contrller에 기본적으로 초기값이 들어가있다.
XR Controller에 기본적으로 초기값이 들어가있다.

  • XR Controller 컴포넌트 - XR Interaction Toolkit의 주요 컴포넌트 중 하나
    • 컨트롤러의 포즈를 동기화
    • 액션이 발생하는 것을 연결
      • Grip이나 Trigger 버튼 등

    • XR Interaction Toolkit의 주요 컴포넌트
      • 대체로 미리 설정된 디바이스의 상태값을 연결

    • 해당 컴포넌트는 Action Based 컴포넌트
      • Action Based : 유니티의 새로운 Input System으로 상세하게 설정 가능한 버전
        • cf) Device Based : 대체로 미리 설정된 디바이스의 값을 연결하는 버전

      • XRI Default Input Action 파일이 Left Action으로 자동 연결되어 있기 때문에 따로 설정해주지 않아도 된다.
        • 특정 액션만 수정하고 싶다면? → 2가지 방법 존재
          1. XRI Default Input Action 파일을 직접 수정
          2. 수정하고 싶은 액션의 Use Reference만 풀어서 Action 추가

Use Referenece의 체크를 해제하고 직접 액션을 추가하는 사진
Use Reference 체크를 해제하고 직접 액션을 추가하는 사진

 

 

 

시뮬레이터(Simulator) 사용하기

  • 시뮬레이터 기능 자체는 XR Device Simulator 안에 두 에셋에 포함되어 있음
    → 안에 있는 프리팹을 Scene에 배치하기만 하면 됨
    • 액션파일을 이용하여 시뮬레이터 컨트롤 가능
      VR이 하는 대부분의 제스처들을 키보드와 마우스로 흉내 낼 수 있음

 

 


Hierarchy에 오브젝트 추가

프리팹을 그대로 드래그해서 생성한 오브젝트
프리팹을 그대로 드래그해서 생성한 오브젝트

  • Hierarchy에 XR Device Simulator 프리팹을 그대로 드래그하여 생성
    → VR이 하는 대부분의 제스처들을 따라 할 수 있게 됨
    • 컨트롤러 움직이기, Trigger 버튼, Grip 버튼, HMD 움직이기 등
    • 아직 왼손/오른손 컨트롤러가 하는 일은 하지 못함
      → 따로 오브젝트를 추가해줘야 함

 


Input Action Manager 생성

오브젝트 컴포넌트로 스크립트 Input Action Manager가 들어가있다.
오브젝트 컴포넌트로 스크립트 Input Action Manager가 들어가있다.

  1. 빈 오브젝트를 하나 만들어 Input Action Mananger 스크립트를 컴포넌트로 추가
  2. Action Assets에 XRI Default Input Action을 넣는다.

→ 왼쪽/오른쪽 컨트롤러의 기능을 사용할 수 있게 됨

 


최종 결과

최종 결과

  • 최종적으로 사용이 가능해졌다. 자세한 조작법은 다음 포스팅에 올리도록 하겠다.