2024 애플이 선점한 공간컴퓨팅 시대, 나만의 비전프로 3D app을 구현해보는 법 Swift&SwiftUI&RealityKit
#Swift
#비전프로
#SwiftUI
pc→스마트폰을 넘어서 XR기기가 상용화된 시대가 올까?
제 대답은 “YES”입니다. 지난 2월, 애플이 ‘비전프로’를 미국에서 출시하면서 전세계 각국의 많은 관심과 시선을 사로 잡았었죠. 이번 6월 해외 시장에 진출한다는 첫 소식을 알리면서 메타, 애플, 삼성전자 등 많은 IT 빅테크들이 XR기기 시장을 주목하기 시작했습니다. 게임과 같은 특정 카테고리뿐만 아니라 개인 업무, 미팅, 영화&드라마 시청과 같이 새로운 공간컴퓨팅 시대의 환경을 경험할 수 있게 되었죠.
비전프로(Vision Pro)의 운영체제에 맞게 개발이 가능한 SDK(개발 도구 모음) 또한 공개되면서, 많은 개발자들이 비전 OS에 맞는 앱을 개발에 뛰어들어야 하는 시대도 머지않아 곧 도래할 것만 같습니다.
그래서 준비했습니다. 하드웨어 기기 없이도 최초로 Vision Pro 3D app 을 직접 개발하고 배포해 볼 수 있는 기회를요, 이번 과정은 ‘비전프로’의 운영체제와 개발 언어 Swift&SwiftUI 개념을 살펴보고 리얼리티킷을 활용하여 비전 OS에 구동할 수 있는 3D app 개발의 첫걸음을 상세히 가이드 해 드릴 예정입니다.
새로운 시대가 열리고 있는 지금, ‘공간컴퓨팅 & 3D App’ 이라는 거대한 물결에 함께 올라타 보시죠!
Q1. 간단하게 강사님 자기 소개 부탁드립니다.
: 안녕하세요. 박상욱입니다. 이전에는 인공지능 대학원에서 공부를 하였고, 스타트업에서 ML팀 리드를 맡았습니다. 현재는 비전프로가 가져다줄 세상에 메료되어 Vision Pro의 앱을 개발하는 스타트업을 운영하고 있습니다.
Q2. VisionPro App 프로젝트에 관해 개발을 진행하셨던 계기가 있으신지 말씀 부탁드립니다.
: 작년 WWDC 23에서 소개된 Apple의 Vision Pro 발표 영상을 보고, Apple에서 제시하는 새로운 컴퓨팅 플랫폼인 “공간 컴퓨팅”의 가능성을 보았습니다. 여러분들이 현재 많이 쓰고 있는 노트북인 맥북의 기원이 무엇인지 알고 계신가요?
바로 최초의 대중을 위한 개인 컴퓨터였던 Apple의 Lisa라는 제품입니다. Lisa가 나온 이후에 개인 컴퓨팅(Personal Computing)의 세상이 열렸고, 아이폰이 나온 이후에는 모바일 컴퓨팅(Mobile Computing)의 세상이 열렸죠. 그렇다면 다음은 무엇일까요? 저는 다음 플랫폼이 Apple이 제시한 “공간 컴퓨팅(Spatial Computing)”이라 생각합니다.
Q3. Vision OS 3D App 개발 입문하시는 분들이 해당 앱을 만들어 보려면, 사전에 어떤 지식이 필요할까요?
: 프로그래밍(Swift, Python 등)을 접해보셨던 분이면 좋아요! 하지만 초보자도 잘 따라올 수 있도록 강의를 준비하였습니다. 아주 기초적인 내용부터 시작해서 Vision OS App을 만들기 위해 필수적인 내용들로 구성하였습니다. 단! XCode(애플이 개발한 소프트웨어 개발 도구)가 필요하기 때문에, 맥북은 필수죠 🙂
Q4. 강사님께서 진행하셨던 비전프로 App 프로젝트 프로세스 2가지에 관해 설명 부탁드리겠습니다.
1) [영상 라이브러리 메모장]
비전프로 앱을 개발하는 방법은 크게 2가지입니다. 바로 Unity의 PolySpatial을 사용하는 방식과, Apple의 Vision OS를 통해 개발하는 방법이 있습니다. 우선 저는 Apple의 Vision OS를 통해 개발하였습니다. 3D 게시판과 같이 3D 모델을 앱 내에 추가하고 편집하기 위해서는 Reality Composer Pro를 사용해합니다. 또 3D Object에 핸드폰 화면과 같은 UI가 구성된 Window를 달기 위해서는 Attachment를 사용해야 합니다. 이를 적용하기 위해서는 Swift와 함께 SwiftUI를 사용해야 합니다.
[ Swift&SwiftUI&리얼리티킷 활용 프로젝트 1]
2) [3D Robot Game in AR] 프로젝트
공간 컴퓨팅의 가장 큰 장점 중에 하나는 사용자가 있는 실제 공간 위에서 디지털 경험을 선사할 수 있다는 것입니다. 특히나, Vision OS의 ARKit이 제공하는 공간을 인식하는 기능을 사용하게 되면 더욱 멋진 경험을 구성할 수 있습니다. 특히 벽이나 바닥을 인식해서 3D 디지털 모델과 상호작용 하는 기술을 활용해서 [3D Robot Game]을 만들었습니다.
[ Swift&SwiftUI&리얼리티킷 활용 프로젝트 2]
Q5. 네 명쾌한 답변 감사합니다. 이외 또 다른 개발을 진행하셨던 사례가 있으시다고 들었는데 이 부분도 말씀 부탁드리겠습니다.
: 비전프로와 함께 공개된 iPhone의 새로운 기능이 있습니다. 바로 공간 비디오(Spatial Video)입니다. 공간 비디오는 아이폰, 그 중에서도 15 pro 이상 모델에 있는 3개의 카메라 렌즈 중에 2개의 렌즈를 사용해서 3D 입체 영상을 찍을 수 있는 기능입니다. 글로벌 커뮤니티인 Reddit에는 이런 공간 비디오를 서로 공유하는 사람들이 많습니다. 그들을 위해서 공간 비디오를 서로 공유할 수 있는 플랫폼 KiiiP을 개발하였습니다.
Q6. 많은 비전 OS 앱을 개발하셨군요! 그렇다면 비전 OS의 3D 앱 개발을 위해 사전에 필요한 언어와 도구는 무엇이 있을까요?
: Unity의 PolySpatial이 아닌 native로 Vision OS에서 동작하는 앱을 개발하기 위해서는 Swift언어의 사용이 필수적입니다. Swift는 애플이 개발한 프로그래밍 언어입니다. 그리고 개발 도구로는 XCode가 필요합니다. XCode는 Apple의 공식 통합 개발 환경(IDE)으로, Vision OS 애플리케이션 개발을 위해 필수적인 도구입니다. Xcode는 코드 작성, 디버깅, UI 디자인, 시뮬레이션, 빌드 및 배포를 지원합니다.
Q7. 본 강의를 통해 예비수강생이 3D app 개발에 대해 학습한다면 어떤 측면에서 특별히 성장할 수 있을까요?
: 공간 컴퓨팅은 기존의 모바일이나 데스크톱에서 구동되는 어플리케이션과는 매우 다른 UI/UX를 가지고 있습니다. 공간을 활용한다는 경험 뿐만 아니라, 사용자의 입력 또한 기존의 기기들과는 차이가 많이 납니다. 본 강의를 통해서 학습자들은 3D기반의 App을 만들때 어떻게 UI/UX를 구성해야하는지에 대한 기본적인 내용을 배우게 됩니다. 예를 들어 Vision Pro에서 주된 입력으로 사용되는 손의 Hand Gesture 기능들을 개발하고 사용할 수 있게 됩니다. 핵심 언어 Swift와 주요 프레임워크 SwiftUI 핵심 개념을 알아보고, 더 나아가서 내가 만든 앱이 사용자의 “공간”과 어떻게 상호작용할 수 있는지에 대해서 알게 될 것입니다.
[OUTRO]
누군가는 Apple의 Vision Pro 기기가 매우 실험적인 기기라 말합니다. 사실 완전히 틀린 말은 아닙니다. 하지만 Apple이 가지고 있는 강력한 소프트웨어-하드웨어를 잇는 생태계를 기반으로, 공간 컴퓨팅은 더욱 발전하리라 생각합니다.
특히 Vision Pro는 가격이 비싸기 때문에 아직까지는 대중적인 제품이라 부르기 힘들 수 있지만, 향후 Vision Pro의 저가형 대중 모델이 출시가 된다면 공간 컴퓨팅 시장의 크기는 매우 빠르게 확장할 것입니다. 그렇기에 공간 컴퓨팅 세계에 먼저 도전하신다면 누구보다도 빠르게 미래를 준비할 수 있을 것입니다. ‘비전프로’의 OS 운영체제부터 개발언어 Swift&SwiftUI까지 차근차근 살펴볼 예정이니까요.
직접 비전프로와 연동할 수 있는 3D app 개발을 해보며 다른 사람들보다 조금 더 빠르게 새로운 시대를 준비할 수 있는 기회를 만들어 보고 싶다면, 지금 바로 아래 링크에서 확인해보세요!
▼ 자세한 사항은 하단 링크 참조 ▼
https://bit.ly/4bvB0s8