유니티 XREAL 앱 개발 테스트 (NREAL Light, NRSDK 2.1.0, Samsung Galaxy 24, 24FE)
유니티에서 NRSDK(2.4.1)을 사용하여 Demo씬 HelloMR 안드로이드 장치(Samsung Galaxy)에 빌드하고 XREAL AR glasses(NREAL Light)에서 동작 테스트 과정
-NREAL Light
-삼성 갤럭시 S24 (Samsung Galaxy 24, 24FE)
-Nebura apk(3.8.1)
-Unity 6000.3.10f1
-안드로이드 10이상
NRSDK 2.4.1 기술문서
https://docs.xreal.com/2.4.1/
NRSDK Overview | XREAL SDK
XREAL uses NRSDK to develop mixed reality experiences. Using a simple development process and a high-level API, NRSDK offers a set of powerful MR features and enables your XREAL glasses to understand the real world.
docs.xreal.com
NREAL Light 장치 준비

nreal light제품 설명서
https://nreal-public.nreal.ai/web/support/nreal-light/Nreal_Light_Quick_Start_Guide_Korea.pdf
NRSDK와 장치(NREAL Light) 호환성 확인
NREAL Light 장치와 호환되는 마지막 지원 버전은 NRSDK 2.4.1(XREAL SDK 3.1.0 지원안함)


NRSDK 2.4.1 다운로드 및 설치
https://docs.xreal.com/2.4.1/Release%20Note/NRSDK%202.4.1

Nebula apk 다운로드 및 설치
Nebula 앱은 더이상 유지보수되지않으며 구글플레이스토어에서 지역에 따라서 제한적으로 다운로드가능(한국의 경우 다운로드 불가능)
https://www.reddit.com/r/Xreal/comments/1hyejyh/so_nebula_app_is_completely_abandoned/
Nebula v3.8.1 다운로드
https://drive.google.com/file/d/1sRCYMGF1CCt9HapLQhdfWmh-PMXgmO2l/view
유니티 프로젝트 및 환경설정
1)프로젝트 설정(project settings)의 player에서 defualt orientation을 portrait으로 설정합니다.

2)auto graphics API를 체크해제하고 OpenGLES3를 추가합니다(Vulkan제거)
Multithread rendering에 체크합니다(선택)

3)안드로이드 최소 및 대상 수준을 설정합니다
minimul api level - android 10.0(API level 29)
target api level - automatic(highest installed)
스크립팅 백엔드에 IL2CPP를 선택하고 대상 아키텍처(target architectuers) 에서 ARM64 에 체크합니다.

4)write permission에서 External(SDCard)를 선택합니다.

5)Quality 메뉴에서 모바일 플랫폼의 Vsync Count를 Dont sync로 설정합니다.

NRSDK Single pass Instanced 설정 ( com.nreal.xr)
6)아래 XREAL 웹사이트에서 패키지를 다운로드하고 압축풀기합니다.
https://public-resource.xreal.com/download/NRSDKForUnity_2.4.0_Release_20241206/com.nreal.xr.zip
7)패키지 관리자에서 com.nreal.xr 폴더의 package.json 파일을 열기하여 설치합니다.

7)프로젝트 설정의 XR Plug-in Management 메뉴에서 NRSDK 플러그인 제공자를 활성화합니다.
(XR 초기화 속성 활성화 확인 Initialize XR on startup 체크해제하면 앱에서 지원하지않는 앱이라고 오류표시함)

8)NRSDK 플러그인의 Stereo rendering mode를 multiview로 설정합니다.

HelloMR 씬 안드로이드 빌드 테스트
9)프로젝트의 Assets 폴더에서 NRSDK 에셋 및 데모 씬을 확인합니다.


10)HelloMR 씬을 열기하면 NRCameraRig, NRInput 프리팹으로 구성되어있는것을 확인할수있습니다.



11)NRCameraRig의 NRHMD Pose Tracker에서 트래킹 유형을 tracking 6Dof로 설정합니다.

12)핸드 트래킹을 사용하려면 NRInput의 NRInput 컴포넌트에서 입력 소스타입을 hands로 설정합니다.

13)NRSDK의 NRKernalSessionConfig 에셋을 선택합니다.

14)평면 감지 모드(plane finding mode)에서 수평과 수직 평면을 감지하려면 both를 선택합니다.
이미지 트래킹을 사용하려면 image tracking mode을 enable로 설정합니다.

15)NRProjectConfig 에셋에서 대상 장치를 활성화합니다(reality, vision)


핸드트래킹(Hand Tracking) 씬 구성
NRSDK 2.4.1 에서 기본적으로 핸드트래킹 Hand Tracking 을 지원하며 23가지 키 포인트의 위치와 방향을 추적하고 6가지 제스처 인식 및 오브젝트 상호작용 기능을 제공합니다.
(XREAL SDK 3.1.0 에서는 XRI, XR Hands가 핸드트래킹을 대신 수행합니다)
16)HelloMR 씬에 핸드 프리팹을 추가하는것만으로 핸드트래킹을 구현할수있습니다. Prefabs의 Hands 폴더에서 NRHand_L, NRHand_R를 선택하여 씬에 추가합니다.

17)각각 NRInput 객체의 Right, Left 하위에 위치시킵니다.

18)씬을 빌드하여 안드로이드 장치에서 실행하면 NREAL Light에서 사용자 손을 추적하여 핸드트래킹 정상적으로 작동하는것을 확인할수있습니다.
19)핸드트래킹 및 상호작용을 위한 샘플을 확인하려면 HandTracking 씬을 열기합니다.


20) 트래킹되는 손이 대상 오브젝트와 상호작용(grab)하기위해서 NR Grabber 컴포넌트가 존재해야합니다.


21)상호작용 대상 오브젝트에는 NRGrabbableObject 컴포넌트를 추가합니다.



22)에디터에서 실행하면 시뮬레이터에 의해서 키보드 및 마우스 입력에 의해 상호작용이 정상적으로 작동하는것을 확인할수있으며 씬을 빌드 및 장치에서 실행하면 핸드트래킹과 대상 오브젝트와 상호작용되는것을 확인할수있습니다.

기타
NRSDK(Old) Plane Detection 샘플 패키지
PlaneDetectionStarterPackage.unitypackage
https://xreal.gitbook.io/nrsdk/v2.1.0/development/plane-detection-tutorial/import-the-package?utm_source
'유니티게임개발 > XR' 카테고리의 다른 글
| XREAL Nebula 앱 설치 및 실행하기(삼성 갤럭시 s24, s24FE, 유니티 NRSDK) (0) | 2026.06.23 |
|---|---|
| NREAL AR 글래스 장치 구성품 (0) | 2026.06.23 |
| XREAL Glasses 핸드트래킹과 상호작용 레퍼런스 영상 (0) | 2026.06.14 |
| XR Glass 기반 공간 컴퓨팅 환경구축을 위한 XREAL 장치 사양과 호환성 확인(XREAL Air 2 Ultra) (0) | 2026.04.28 |
| 유니티 XREAL SDK 핵심 기능과 호환성(안드로이드, Glasses 모델) (0) | 2026.03.12 |