애플 비전 프로(Apple Vision Pro)는 공간 컴퓨팅을 위해 처음부터 설계된 플랫폼입니다. 사람들은 애플 비전 프로(Apple Vision Pro)를 사용하여 주변 환경과 혼합되는 무한한 캔버스에서 앱 및 게임과 상호 작용하거나 새로운 장소로 데려가는 단일 경험에 몰입합니다. 연결되고, 생산적이며, 즐거움을 주는 것이 무엇을 의미하는지 새롭게 상상하기 위해 비전 OS의 고유한 기능을 활용하는 앱을 만드는 방법을 배우십시오. 그리고 SwiftUI, UIKit, RealityKit 및 ARKit과 같은 기존 프레임워크를 사용하여 앱을 비전 OS로 전환하는 방법을 배우십시오:
공유 공간에 친숙한 창을 만듭니다. Swift UI 장면이고 공간에 평면으로 나타나는 하나 이상의 창을 엽니다. 이 창은 기존의 보기와 컨트롤을 사용하며 하나 이상의 창을 열어 앱의 내용을 관리할 수 있습니다.
앱의 창은 다른 앱과 함께 나타나며 사람들은 창 크기를 조정하여 주변에 위치시킬 수 있습니다.
3D 요소로 인터페이스를 확장합니다. 창에 3D 개체 또는 RealityView를 추가하여 깊이를 더합니다. 사람들이 콘텐츠를 모든 각도에서 볼 수 있기를 원한다면 공유 공간에 앱의 다른 창과 함께 나타나는 볼륨을 만드는 것을 고려하십시오.
몰입도를 높입니다. 앱이 전체 공간(Full Space)을 열면 비전 OS 캔버스 전체를 차지합니다. 3D 콘텐츠를 사용자 환경에 직접 배치하거나, 다른 세계로 가는 포털을 열거나, 사용자 환경을 완전히 대체할 수 있습니다.
전체 공간이 열려 있으면 시스템은 앱의 창과 볼륨을 보여주고 다른 앱에서 콘텐츠를 숨깁니다.
비전 OS용 앱을 구축할 때, 앱에서 언제든지 창, 볼륨 및 공간을 혼합 및 매칭하여 콘텐츠에 적합한 순간을 만들 수 있습니다.
앱에서 몰입도를 높이고 싶을 수 있는 주요 순간을 찾고 한 수준의 몰입에서 다른 수준으로의 자연스러운 전환을 제공합니다.
애플의 통합 개발 환경인 Xcode로 소프트웨어 개발 프로세스를 시작합니다. Xcode는 프로젝트 관리 지원, 코드 편집기, UI를 위한 시각적 편집기, 디버깅 도구, 다양한 장치를 위한 시뮬레이터, 성능을 평가하는 도구 등 소프트웨어를 개발하기 위한 완벽한 도구 세트를 제공합니다. Xcode는 또한 프레임워크(frameworks)라고 불리는 소프트웨어 개발을 위한 완벽한 시스템 코드 모듈 세트를 포함합니다.
Xcode에서 새 프로젝트를 만들려면 File > New > Project를 선택하고 지시에 따라 비전 OS 앱을 만듭니다. 모든 새 프로젝트는 최신 선언 프로그래밍 모델을 제공하는 SwiftUI를 사용하여 앱의 핵심 기능을 만듭니다.
Swift UI는 Apple의 데이터 관리 기술과 원활하게 작동하여 컨텐츠 제작을 지원합니다. Swift 표준 라이브러리 및 Foundation 프레임워크는 배열 및 사전과 같은 구조적 유형과 문자열, 숫자, 날짜 및 기타 일반적인 데이터 값에 대한 값 유형을 제공합니다. 정의한 사용자 지정 유형에 대해 Swift의 코드화 가능 지원을 채택하여 해당 유형을 디스크에 지속합니다. 앱에서 더 많은 양의 구조화된 데이터를 관리하는 경우 SwiftData, CoreData 및 CloudKit은 데이터를 관리하고 지속할 수 있는 개체 지향 모델을 제공합니다.
앱을 구축할 때는 창부터 시작하여 사람들이 콘텐츠에 몰입할 수 있도록 적절히 요소를 추가합니다. 볼륨을 추가하여 3D 콘텐츠를 선보이거나 전체 공간을 사용하여 몰입도를 높입니다. 혼합 스타일은 패스스루를 표시할 수 있도록 공간을 구성하지만, 몰입도를 높이고 주의 분산을 최소화하기 위해 점진적 또는 전체 스타일을 적용할 수 있습니다.
창에 깊이를 추가합니다. 깊이 기반 간격띄우기를 뷰에 적용하여 창의 일부를 강조하거나 양식의 변경을 나타냅니다. 3D 개체를 뷰 레이아웃에 직접 통합하여 2D 뷰와 나란히 배치합니다.
사용자 정의 보기에 호버 효과를 추가합니다. 누군가 호버 효과를 사용하여 사용자 정의 요소를 볼 때 강조 표시합니다. 원하는 모양을 얻기 위해 호버 효과의 동작을 사용자 정의합니다.
장식품을 사용하여 메뉴와 도구 모음을 구현합니다. 장식품을 사용하여 자주 사용하는 도구와 명령을 창 바깥쪽 가장자리에 놓습니다.
RealityKit은 Vision OS 앱에서 중요한 역할을 하고, 여러분은 앱에서 3D 객체의 생성과 애니메이션을 관리하기 위해 그것을 사용합니다. 프로그래밍 방식으로 RealityKit 컨텐츠를 만들거나, Reality Composer Pro를 사용하여 여러분이 필요한 모든 객체, 애니메이션, 소리, 시각 효과를 포함하는 전체 장면을 만드세요. RealityView를 사용하여 창, 볼륨, 또는 공간에 이러한 장면들을 포함하세요. 게다가, 여러분의 앱에서 다른 3D 기능들의 이점을 활용하세요:
동적 효과를 위해 MaterialX 쉐이더를 채택하세요. MaterialX는 주요 영화, 시각 효과, 엔터테인먼트 및 게임 회사에서 지원하는 개방형 표준입니다. 기존 도구를 사용하여 MaterialX 쉐이더를 만들고 Reality Composer Pro를 사용하여 RealityKit 장면에 통합하십시오.
3D 콘텐츠를 USDZ 파일로 저장합니다. 좋아하는 도구를 사용하여 복잡한 3D 객체와 메쉬를 구축하고 프로젝트에서 USDZ 자산으로 저장합니다. Reality Composer Pro에서 자산을 비파괴적으로 변경하여 더 큰 장면으로 결합합니다.
엑스코드로 3D 콘텐츠 미리보기를 만들어 보세요. 프로젝트 창에서 직접 3D 콘텐츠로 Swift UI 보기를 미리 봅니다. 엑스코드 미리보기에서 여러 카메라 위치를 지정하여 콘텐츠를 여러 각도에서 볼 수 있습니다.
비전 OS에서, 사람들은 주로 그들의 눈과 손을 사용하여 앱과 상호 작용합니다. 간접적인 제스처에서, 누군가가 어떤 대상을 보고, 그리고 나서 그들의 엄지손가락에 손가락을 두드려 그것을 선택합니다. 직접적인 제스처에서, 그 사람의 손가락은 3D 공간에서 그 대상과 상호 작용합니다. 당신의 앱에서 입력을 다룰 때:
표준 시스템 제스처를 채택합니다. 대부분의 앱과의 상호 작용을 탭, 스와이프, 드래그, 터치 앤 홀드, 더블 탭, 줌, 회전 제스처에 의존합니다. SwiftUI와 UIKit은 여러 플랫폼에서 이러한 제스처를 처리할 수 있도록 내장된 지원을 제공합니다.
외부 게임 컨트롤러에 대한 지원을 추가합니다. 게임 컨트롤러는 당신의 앱에 대한 대체 입력 형태를 제공합니다. 시스템은 연결된 무선 키보드, 트랙패드 및 접근성 하드웨어로부터의 입력을 당신의 앱의 이벤트 핸들러 코드로 자동 지시합니다. 게임 컨트롤러의 경우 게임 컨트롤러 프레임워크를 사용하여 명시적으로 지원을 추가합니다.
아르킷(ARKit)으로 사용자 지정 제스처를 만듭니다. 시스템은 아르킷(ARKit)을 사용하여 사람의 주변 환경과의 상호 작용을 용이하게 합니다. 앱이 전체 공간(Full Space)으로 이동하면, 사용자 지정 제스처를 만들기 위해 그 사람의 손과 손가락의 위치를 검색하고 그 정보를 사용하기 위해 사용 권한을 요청할 수 있습니다.
풀 스페이스(Full Space)에서 아킷(ARKit)은 콘텐츠와 관련된 상호 작용을 지원하기 위한 부가 서비스를 제공합니다. 사람의 주변 환경에서 표면과 알려진 이미지를 감지하고 앵커를 부착합니다. 주변의 메쉬(mesh)를 획득하여 RealityKit 장면에 추가하여 앱의 콘텐츠와 실제 사물 간의 상호 작용을 가능하게 합니다. 주변 환경에 대한 애플 비전 프로의 위치와 방향을 결정하고 콘텐츠를 배치하기 위해 월드 앵커를 추가합니다.