Upgrade to Pro — share decks privately, control downloads, hide ads and more …

VisionOS 向けアプリをつくってみる - よりひろいフロントエンド

VisionOS 向けアプリをつくってみる - よりひろいフロントエンド

城崎温泉で行われた冬の合宿にて、VisionOS 向けアプリをつくってみるというのを目標に参加してきました。そのときの成果発表のスライドです。Swift UI そして ImmersiveSpace の使い方を把握するということが目的でした。

kazuhiro hara

March 09, 2024
Tweet

More Decks by kazuhiro hara

Other Decks in Programming

Transcript

  1. VisionOS の開発をしようと思った • XREALのアプリのリリース経験はある (Unity / Android) • Meta Quest

    3 の XR アプリはちょっと作ったくらい (Unity / Android) • Vision Pro 向けはない ◦ Swift / Swift UI の経験もない ◦ iOS 系だと React Native での開発はある ◦ そもそも今持っている MacBook 12 inch では開発キットも動かない ◦ Mac mini M2 を買った
  2. VisionOS とは • Apple Vision Pro向けのアプリを作る場合は、VisionOS をターゲットに する必要がある • Xcode

    や Unity などで作ることが出来る想定 • 空間コンピューティングというキーワード • Swift UI を使ってアプリを作れる • 3D 空間のコンテンツは Reality Composer Pro を使って作る ◦ Unity っぽい
  3. VisionOS 向け開発をはじめる方法 • 対応 Mac を用意する ◦ Developing for visionOS

    requires a Mac with Apple silicon. (114799042) • Xcode を入れる • 新規プロジェクトを作成し、 Swift のコードなどを書いていく • 3D 空間のコンテンツは Reality Composer Pro を起動して 編集する
  4. 3つのアプリケーションのレベル • ウインドウ ◦ 1つまたは複数のウインドウを作成できる ◦ Swift UI で構築可能 ◦

    3D コンテンツを入れることも可能 • ボリューム ◦ RealityKitやUnityを使用して3Dコンテンツを表示できる SwiftUIのシーン ◦ 共有スペースやフルスペースに配置できる • スペース ◦ 共有スペース ▪ Macのデスクトップ表示のように複数のアプリが並んで配置される ◦ フルスペース ▪ 単一のアプリ専用
  5. 作ったもの • 単なる計算アプリ • Mac や iOS の Swift UI

    をほ ぼそのまま使える • ImmersiveSpace の表示非表 示のスイッチも作ってみた
  6. Immersive Space • Immersive spaces ◦ Mixed ▪ パススルーに重なる形でコンテンツがブレンドされる ◦

    Full ▪ パススルーがオフになり、完全にコンテンツ支配下になる ◦ Progressive ▪ パススルーの一部をコンテンツに置き換える (らしい) • 今回未使用
  7. ポイント • iPhone 開発で Swift UI に慣れている人ならすぐ馴染めそう • ただ、ImmersiveSpace のあたりは独特かもしれない

    ◦ ImmersionStyle | Apple Developer Documentation https://developer.apple.com/documentation/swiftui/immersionstyle • Reality Composer Pro は Unity に慣れている人なら使える気がする ◦ Packages/Sources/RealityKitContent.rkassets ◦ 空間アプリ向けの制作ツール - 拡張現実 - Apple Developer https://developer.apple.com/jp/augmented-reality/tools/