일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- VR
- 누적 합
- 백준
- 알고리즘
- 구현
- DFS
- 투 포인터
- 스택
- 다익스트라
- XR Interaction Toolkit
- ue5
- 유니온 파인드
- Team Fortress 2
- Unreal Engine 5
- 우선순위 큐
- BFS
- 트리
- 그리디 알고리즘
- 재귀
- 수학
- 백트래킹
- 그래프
- c++
- 정렬
- 문자열
- 시뮬레이션
- 다이나믹 프로그래밍
- 유니티
- 브루트포스
- 자료구조
- Today
- Total
1일1알
XR Interaction Toolkit 개념과 핵심 기능 - 1. HMD와 컨트롤러 트래킹 본문
이 글은 해당 강의를 보고 정리한 글입니다.
1. HMD와 컨트롤러 트래킹
2. 제작한 컨트롤러 모델 연결
3. Interactor, Interactable 개념
4. XR Interaction Toolkit의 이벤트 개념
5. Locomotion System, Provider
6. Teleportation
7. UI Interaction
8. Haptic
9. XR Socket Interactor
준비물 : XR Interaction Toolkit의 환경 설정이 완료된 프로젝트
https://kjhcocomi.tistory.com/363
1. HMD, Controller Tracking
HMD와 컨트롤러의 위치와 방향을 가져와 유니티 게임오브젝트와 동기화하는 방법
Standard (URP) 로 새로운 씬을 만든다.
Hierarchy 창에서 우클릭 - XR - XR Origin(VR) 클릭해서 생성
XR Origin 컴포넌트가 붙어있는 XR Origin 오브젝트가 HMD나 컨트롤러 등 연동된 장비의 기준이 되는 오브젝트이다.
주로 VR, AR 세계의 중심이나 헤드셋의 기준 높이 등을 설정할 때 사용되며 일반적으로 HMD와 연동된 메인 카메라 게임오브젝트와 양손 컨트롤러와 연동된 게임오브젝트 등을 자식으로 배치한다.
XR Origin 오브젝트의 자식에 있는 카메라 오브젝트에 Tracked Pose Driver 컴포넌트가 추가되어 있다.
이 컴포넌트는 Unity XR의 컴포넌트인데 선택한 디바이스의 위치와 방향(Pos)을 가져와 준다.
여기서는 HMD의 Pos를 가져와 Transform에 적용해준다.
메인 카메라에 붙어있기 때문에 HDM의 Pos가 메인 카메라의 Pos와 동기화되는 상태이다.
LeftHand Controller를 선택해보면 XR Controller, XR Ray Interactor, Line Renderer, XR Interactor Line Visual 컴포넌트가 있다.
Unity XR Interaction Toolkit의 주요 컴포넌트들은 미리 설정된 디바이스의 상태값을 연결하는 Device Based 버전과 유니티의 새로운 Input System으로 상세하게 설정이 가능한 Action Based 버전이 있다. 현재는 Action Based
시뮬레이터를 사용할 것이라면 Action Based를 사용해야 한다고 한다.
XR Controller : Unity XR Interaction Toolkit의 주요 컴포넌트들 중 하나로 컨트롤러의 Pos를 동기화, Grip 버튼이나 Trigger 버튼 등 액션이 발생하는 것을 연결해주는 기능이 있다. Action Based 컴포넌트이기 때문에 Input System으로 액션을 설정해야 하는데, 현재는 XRI Default Input Actions 파일이 자동으로 연결되어있다.
만약 대응하는 키를 편집하고 싶다면 Reference의 파일을 열어서 직접 편집하거나 Use Reference를 체크 해제하고 직접 액션을 커스터마이징 하면 된다.
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.3/manual/index.html
Input System 매뉴얼
시뮬레이터를 사용하여 테스트
XR Device Simulator 프리팹을 씬에 배치하면 XR Device Simulator Controls 액션 파일을 이용해서 시뮬레이터 컨트롤을 할 수 있다. 대부분의 행동들을 키보드와 마우스를 이용해서 할 수 있다.
XR Device Simulator 프리팹을 씬에 배치하고 Input Action Manager라는 이름을 가진 게임오브젝트를 만들고
Input Action Manager 컴포넌트를 추가한다. 그리고 Action Assets에 Starter Assets 폴더에 있는 XRI Default Input Actions를 추가한다.
이렇게 하면 플레이 할 때 이 Action Assets을 자동으로 켜주기 때문에 왼손, 오른손 컨트롤러를 조작할 수 있게 액션 파일을 활성화 해준다.
플레이 해보면 이런 화면,
스페이스바 + 마우스 : 오른손 컨트롤러 좌우 이동
스페이스바 + 휠 : 오른손 컨트롤러 앞뒤 이동
스페이스바 + 컨트롤 + 마우스 : 오른손 컨트롤러 회전
왼쪽 쉬프트 + 마우스 : 왼손 컨트롤러 좌우 이동
왼쪽 쉬프트 + 휠: 왼손 컨트롤러 앞뒤 이동
왼쪽 쉬프트 + 컨트롤 + 마우스 : 왼손 컨트롤러 회전
마우스 오른쪽 클릭 + 움직임 : HMD 좌우 이동
마우스 오른쪽 클릭 + 휠 : HMD 앞뒤 이동
왼쪽 컨트롤 + 마우스 오른쪽 : HMD 회전
T : 왼손 컨트롤 상태 토글
Y : 오른손 컨트롤 상태 토글
컨트롤 도중 왼쪽 클릭 : Trigger 버튼 클릭
컨트롤 도중 G : Grip 버튼 클릭
이상태에서 VR기기를 연결하면 동기화가 잘 안되기 때문에 VR 기기를 사용할 때는 XR Device Simulator 비활성화
'유니티 > VR' 카테고리의 다른 글
XR Interaction Toolkit 개념과 핵심 기능 - 5. Locomotion System, Provider (0) | 2022.11.12 |
---|---|
XR Interaction Toolkit 개념과 핵심 기능 - 4. Events (0) | 2022.11.12 |
XR Interaction Toolkit 개념과 핵심 기능 - 3. Interactor, Interactable 개념 (1) | 2022.11.12 |
XR Interaction Toolkit 개념과 핵심 기능 - 2. Custom Controller Model (0) | 2022.11.12 |
XR Interaction Toolkit 개요와 환경 설정 (1) | 2022.11.12 |