애플의 '비전OS'와 앱 개발도구 훑어보기

SDK와 개발문서, 샘플 코드 등은 이달말 공개

컴퓨팅입력 :2023/06/07 16:04    수정: 2023/06/23 10:49

애플이 마침내 혼합현실(MR) 기기 '애플 비전 프로'를 공개했다. 이와 함께 공간 컴퓨팅이란 새 플랫폼을 위해 새로운 운영체제(OS) '비전OS'도 선보였다.

애플은 5일 미국 쿠퍼티노에서 개최된 '세계개발자대회(WWDC) 2023'에서 '애플 비전 프로'와 그 OS인 '비전OS'를 발표했다.

비전 프로는 2014년 애플워치 후 9년만에 나온 새로운 하드웨어다. 증강현실(AR)과 가상현실(VR)을 혼합한 혼합현실(MR) 기기로, 별도 컨트롤러 없이 눈동자 움직임과 손가락 제스처, 음성 명령으로 기기를 제어하도록 했다.

애플 비전 프로

팀 쿡 애플 CEO는 "맥이 개인 컴퓨터를 그리고 아이폰이 모바일 컴퓨팅의 시대를 열었던 것처럼 애플 비전 프로는 우리에게 공간 컴퓨팅을 선보였다"며 "수십년 간의 애플 혁신에 기반을 둔 비전 프로는 새로운 혁명적인 입력 시스템과 수천개 이상의 획기적인 기술 혁신”이라고 강조했다.

그는 "이는 예전에 봐왔던 그 어떤 것과도 비교할 수 없다"며 "비전 프로는 사용자들에겐 엄청난 경험, 개발자들에겐 신나는 새로운 가능성을 선사할 것"이라고 밝혔다.

■ 공간 컴퓨팅을 위한 ‘비전OS’

비전 프로는 M2 칩셋, R1 센서처리 칩셋 등을 비롯한 새로운 하드웨어에 긴밀하게 통합된 ‘비전OS’란 운영체제를 기반으로 작동한다. 마이크 록웰 애플 기술개발그룹 부사장은 “비전OS는 수십년에 걸쳐 맥, iOS, 아이패드OS를 개발한 엔지니어링 혁신의 집합체를 기반으로 만들었다”며 “그 기반 위에 수많은 신기능을 더해 공간컴퓨팅에 필요힌 낮은 레이턴시를 구현했다”고 밝혔다.

그는 “비전OS는 공간 컴퓨팅을 위해 기초부터 새롭게 만든 최초의 운영체제”라고 강조했다.

애플 비전OS 내부 구성

비전OS의 핵심 부분인 코어는 기존 iOS, 아이패드OS, 맥OS 등의 코드베이스를 공유한다. 이 기반 위에 비전 프로의 3D 콘텐츠 처리와 공간 인식, 음향 처리, 사용자 제어 처리, 앱 구동 등을 위한 소프트웨어 구성요소가 올라갔다.

전체 구성은 실시간 서브시스템(실행엔진), 눈의 위치를 반영하는 초점 렌더링 파이프라인(포비에이티드 렌더러), 여러 앱을 공간에 띄워 동시에 구동하는 ‘멀티 앱 3D 엔진’, iOS 프레임워크, 공간 프레임워크, 공간 오디오 엔진 등으로 이뤄졌다.

애플에 따르면, 실시간 실행엔진은 기기 전반의 성능 중심 업무를 처리하는 역할이다. 초점 렌더링 파이프라인은 실시간으로 사용자의 눈의 위치를 반영한다. 시선이 머무르는 부분을 고화질 프레임으로 만들어내는 역할이다. 멀티 앱 3D 엔진은 사용자의 공간 안에서 여러 앱을 구동한다.

앱 프레임워크는 기존의 애플 프레임워크를 확장한다. iOS 프레임워크에 비전 프로를 위한 요소를 추가해 공간 경험을 지원하도록 했다.

