몰입의 즐거움, 화면의 경계를 초월하다. vision Pro

2025. 1. 5. 05:06Apple/visionOS

 

 

visionOS 가 2023년 처음 나왔다고 했을 당시 이번엔 애플이 얼마나 기기 가격을 비싸게 받을까?  사실 나는 궁금하기도 하고, 비싸면 접근하기는 어렵기에  가격 면에서 아쉬웠다. visionOS 앱을 만들고 싶은데 유저의 접근성이 떨어진다는 조건 중에는 디바이스의 비싼 가격도 영향이 있으니 말이다. 그럼에도 visionOS 는 충분히 매력이 있을만한 몰입의 경험을 줄 수 있다고 생각한다. 

이미지출처: Ready Player One Movie Poster

 

아직 제대로 보진 않았지만, SF(Science Fiction)의 거장 스티븐 스필버그가 최초로 만든 가상현실 영화 레디 플레이어 원(궁금한 분은:예고편)에서도 주인공이 vision pro 같은 걸 끼고 가상현실(Virtual Reality)에서 원하는 캐릭터의 모습으로 어디든지 가며, 뭐든지 할 수 있다. 그리고 게임사가 이스터에그를 숨기고 찾는 이에게 오아시스라는 가상현실 회사의 소유권과 유산을 상속한다는 대략적인 줄거리를 담고 있다. 

 

그렇다면 가상현실(VR)과 애플이 초점을 맞춘 AR(Argumented Reality) 의 차이는 뭘까?

ARKit 는 예전에도 몇번 샘플 코드를 주어다 테스트도 해보고 구글의 렌즈를 통해서도 동물이나 공룡을 내 방안에 띄어본 적이 있다. 최근 핫한 닌텐도 사의 피크민 블룸(Pikmin Bloom) 도 AR 로 피크민들을 모델링 해 어느 장소에서든지 나타나게 해준다.

 

  AR VR
특성 증강현실도 일종의 가상현실의 한 분야다. 실제 환경에서 가상 사물과 정보를 합성해 원래의 환경에 존재하는 사물처럼 보여주는 컴퓨터 그래픽 기법이다. 
즉, 현실과 가상의 결합이다.
현실을 완전히 대체할 수 있는 가상공간이다. 특정 환경과 상황을 컴퓨터로 만들어 마치 실제 주변 상황과 환경인 것처럼 만들어주는 인간과 컴퓨터 사이의 인터페이스다.
몰입도 낮음~중간 매우 높다
프레임워크 ARKit, 스마트폰, vision pro vr 헤드셋, 컨트롤러
목적  현실 기반 경험, 생산성, 정보 추가 엔터테인먼트, 훈련, 몰입형 경험

 

Pikmin AR(사용자 공간에 입체적인 피크민들을 불러올 수 있음), Google 사의 렌즈 기능, 사용자 공간에서 저 고양이를 띄울 수도 있다.

 

예전에 오락실에 갔을 때 VR 체험을 했었다. 넓은 고글 같은 것을 썼었는데, 온 화면이 디지털 그래픽이고 나는 롤러코스터를 타고 쑤욱 내려가고 바람도 바로 내 귓가에 느껴지고 그 바람 소리도 현실의 롤러코스터처럼  느껴져서 정말 속이 메슥거렸던 경험이 있다. 😑 

 

 애플에서는  AR(증강현실)과 MR(혼합현실)을 기반으로 몰입에 대해 신경을 쓰는 것들에 대해 어필했다. 

 

1. Immersive Video & Spatial Audio 

- 360도 몰입형 콘텐츠: Apple Vision Pro는 사용자가 실제 공간 안에 있는 것처럼 3D 영상 지원

- Spatial Audio: 소리가 물리적인 위치에서 나는것처럼 들리게 해 몰입감 강화. 공간 음향은 이미 AirPod 에서도 사용자의 머리 추적으로 지원되긴 했었다.

그런 경우에는 RealityKit 을 사용해 3D 공간에서 입체 비디오를 렌더링 해준다.

 

2. Eye Tracking

Foveated Rendering: 사용자가 보는 초점에 고해상도로 렌더링해 몰입감 있는 그래픽 제공

빠르고 직관적인 컨트롤: 눈의 움직임, 손가락 제스처로 앱 제어 

3. Environment(환경)

4. Persona(link click)

vision pro 에서 사용자의 얼굴과 손 움직임을 자연스러운 형태로 표현한 것

 

이렇듯 사용자의 움직임을 감지하는 기능을 도입하고 있어 visionOS 를 쓸때 자연스럽게 몰입할 수 있게 된다.

 

선글라스를 끼면, 내가 있는 실제 공간에서 또다른 2D, 3D 컨텐츠를 띄우고 생생한 경험을 할 수 있다? 아직 나는 vision pro 를 체험하진 않았다. (그치만 데모를 예약하긴 했다..곧 갈 예정..ㅎㅎ)

