일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- ue5
- 정렬
- 다이나믹 프로그래밍
- 문자열
- 우선순위 큐
- DFS
- 그래프
- 수학
- VR
- 백준
- 다익스트라
- 자료구조
- Unreal Engine 5
- c++
- 그리디 알고리즘
- 스택
- BFS
- 유니티
- 투 포인터
- 트리
- 백트래킹
- 재귀
- XR Interaction Toolkit
- 구현
- 누적 합
- Team Fortress 2
- 브루트포스
- 유니온 파인드
- 시뮬레이션
- Today
- Total
1일1알
XR Interaction Toolkit 개념과 핵심 기능 - 1. HMD와 컨트롤러 트래킹 본문
두고두고 써먹는 유니티 VR - 인프런 | 강의
Unity를 이용하여 VR 장비를 연동하고, VR 컨텐츠를 개발하는 방법을 배우는 VR 개발 입문 강의입니다. VR의 시장성이나 전망은 이미 많은 컨텐츠에서 접할 수 있기 때문에 굳이 다루지 않고, 실제
www.inflearn.com
이 글은 해당 강의를 보고 정리한 글입니다.
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
XR Interaction Toolkit 개요와 환경 설정
XR Interaction Toolkit 개요 VR 플러그인 - Unity에서 제작한 Unity XR 기반의 플러그인 - Teleportation이나 Interaction 등 VR의 일반적인 기능을 스크립트 없이 편하게 구현 - Unity에서 지원하는 PC와 Mobile 기반의
kjhcocomi.tistory.com
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 | Input System | 1.3.0
Input System The Input System package implements a system to use any kind of Input Device to control your Unity content. It's intended to be a more powerful, flexible, and configurable replacement for Unity's classic Input Manager (the UnityEngine.Input cl
docs.unity3d.com
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 |