비전OS의 3D 인터페이스는 공간에 앱을 띄우며, 앱은 디스플레이 경계에서 벗어나 다양한 크기로 확장, 축소 가능하다. 여러 앱이 나란히 떠 있을 수 있다. UI는 자연광에 반응해 그림자를 띄워 크기와 거리를 현실적으로 만들어준다.

■ 비전 프로를 위한 3D 앱 개발은 어떻게 하나

애플은 비전 프로에서 구동되는 앱의 개발을 간소화하도록 다양한 프레임워크와 개발도구를 제공한다. 스위프트UI, 리얼리티킷, AR킷 등 기존에 존재하던 도구를 활용할 수 있고, 3D 콘텐츠 구성을 간소화하는 도구 ‘리얼리티 컴포저 프로’를 제공하게 된다. 좀더 전문적인 3D 콘텐츠 제작을 위해 ‘유니티’의 솔루션을 이용할 수 있다.

이달말 애플은 ‘비전OS 소프트웨어개발도구(SDK)’를 공개할 예정이다. 스위프트UI, 리얼리티킷, AR킷 등을 포함하는 비전OS SDK와 리얼리티 컴포저 프로를 사용해 비전프로용 앱을 새로 개발하거나, 기존 앱을 변환할 수 있다.

이달말 비전OS SDK 공개와 함께 광범위한 기술 문서, 새로운 디자인 키트 및 도구, 업데이트된 비전OS용 휴먼 인터페이스 가이드라인, 샘플 코드 등도 나온다.

애플 비전OS SDK

기존 앱을 비전 프로로 가져오려면 먼저 엑스코드에서 프로젝트에 비전OS 대상을 추가한다. 다시 빌드하면 앱이 자동으로 개선된다. 비전OS의 모양과 느낌이 있는 재료, 눈과 손 입력에 맞게 간격이 조정된 완전히 크기 조정 가능한 창, 사용자 지정 컨트롤의 강조 표시 조정에 액세스할 수 있다. 그런 다음 비전OS 관련 코드를 추가해 앱을 창, 볼륨 또는 공간 모음으로 확장할 수 있다. 여기에서 스위프트UI, 리얼리티킷 및 AR킷의 확장된 기능을 활용할 수 있다.

■ 스위프트UI를 이용한 공간 인터페이스 구현

비전 프로용 앱에서 가장 새로운 부분은 사용자인터페이스(UI)로 개발자가 가장 많이 다뤄야할 부분다. 이는 ‘스위프트UI’를 이용해 만들 수 있다.

비전OS 앱의 구동 영역은 ‘공간’, ‘창’, ‘볼륨’ 등이다. 사용자가 있는 공간 전체가 디스플레이이며, 공간의 콘텐츠를 표시하는 빌딩 블록은 2D 평면인 창과, 3D 볼륨이다. 창과 볼륨은 그림자와 깊이감 등을 통해 공간감각을 갖도록 꾸밀 수 있다.

비전 프로 앱의 구동 기본 요소는 '공간', '창', '볼륨' 등이다.

스위프트UI는 3D 기능과 깊이, 제스처, 효과, 몰입형 장면 유형 등을 지원한다. 리얼리티킷과 긴밀하게 통합돼 선명하고 빠른 반응의 공간적 인터페이스를 구축하도록 한다. UI킷도 사용할 수 있다.

마이크 록웰 부사장은 “비전 프로의 창은 스위프트UI의 장면으로 만들어지고 예상대로 작동한다”며 “기존 보기 및 컨트롤을 포함할 수 있으며 3D 개체 및 ‘리얼리티뷰’를 지원해 3D 콘텐츠를 2D 콘텐츠와 함께 배치할 수 있다”고 설명했다.

그는 “앱은 스위프트UI로 3차원 볼륨을 생성 하고 게임 보드나 지구본과 같은 3D 개체를 표시할 수 있다”며 “경우에 따라 사용자가 비디오를 보거나 게임을 하거나 프레젠테이션을 연습할 수 있도록 앱의 몰입 수준을 더 많이 제어해야 할 수 있다”고 말했다.

