XRShared
XRShared 애드온은 Fusion과 호환되는 XR 경험을 만들기 위한 기본 컴포넌트를 제공합니다.
아키텍처 및 상세 설명
이 애드온에서 제공하는 컴포넌트와 동일한 로직을 구축하는 방법은 VR Shared 샘플에 설명되어 있으며, 선택 사항에 대한 심층적인 설명이 포함되어 있습니다.
기능
리그 로직: 하드웨어 및 네트워크 리그
개념에 대해서는 VRShared 샘플의 리그를 참조하십시오.
다음 스크립트는 다양한 리그 부품(헤드셋, 왼손, 오른손, 리그 루트)의 위치를 수집하는 데 사용됩니다:
HardwareRig
HardwareHeadset
HardwareHand
그런 다음, 해당 네트워크 스크립트가 하드웨어 스크립트에서 제공한 위치/회전 데이터를 로컬 사용자에 대해 수집하고, 이를 모든 플레이어와 동기화합니다:
NetworkRig
NetworkHeadset
NetworkHand
기본 손 상태(인덱스, 엄지손가락 및 그랩 위치)도 손 스크립트에서 동기화됩니다.
그랩 기능
기본 그랩 기능이 애드온에 시연되어 있으며, 두 가지 접근 방식을 사용할 수 있습니다.
네트워크 손 기반 그랩
완전히 네트워크 기반의 그랩 개념에 대해서는 VR Shared 샘플의 그랩을 참조하십시오.
이 접근 방식에서는 그랩 할 수 있는 객체에 대한 호버링 감지가 네트워크 손의 콜라이더로 수행됩니다.
그랩 할 수 있는 객체는 NetworkHandColliderGrabbable
컴포넌트를 가져야 하며, NetworkHand
는 NetworkHandColliderGrabber
컴포넌트를 가져야 합니다.
하드웨어 손 기반 그랩
그랩이 하드웨어 리그에 의해 시작되는 접근 방식에 대해서는 로컬 리그 그랩 페이지를 참조하십시오.
이 접근 방식에서는 호버링이 하드웨어 손의 콜라이더에서 감지되며, 네트워크에 연결되지 않은 객체에도 사용할 수 있습니다.
네트워크에 연결되지 않은 그랩의 경우, 그랩 할 수 있는 객체는 Grabbable
컴포넌트를 가져야 하며, 하드웨어 손은 GrabberComponent
를 가져야 합니다.
네트워크에 연결된 그랩의 경우, 이전 컴포넌트 외에도, 그랩 할 수 있는 객체는 NetworkGrabbable
컴포넌트를 가져야 하며, NetworkHand
는 NetworkGrabber
컴포넌트를 가져야 합니다.
이동 기능
자세한 내용은 텔레포트 및 이동을 참조하십시오.
이 애드온은 기본적인 이동 기능과 간단한 텔레포트를 시연합니다.
RayBeamer
클래스는 라인 렌더러 기반 빔을 표시하며, 릴리스 시 HardwareRig
옆에 위치한 RigLocomotion
이 리그 이동을 트리거 합니다.
RigLocomotion
스크립트는 스냅 회전도 처리합니다.
데모
데모 씬은 Assets\Photon\FusionAddons\XRShared\Demo\Scenes\
폴더에서 찾을 수 있습니다.
다운로드
이 애드온의 최신 버전은 Industries 애드온 프로젝트에 포함되어 있습니다.
무료 XR 애드온 프로젝트에도 포함되어 있습니다.
지원되는 토폴로지
- 공유 모드
변경 로그
- 버전 2.0.3:
- IColorProvider 및 IFeedbackHandler 인터페이스 추가
- GrabbableColorSelection 추가
- 버전 2.0.2:
- Unity 2021.x와의 호환성 보장(2022.x에서 편집된 프리팹의 박스 콜라이더가 2021.x에서 열렸을 때 잘못된 크기를 가짐)
- 프로젝트 간 계층의 자동 구성을 단순화하는 계층 유틸리티 추가
- 버전 2.0.1: Polyspatial이 설치된 경우 HideForLocalUser에서 VolumeCamera 처리 추가
- 버전 2.0.0: 첫 번째 릴리스