Fusion 크로스플랫폼 혼합현실
개요
이 샘플은 Apple Vision Pro와 Meta Quest 사용자가 멀티플레이어 세션을 공유할 수 있도록 애플리케이션을 준비하는 방법을 보여줍니다.
Apple Vision Pro 사용자는 Meta Quest와 유사한 몰입형 공간을 사용할 수 있으며, 또는 상단에서 모든 사용자를 내려다볼 수 있는 제한된 공간(bounded volume) 모드로 장면을 볼 수 있습니다.
이 사용 사례에서는 사용자들이 Kenney의 모듈식 건축 에셋에서 가져온 작은 블록으로 간단한 구조물을 만들 수 있습니다.
사용자는 손을 바라볼 때 나타나는 메뉴에서 이러한 블록을 선택할 수 있습니다.

블록은 위와 옆면에 자성을 가지고 있어 서로 달라붙습니다.
사용자의 실제 공간에 있는 수평면(테이블 등)도 자성을 갖도록 감지되며, 그 위에 블록을 배치할 수 있습니다.

Apple Vision Pro 사용자의 경우, 메뉴를 통해 제한된 볼륨 모드로 전환할 수 있으며, 이 모드는 visionOS의 공유 공간(shared space) 내에서 다른 앱과 함께 공존할 수 있도록 룸 전체를 위에서 내려다보는 방식입니다.
크로스플랫폼
이 샘플은 Apple Vision Pro와 Meta Quest 헤드셋 모두와 호환됩니다.
샘플에 포함된 visionOS 헬퍼 도구는 visionOS에서 간접 핀치(Indirect Pinch)와 같은 기능을 올바르게 지원할 수 있도록 필요한 적응을 처리합니다.
혼합현실
이 샘플은 패스스루(passthrough) 및 평면 감지를 포함한 혼합현실 기능에 초점을 맞추고 있습니다.
사용자의 주변 환경(표면)은 감지되며, 그 위에 블록을 배치할 수 있습니다. 단, 감지된 표면은 동기화되지 않으며 해당 사용자의 디바이스에서만 보입니다.
Meta Quest 참고 사항:
현재 Meta Quest에서는 실제 평면을 감지하려면 먼저 운영체제 설정에서 Room Setup을 수행해야 합니다.
visionOS 기능 지원
모든 플랫폼에서 직접 핀치(direct pinch)를 통해 오브젝트를 잡을 수 있으며, visionOS에서는 간접 핀치(indirect pinch)도 사용할 수 있습니다.
visionOS에서는 앱이 실행된 상태에서도 제한된 볼륨 모드(bounded volume)와 비제한 모드(unbounded volume) 간 전환이 가능합니다.
제한된 볼륨 모드일 때는 다른 사용자에게 몸체 렌더러(body parts renderer)가 사라집니다.

기술 정보
- 이 샘플은 Shared Mode 토폴로지를 사용합니다.
- 프로젝트는 Unity 2022.3, Fusion 2, Photon Voice 2.54, Polyspatial 1.0.3 환경에서 개발되었습니다.
시작하기 전에
샘플을 실행하려면 다음 단계를 따르세요:
PhotonEngine 관리 화면에서 Fusion AppId를 생성하고,
Real Time Settings의App Id Fusion
필드(Fusion 메뉴에서 접근 가능)에 붙여 넣습니다.PhotonEngine 관리 화면에서 Voice AppId를 생성하고,
Real Time Settings의App Id Voice
필드에 붙여 넣습니다.그런 다음
MainScene
씬을 로드하고Play
버튼을 누르세요.
다운로드
버전 | 릴리즈 일자 | 다운로드 | |
---|---|---|---|
2.0.6 | Jun 02, 2025 | Fusion Cross Platform Mixed Reality 2.0.6 Build 886 |
폴더 구조
- 메인 폴더인
/CrossPlatformMR
는 이 샘플에 특화된 모든 요소를 포함하고 있습니다. /Photon
폴더는 Fusion 및 Photon Voice SDK를 포함합니다./Photon/FusionAddons
폴더는 이 샘플에서 사용된 XR 애드온들을 포함합니다./XR
폴더는 가상현실 관련 설정 파일들을 포함합니다.
사용된 Fusion XR 애드온
3D/XR 애플리케이션의 프로토타입 제작을 빠르게 하기 위해, 몇 가지 재사용 가능한 애드온을 무료로 제공합니다.
이 샘플에서 사용된 애드온은 다음과 같습니다:

visionOS 헬퍼
visionOS 헬퍼 애드온은 visionOS 플랫폼의 특수한 요구사항을 처리합니다.
이 애드온은 XRShare에서의 간접 핀치와 호환되며, Polyspatial의 제한/비제한 상태를 동기화하는 도구,
Unity에서 visionOS 창 동작을 모방하는 기능, LineRenderer
대체 기능 등을 제공합니다.
XRHands 동기화
XRHands 동기화 애드온은 XR Hands의 손 상태(손가락 추적 포함)를 고도로 압축된 데이터로 동기화하는 방법을 제공합니다.
또한 핀치, 그랩 등의 제스처를 감지하는 헬퍼 클래스도 함께 제공합니다.
Voice 헬퍼
Voice 헬퍼 애드온은 Fusion XR 프로젝트에서 Photon Voice를 쉽게 설정할 수 있도록 도와주는 컴포넌트들을 제공합니다.
XRShared
XRShared 애드온은 리그 파트의 동기화 로직의 핵심과 그랩(grab)과 같은 기본 상호작용 기능을 제공합니다.
ConnectionManager
ConnectionManager
애드온은 연결 시작을 관리하고 사용자 아바타를 스폰 합니다.
자세한 내용은 ConnectionManager 애드온을 참조하세요.
ExtendedRigSelection
이 애드온은 샘플에서 필요한 다양한 리그(rig) 간 전환을 가능하게 해줍니다.
실제로 이 샘플에는 다음과 같은 3가지 설정이 포함되어 있습니다:
- Meta용 VR 리그
- Apple Vision Pro 빌드용 AVP 비제한(Unbounded) 모드 (기본 시작 모드)
- Apple Vision Pro 빌드용 AVP 제한(Bounded) 모드 (대안으로 권장되는 시작 모드)
자세한 내용은 Extended Rig Selection Industries Addons를 참고하세요.
Magnets
Magnets 애드온은 오브젝트가 잡혀 있지 않을 때 다른 오브젝트에 끌어당겨지는 간단한 방식을 보여줍니다.
서드파티 컴포넌트
- Oculus Sample Framework 손 모델
- Kenney's modular building asset
- 사운드 리소스