스위프트UI를 사용해 창 안에 깊이를 추가하거나 3D 개체를 추가할 수 있다. iOS 및 맥OS에서 레이어뷰에 사용되는 ZStack은 비전OS를 위해 깊이를 지원한다. ‘z-오프셋 뷰 모디파이어’를 사용해 UI 요소에 미묘한 깊이 변화를 추가할 수 있다. 더 높은 오프셋 값은 더 낮은 값으로 뷰 앞에 뷰를 나타낸다.

비전 프로는 제스처도 추가 공간을 인식한다. 스위프트UI는 볼륨을 생성하게 하며, 앱 창 옆에 존재하게 하고, 공유 공간에서 실행될 때 다른 앱과 나란히 위치하도록 한다. 스위프트UI 창과 볼륨은 풀 스페이스 안에 있을 수 있고, 여기에서 3D 개체와 스위프트UI 요소를 사용자 공간 어디에나 배치할 수 있다. 스위프트UI의 렌더링은 리얼리티킷으로 이뤄진다. 재료 및 호버 효과, 장식품을 사용하면 창과 볼륨의 가장자리에 UI 구성 요소를 부착할 수 있다. 도구 모음 및 메뉴와 같은 항목에 적합하다.

UI킷으로 구축된 기존 앱은 비전OS용으로 다시 컴파일할 수 있다. 장신구, 호버 효과, 재료 및 기본 모양과 느낌에 액세스할 수 있다.

■ 리얼리티킷, 3D 공간감과 몰입 효과를 위한 도구

리얼리티킷은 3D 렌더링 엔진이다. 앱에 3D 콘텐츠, 애니메이션, 시각효과 등을 제공한다. 자동으로 물리적 조명 조건에 맞게 조정하고, 그림자를 드리우며, 다른세계로 포털을 여는 시각 효과를 넣을 수 있다.

렌더링은 다이나믹 포비에이션(Dynamic foveation)이라는 기술을 사용해 애플 비전 프로에서 효율적으로 작동한다. 리얼리티킷은 시선 추적을 활용해 사용자가 초점을 맞추고 있는 영역을 매우 높은 정확도로 선택 렌더링해 주변 콘텐츠의 렌더링 비용을 줄인다.

리얼리티킷으로 빛의 반사 정도나 금속 같은 물리적 특성을 지정할 수 있다. 기본적으로 리얼리티킷은 조명이 실제 방의 조명 조건에 연결되도록 가상 콘텐츠를 렌더링한다. 창의적 의도에 따라 사실감을 사용자 지정하거나 확장하려는 경우 이미지 기반 조명 자산(IBL)을 제공해 모양을 개별화할 수 있다.

애플 비전 프로 시작 화면

재질 제작의 포맷은 영화, 시각효과, 엔터테인먼트, 게임 등에서 사용하는 표면 및 형상 셰이더 지정에 사용되는 공개 표준인 '매터리얼X'를 채택했다. 매터리얼IX를 사용하면 음영 속성을 정의할 수 있으므로 개별 재료의 모양을 디자인하고 빠르게 반복할 수 있다. 선택할 수 있는 재료의 리포지토리와 후디니(Houdini) 및 마야와 같은 유용한 도구를 사용해 사용자 지정 셰이더를 작성하는 데 사용할 수 있다.

리얼리티킷은 리얼리티뷰라는 새로운 스위프트UI 보기를 제공한다. 리얼리티뷰는 창, 볼륨 및 공간 내에서 사용할 수 있으므로 제어하는 장면 내 원하는 위치에 3D 콘텐츠를 배치할 수 있다. 또한 첨부 파일을 지원해 3D 콘텐츠에 2D 스위프트UI 보기를 포함할 수 있다.

AR킷은 실제 주변 환경의 공간과 앱의 상호작용을 위한 도구다. AR킷을 통해 평면 추정, 장면 재구성 같은 API를 이용할 수 있다. 이미지 고정, 세계 추적, 손 골격 추적 등의 API도 있다.

