가상현실 플랫폼
1. Steam Platform (PC)
- 6축 headset, 6축 컨트롤러
- HTC Vive platfrom을 위한 SteamVR asset 제공
- Base station을 설치해야함
- Steam VR을 설치
2. Windows Mixed Reality Platform
- 6축 headset, 6축 컨트롤러
- Windows Mixed Reality Portal 설치(OS완 통합)
- 케이블 하나를 이용해 H/W 연결 -> 설치가 용이
- Unity와 Windows에서 공식적 지원
3. Oculus Rift Platform
- 6축 headset, 6축 컨트롤러
- Stand 형태의 Base station 필요
- Oculus VR platform 설치
- Asset store에서 Oculus integration 제공
- Oculus Utilties, Avatar SDK 제공
4. Oculus Go,Quest
- 6축 headset, 6축 컨트롤러(Quest), 3축 컨트롤러(Go)
- Mobile 버전으로 PC와 연결 X
- Android platform 사용 -> 관련 SDK, Build 필요
- Oculus Rift와 동일한 platform 사용
5. Oculus Quest + Link
- Oculus Quest는 USB-C 케이블로 PC와 연결해 Oculus Rift처럼 사용 가능
- Unity에서는 Oculus Rift로 인식
- 복잡한 설치 없이 PC 기반 6축 컨트롤러 사용 가능, VR 개발, 공부에 가장 좋은 플랫폼
6. Google DayDream
- 6축 headset, 3축 컨트롤러
- Mobile 버전 -> PC필요 X
- Android platform 사용 -> 관련 SDK, Build 필요
7. Samsung GearVR
- 6축 headset, 3축 컨트롤러
- Mobile 버전 -> PC필요 X
- Android platform 사용 -> 관련 SDK, Build 필요
- 2019.3 이후 Oculus XR Plugin은 Gear VR을 지원하지 않음.
Unity XR 플랫폼
- 단일화된 플러그인 프레임워크를 통한 직접 통합
- 지원되는 모든 플랫폼에 공통적인 기능을 원할하게 제공하는 API로 구성
- XR 하드웨어, 소프트웨어 제공업체가 자체 Unity 플로그인을 개발하도록 지원
VRTK 플랫폼 (VR ToolKit)
- 플랫폼 독립적인 가상현실 개발 환경
- VRTK 플랫폼으로 SteamVR, Oculus, Daydream등 모든 가상현실 platform 사용가능
- CameraRig, Controller event, Teleport, Interaction 등 기능 제공
- 실제 VR 플랫폼이 없어도 키보드, 마우스를 이용한 simulator 제공
6축 컨트롤러의 주요 버튼
- Grip : 물건 잡기
- Trigger : 물건을 사용
- Thumbstick : teleport 할 때 (이동, 클릭)
VRTK 플랫폼을 이용한 VR 개발
- 여러 platform을 관리, 컨트롤러 설정을 할 객체 소환
-> 객체에 VRTK_SDKManager 컴포넌트 추가
-> Simulator 객체를 생성(VRTK_SDKManager컴포턴트를 가진 객체 자식으로)
-> Simulator 객체 하위 자식으로 VRSimulatorCameraRig Prefab을 자식 객체로 추가
-> Simulator 객체에 VRTK_SDK Setup 컴포넌트 추가(Quick Select에 Simulator추가)
-> VRTK_SDKManager에서 Auto Populate 실행
이를 간편화 한 Prefab도 존재 : SDKSetups Prefab
- 다양한 SDK를 초기화 시킴
- VRTKSDK 생성
- 자식 객체로 SDKSetups Prefab 추가
- SDK Manager 컴포넌트 추가 (Auto Populate 실행)
SDKSetupSwitcher Prefab
- VRTKSetup 객체 자식으로 SDKSetupSwitcher 컴포넌트 추가
-> SDK 손쉽게 변경 (실행 시 SDK 변경할 수 있는 UI 제공) //원래는 실행 중 SDK 변경 불가능
Simulator를 위한 컨트롤러 model 수정
- 컨트롤러가 작아 제어가 어려우면 scale 수정
- 진행방향 표시를 위해 cube 객체 추가
- 컨트롤러를 사용해 상하 좌우 이동 표시(Guides 사용/UI)
'학교수업' 카테고리의 다른 글
웹개발기초 5주차 (0) | 2021.10.01 |
---|---|
객체지향프로그래밍 5주차 (0) | 2021.10.01 |
정보보호개론 4주차 (3주차 추가내용) (0) | 2021.09.30 |
임베디드기초 4주차 (0) | 2021.09.29 |
사물인터넷의이해 4주차 (0) | 2021.09.28 |