정말 상황이 나아졌다. 예전엔 vision pro lab 을 오프라인으로 하려면 한국에서 그나마 가까운 일본에서 신청만 가능 했는데, 사용자의 입장에서의 디바이스 데모 체험이긴 하지만 좋아지긴 했다. 앱을 만들어 볼 계획이 있지만, 비싼 비전 프로를 냅다 살 경제력은 안된다.  그래서 Apple 이 추구하고 사용자들에게 제공하려는 vision pro 의 특징은 뭘까 살펴보고 시뮬레이터로라도 돌려보고 싶었다. 

 

미모티콘과 비전프로 이미지를 피그마로 디자인한 이미지입니다.

 

visionOS 를 체험하기 위해 지원되는 환경

visionOS 의 프레임워크는 공간 컴퓨팅을 위한 확장을 돕기 위해 지원한다. SwiftUI, RealityKit, ARKit, Accessibility 등이 있다. 

visionOS 를 구축하기 위해선 Xcode, Reality Composer pro, Unity 가 필요하다. 3D 모델에 욕심이 있거나 분업을 할 수 있다면 Maya, Blender, 3ds max 의 옵션 등이 있다. 

visionOS 를 만들며 내 일상 공간 혹은 넓은 야외에서 비전 프로를 쓴다면 RealityKit과 ARKit로 공간 컴퓨팅 경험을 사용자에게 줄 수 있다. 

 

디바이스 Vision Pro(비전프로) 사용법 - 상호작용 Hand Gesture(Interaction)

- 손가락 탭을 하면 선택

- 회전을 원할땐 엄지와 검지손가락으로 집게로 줌땡기듯 돌린다(Pinch Zoom)

- 물건을 조작하고 싶을 때 

- 사용자 지정 제스처 만들때 손바닥 위

 

Gesture recognizer

  1. Indirect input(간접입력) → 엄지와 검지손가락을 한손 또는 양속으로 함께 만진다. (고기 집게가 고기를 집듯)
  2. 직접 입력 → 사람의 손가락이 화면상 키보드를 누르고, 손가락과 손 움직임은 제스처 유형 정의함
  3. 키보드 입력 → 실 키보드, 마우스 트랙패드 등으로 트리거 메뉴 명령어들과 제스처를 수행할 수 있음

 

몰입형 공간을 확장하기 위한 요소

apple - visionOS page에 설명

visionOS 에서는 윈도우를 1개 이상 생성할 수 있다. 윈도우는 SwiftUI 로 빌드할 수 있고 3D 콘텐츠도 추가할 수 있다.

Volume 으로 앱에 입체감을 줄 수 있다. RealityKit, Unity 등을 사용해 3D 콘텐츠를 표시하는 SwiftUI 에서의 Scene 이다. 전체공간에서 어느각도에서든 바라볼 수 있다.Space는 여러 앱과 나란히 표시 가능, 요소 위치도 바꿀 수 있다. 

 

이런 공간 컴퓨팅 감각을 향상 시키기 위해서는 ARKit 의 도움이 기본적으로 필요하다.또한, 공간 추적, 평면 감지, 객체 추적 기능 등이 가능하다. 

 

Xcode 에서 visionOS 를 만들기위한 프로젝트 생성과 초기 세팅

 

Build 후 Run(실행) 하고 Simulator 에서 visionOS 체감하기!

 

 

 

 

Window Size

window 의 초기 사이즈를 지정할 수도 있고, 재설정할수도 있다. 


  
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
.defaultSize(CGSize(width: 600, height: 400))
}
}

 

사이즈 늘리고 줄이는 속성 지정


  
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.frame(
minWidth: 100, maxWidth: 400,
minHeight: 100, maxHeight: 400)
}
.windowResizability(.contentSize)
}
}

 

그럼 아와 같이 모서리에 둥근 선이 생기고 그걸 당겨서 window 사이즈를 조정할 수 있다.

 

찾아본 코드도 꽤 많지만 이 글에서 풀어내면 길어질 것 같아서, 가볍게 vision pro와 os 에 대해서만 살펴보았다. 애플에서 프로젝트로 제공하는 샘플코드도 굉장히 많다. 차근차근 계속 살펴봐야겠다. 처음엔 AR 기능으로 해보고 싶었고, 사실 접근하기도 모바일, 아이패드 편하긴 한데 vision pro 가 주는 다른 경험이 궁금했다. ARKit 와 RealityKit, SceneKit 등으로 3D 모델링 된 것들을 내 책상 위, 특정 실제 장소에 띄울 수 있으니 계속 지속적으로 찾아보려고 한다. 


참고

https://developer.apple.com/documentation/visionos

 

visionOS | Apple Developer Documentation

Create a new universe of apps and games for Apple Vision Pro.

developer.apple.com

 

참고하면 좋을 WWDC 영상(2024)

Create custom environments for your immersive apps in visionOS

Create enhanced spatial computing experience with ARKit

Meet ARKit for spatial computing

[Hand Tracking] 

Render Metal with passthrough in visionOS

Build a spatial drawing app with Reality Kit

 

NOTE
그 외 3D 모델은 애플에서 제공하는 .usdz 파일 확장자명을 사용하며 Blender 에서도 모델링, 렌더링해 만들어서 Reality Composer Pro 에 전달할 수 있다.