애플 비전 프로는 공간에 창과 볼륨을 띄운다. 사용자 공간과 앱의 상호작용을 위해 AR킷 프레임워크를 이용할 수 있다.

AR킷은 비전OS에서 실시간 알고리즘을 호스팅한다. 핵심 시스템 기능의 호스트에 전원을 공급한다. 이 알고리즘은 항상 실행되므로 앱 구축 방식에 상관없이 공유 공간에서 AR킷의 이점을 자동으로 활용할 수 있다. 지속성 및 세계 매핑은 시스템에서 처리한다. 분할, 매트 및 환경 조명이 전체 공간에 자동으로 적용된다. 사용자 허가로 AR킷 기능을 풀스페이스 앱에서 직접 사용할 수 있다. 전체 공간 내에서 앱은 iOS의 AR킷과 동일한 앵커(Anchor) 개념을 사용하는 평면 추정, 장면 재구성, 이미지 앵커링 및 세계 추적 등을 활용해 방과 사실적으로 상호 작용할 수 있다.

AR킷은 비전 프로의 제스처 인식을 위해 ‘스켈레탈 핸드 트래킹(Skeletal Hand Tracking)’을 제공한다. 손 추적을 사용해 앱 경험을 위한 사용자 지정 제스처를 만들거나 디지털 정보로 사용자의 손을 보강할 수도 있다. AR킷은 iOS에 도입된 동일한 골격 모델에서 관절의 위치 및 방향을 제공한다.

■ 접근성 기능을 위한 기능

비전OS SDK는 장애인의 이용을 위한 다양한 접근성 기능 요소를 포함한다. 신체 및 운동 장애가 있는 사용자는 눈, 목소리 또는 둘의 조합으로 기기와 상호작용할 수 있다.

사용자는 검지 손가락, 손목 또는 머리를 사용해 비전 프로 탐색을 위한 대체 포인터로 선택할 수 있다. ‘액세서블 인스펙터’는 비전OS 앱의 접근성 문제를 분석 및 보고 하고 접근성을 높이는 방법에 대한 제안을 제공한다. 각 프레임워크에 내장된 접근성 지원을 통해 사용자에게 비전OS 앱과 경험을 쉽게 제공할 수 있다. 사물의 외형 정보를 전달하는 레이블과 설명을 추가해 시각 장애를 가진 사용자에게 음성으로 앱의 사물을 설명하도록 할 수 있다. 더 큰 텍스트 크기를 위한 동적 유형, 더 나은 가독성을 위한 축소된 투명도, 헤드 잠금 콘텐츠에 대한 대안 등 앱에 더 쉽게 액세스할 수 있도록 할 수 있다.

비전 프로의 잠금 해제는 홍채 인식이다. 여기 사용되는 인증 기술은 ‘옵틱ID’라 불린다. 사용자의 홍채 데이터는 암호화돼 기기에만 저장되고, 보안 인클레이브 프로세서로만 데이터를 열 수 있다. 얼굴 인증처럼 애플페이와 연동된다.

■ 500만원 내외 비싼 하드웨어 없는데 테스트, 배포는?

애플 비전 프로 출시 가격은 3499달러다. 세금과 환율을 감안하면 500만원 내외로 판매될 것으로 예상된다. SDK와 프레임워크로 비전 프로용 앱을 개발한다 해도 실제로 잘 작동하는지, 어떻게 표시되는지 확인하는 테스트 과정과 적절한 배포 프로세스가 필요하다.

가상 테스트는 엑스코드15로 가능하다. 엑스코드 미리보기를 사용하면 편집기를 벗어나지 않고 2D와 3D 콘텐츠의 모양 형성 과정을 빠르게 반복할 수 있다. 전체 앱 테스트는 앱을 실행하고 디버그할 수 있는 ‘시뮬레이터’로 하게 된다. 키보드, 트랙패드 또는 호환되는 게임 컨트롤러를 사용해 장면을 이동하고 둘러볼 수 있다. 시스템 동작을 시뮬레이션해 앱과 상호 작용할 수 있다. 엑스코드 시뮬레이터는 앱을 시각화하는 데 도움이 되도록 주간 및 야간 조명 조건 등 세 가지 시뮬레이션 장면을 제공한다.

