XR(확장현실)은 AR(증강현실), VR(가상현실), MR(혼합현실)을 포괄하는 기술로, 현실과 가상의 경계를 허물어 새로운 경험을 제공한다.
그래서 이번엔 XR에 대해 배울 겸 기록을 해보기로 한다.


참고로 유니티 버전은 2022.3.56f1 버전으로 선택했다.
Unity Technologies에서 제공하는 오픈소스 VR 프로젝트(깃허브 링크)가 동일한 버전을 기반으로 하고 있기 때문이다.
VR 항목을 선택하면 기본적으로 필요한 XR 관련 패키지와 Input 세팅을 자동으로 해준다.

샘플씬에 들어가보면 매우 단순한 초기 구성이 나타난다. 구성요소는 다음과 같다.
빛
XR 사용자
XR Manager
EventSystem
XRUIInputModule => XR의 UI 입력 처리 기능 담당
사용자가 밟을 Plane
위의 자세한 스크립트는 추후에 분석할 예정이다.
위의 VR Scene을 이용하면 핸드 트래킹까지는 되지만 손 오브젝트가 잘 안나오는 버그가 있는 거 같다. 그래서 새로 빈 유니티프로젝트를 만들어서 실행하기로 했다.
영상은 링크를 참고했다.

Project settings에 들어가서 XR Plugin Management를 설치하자


그리고 모바일 데스크탑 둘다 OpenXR를 체크하자.


xr과 xrhands를 설치한다.

저기 보이는 hand visualizer를 무조건 설치하자.


그리고 project setting에 가서 데스크탑, 모바일 환경에서의 HandTracking Subsystem과 Meta hand tracking aim을 설치한다.

데스크탑에서는 위의 리스트들을 설치한다.

모바일 세팅 환경은 위처럼 세팅했다.

여담으로 오른쪽에 보면 이렇게 경고가 뜰텐데 all fix 누르면 된다.

카메라를 제거하고 XR Interaction Setup 오브젝트를 넣자.

떨어짐 방지를 위해 plane도 넣고 set up 오브젝트를 살펴보자

이런 식으로 구성이 되어 있을거다
XR Origin에 들어가서 빈 오브젝트를 만들자.
이후 오브젝트에 HandVisualizer 스크립트를 넣고 오브젝트 속성을 채워주면 된다.


최종적으로 이렇게 구성되어 있다.

다행히 손이 나오지만 컨트롤러도 나온다.
컨트롤러는 분명 들고 있지 않았는데...?
다음 게시물에서는 컨트롤러가 나오는 버그를 수정하는 내용을 적을 거 같다.
만약 컨트롤러나 손 잡는 게 안된다면 수정제목 쪽에 있는 openxr를 확인하자