엑스코드15(이미지=애플)

‘맥 버추얼 디스플레이’를 사용하면 맥의 고화질 4K 가상 모니터를 보는 것만으로도 비전 프로로 가져올 수 있다. 장치에서 맥의 모든 기능을 사용할 수 있으며, 엑스코드가 포함된다. 중단이나 컨텍스트 손실 없이 항상 비전 프로에서 앱을 코딩, 테스트 및 디버깅하는 엔드 투 엔드 개발 경험을 이용할 수 있다고 애플은 강조했다.

앱의 콘텐츠가 실제 세계와 어떻게 관련됐는지, 앱이 사용자의 공간과 상호 작용할 때 3D 콘텐츠가 시각적으로 벽을 통과하는 것과 같은 고유한 문제를 제시할 수 있다. 엑스코드는 3D 콘텐츠와 관련된 충돌, 폐색 및 장면 이해를 탐색하는 데 도움이 되는 실용적인 디버그 시각화를 제공한다. 이 시각화는 시뮬레이터와 비전 프로 모두에서 작동한다.

리얼리티 킴포저 프로

’리얼리티 컴포저 프로’는 비전OS 앱용 3D 콘텐츠를 미리 보고 준비할 수 있는 애플리케이션이다.

3D 모델, 애니메이션, 이미지 및 사운드와 같은 자산을 가져오고 구성할 수 있다. 엑스코드 빌드 프로세스와 긴밀하게 통합돼 비전 프로에서 사용할 자산을 최적화한다. 콘텐츠를 비전 프로로 쉽게 전송해 미리 보고, 크기를 조정하고, 회전할 수 있다.

‘리얼리티 컴포저 프로’에서 사용자 정의 재질을 생성한 다음 이를 사용자 정의할 수 있는 셰이더 그래프로 이동한다. 간단한 이미지와 함수 노드를 추가해 코드 작성 없이 개체의 모양을 변경할 수 있다. 여러 가지를 시도하고 결과를 즉시 확인할 수 있다. 셰이더를 직접 입력해야 하는 컴파일러 오류가 발생하지 않는다고 한다. 리얼리티 컴포저 프로로 객체의 크기를 조정하거나 이동 하거나 회전할 수 있으며 원하는 모양과 느낌을 얻을 수 있다.

이후 엑스코드로 다시 이동하면 변경 사항이 해당 프로젝트에 반영된다. 엑스코드 미리 보기 또는 시뮬레이터에서 바로 사용할 수 있다.

비전 프로 하드웨어에서 앱의 베타 테스트 준비를 마치면 ‘테스트플라이트(TestFlight)’이란 앱을 사용할 수 있다. 앱스토어 커넥트, 엑스코드 또는 엑스코드 클라우드를 통해 기대하는 것처럼 새로운 빌드를 ‘테스트플라이트’에 제출하면 된다.

테스터는 이를 설치하고 기본 ‘테스트플라이트’ 앱에서 바로 귀중한 피드백을 제공할 수 있다. 또한 비전 프로에서 호환되는 앱의 베타 빌드에 액세스할 수 있다.

■ 하드웨어 역량을 활용하기 위한 방안

비전 프로용 앱 개발 프레임워크는 해당 플랫폼의 역량을 최대한 활용할 수 있게 한다. 비전OS는 사용자 주변 환경의 3D 모델을 구축한다. 사실적인 조명과 그림자를 가능하게 하는데, 앱은 카메라 데이터에 액세스하지 않고도 주변 세계와 자연스럽게 조화를 이룰 수 있다. 비전OS는 동일한 3D 모델을 사용해 앱을 위한 차세대 공간 오디오를 지원한다. 앱은 사용자의 주변 환경을 정교하게 이해하기 위해 비전OS의 ‘페이즈 공간 오디오 엔진’을 활용해 음향 감지와 3D 장면 이해를 하게 된다.

음원과 사용자가 환경을 돌아다니면 PHASE는 오디오 광선 추적 시뮬레이션을 실시간으로 업데이트한다. 이 모델은 애플의 개인화 공간 음향(Personalized Spatial Audio) 기술과 결합헤 각 개인 과 주변 환경 에 맞게 자동으로 경험을 조정한다.

비전 프로는 공간 음향을 제공하는데 앱은 비전OS를 통해 공간 인식 기술에 기반한 기능을 제공할 수 있다.

리얼리티킷을 사용해 원하는 소리를 어디에서 들을지 결정하기만 하면 비전OS가 소리를 현실 세계에 자연스럽게 혼합한다. 앱에서 사실적인 조명과 오디오를 지원하는 알고리즘과 마찬가지로 비전OS의 사용자 입력은 자동으로 작동하며 설계상 비공개다.

호버 효과는 스위프트UI 또는 리얼리티킷을 사용해 빌드된 모든 UI 요소에 대해 자동으로 렌더링된다. 사용자가 버튼을 보면 버튼을 누르기 전에 강조 표시된다. 그리고 마우스 클릭이나 아이폰  탭과 마찬가지로 사용자가 손가락을 탭하면 앱에 선택 사항이 통지된다. 사용자는 필요한 시각적 피드백을 받고 개발자 는 사용자가 탭하기 전에 어디를 보는지 알 필요 없이 기대하는 상호 작용을 받는다 .

비전 프로 앱은 ‘그룹액티비티 API’와 함께 ‘셰어플레이’를 채택하면 각 창에 대한 공유 제어에 통화 중인 모든 사람을 위해 앱을 실행하는 옵션을 추가한다. 그룹액티비티 API는 기존 셰어플레이와 마찬가지로 앱을 공동으로 사용할 수 있는 방법을 결정한다.

페이스타임 통화에서 비전 프로 사용자는 다른 참가자에게 페르소나로 나타난다. 페르소나는 얼굴과 손의 움직임을 동적으로 일치시키는 고급 기계 학습 기술로 생성된다. 페르소나는 3차원 볼륨과 깊이로 다른 비전 프로 사용자에게 나타난다. 애플은 페이스타임을 비전 프로의 다음 단계로 끌어올려 어디에서나 사용자가 실제로 한 방에 있는 것처럼 상호 작용할 수 있도록 할 것이라고 밝혔다. 애플은 올해말 공간 페르소나(Spatial Personas)의 개발자 프리뷰를 공개할 예정이다.

비전 프로 시뮬레이터 외에도 비전 프로에서 앱이 어떻게 작동하는지 확인할 수 있는 옵션도 있다.

관련기사

애플은 여름 중 비전 프로 하드웨어에서 앱을 테스트할 수 있는 ‘애플 비전 프로 디벨로퍼 랩’을 시작한다. 비전 프로가 고객에게 출시되기 전에 직접 지원 하고 경험을 미리 볼 수 있다. 애플 비전 프로 디벨로퍼 랩은 쿠퍼티노의 개발자 센터를 포함해 전 세계 여러 곳에 설치된다. 또한, 어디에 있든 앱과 비전 프로의 호환성을 평가해 달라는 요청을 랩에 제출할 수 있다. 애플은 해당 앱을 설치하고 발견한 문제를 제출자에게 공유한다.

마이크 록웰 부사장은 “애플 비전프로의 출시는 공간 컴퓨팅에서 함께하는 여정의 시작을 의미한다”며 “이제 이전에 가능하다고 생각했던 것 이상으로 연결되고, 생산적이며, 즐겁게 된다는 것이 무엇을 의미하는지 다시 상상할 수 있다”고 독려했다.