visionOS Apple Samples
Update: 2025/6/27
現在 67個 のサンプルがあります
New!
- Canyon Crosser: Building a volumetric hike-planning app
- Petite Asteroids: Building a volumetric visionOS game
- Playing immersive media with RealityKit
- Bringing your SceneKit projects to RealityKit
- Presenting images in RealityKit
- Tracking accessories in volumetric windows
- Tracking a handheld accessory as a virtual sculpting tool
- Synchronizing group gameplay with TabletopKit
- Converting projected video to Apple Projected Media Profile
- Authoring Apple Immersive Video
- Playing immersive media with AVKit
- WWDC 25 Sessions
visionOS
Introductory visionOS samples
難易度: ★☆☆☆☆ - ★★☆☆☆
Canyon Crosser: Building a volumetric hike-planning app
難易度: ★★★★☆
Hello World
難易度: ★★★☆☆
VolumeとImmersive Space表示への遷移があり、SystemとComponentを使った制御もある、参考になる要素が多い内容。画面要素の組み立て方も必見。
Petite Asteroids: Building a volumetric visionOS game
難易度: ★★★★☆
Destination Video
難易度: ★★★☆☆
動画再生とその制御で参考にするのはこちら。背景を完全に置き換えた空間内で再生する状態もあり。
Diorama
難易度: ★★★☆☆
Reality Composer Proで構築された2つの箱庭的3Dオブジェクトの表示とその切り替え。サウンドやAttachmentの実装も参考になる。
Happy Beam
難易度: ★★★★☆
Hand Gestureの作り方、ゲーム的進行の制御、ARKitの扱いが盛り込まれた内容。
Swift Splash
難易度: ★★★★☆
Reality Composer Proで作られたコンポーネントを接続する。要素選択画面や接続処理など。
BOT-anist
難易度: ★★★☆☆
キャラクタカスタマイズの部分とアニメーションとインタラクション。
Placing content on detected planes
難易度: ★★★☆☆
4種のモデルを空間に配置。永続化と復元も処理している。
Incorporating real-world surroundings in an immersive experience
難易度: ★★☆☆☆
空間をタップするとキューブが生成され物理演算される。タップの制御やModel生成や物理の設定など参考になる。
Exploring object tracking with ARKit
難易度: ★★☆☆☆
オブジェクトトラッキング。Appleのキーボードのテストデータがある。任意のモデルをトラッキングしたい場合は自分で追加する必要あり。
Object tracking with Reality Composer Pro experiences
難易度: ★★☆☆☆
オブジェクトトラッキングからゲーム体験へ。Appleのキーボードを基点にストーリーが展開する仕掛け。入力判定が厳しく操作性に難があるがオブジェクトを軸にした表示として参考になる。
Building local experiences with room tracking
難易度: ★★☆☆☆
部屋を移動する際の制御。目の前に追従するインターフェイスなど。
Placing entities using head and device transform
難易度: ★★☆☆☆
鳥が自分に追従してきたり、自分の目の前の固定位置に居続けたりする。
シミュレータでも実行可能。
Playing immersive media with RealityKit
難易度: ★★★☆☆
Creating a multiview video playback experience in visionOS
難易度: ★★★☆☆
複数映像の同時再生。
Multiview buttonで同時視聴モードになりAVExperienceController、AVContentSelectionViewControllerで再生や動的な再生ビデオ追加を制御している。
Accessing the main camera
難易度: ★★☆☆☆
Enterpriseライセンスが必要。
MainCamera(左側カメラ)から映像取得する処理。
CameraFrameProvider。
Displaying video from connected devices
難易度: ★★☆☆☆
Enterpriseライセンスが必要。
Developer Strapで接続したUSBビデオクラス(UVC)デバイスから映像表示をする実装。
AVCaptureDevice.DiscoverySession(deviceTypes: [.external], mediaType: .video, position: .unspecified) で機器を見つけるようですね。
Locating and decoding barcodes in 3D space
難易度: ★★☆☆☆
Enterpriseライセンスが必要。
空間内でのバーコード、QRコードの位置取得処理。
BarcodeDetectionProvider。
RealityKit
Transforming entities between RealityKit coordinate spaces
難易度: ★★☆☆☆
Volumetric内のEntityとImmersive Space内のEntityの相互移動処理。
Transforming RealityKit entities using gestures
難易度: ★★☆☆☆
様々なパターンでのEntityのdrag、scale、rotateの設定処理。
Animating entity rotation with a system
難易度: ★★☆☆☆
RealityKitでEntity Component Systemを使って回転制御する処理。
回転処理実装で悩んだらここを参照しそう。
Packageの方で実装し本体からはシンプルな呼び出しにしている構成も参考になる。
Responding to gestures on an entity
難易度: ★☆☆☆☆
SpatialEventGestureの使い方。
RealityViewを使って表示したEntityのタップ処理を実装するミニマムな実装。
Attachmentの有無を切り替えている。
誰かにこのあたりの処理を説明する時に良さそうな内容。
Composing interactive 3D content with RealityKit and Reality Composer Pro
難易度: ★★★☆☆
Presenting an artist’s scene
難易度: ★★☆☆☆
Creating a spatial drawing app with RealityKit
難易度: ★★★★★
Generating interactive geometry with RealityKit
難易度: ★★★☆☆
インタラクティブなメッシュ生成。Low-level MeshとLow-level Texture使用。
Combining 2D and 3D views in an immersive app
難易度: ★★☆☆☆
Rendering a windowed game in stereo
難易度: ★★☆☆☆
Bringing your SceneKit projects to RealityKit
難易度: tbd
Creating a Spaceship game
難易度: ★★★★☆
Presenting images in RealityKit
難易度: tbd
Docking a video player in an immersive scene
難易度: ★★☆☆☆
非Immersive Space時の動画再生をImmersive Spaceになった際に位置固定して表示する。
.immersiveEnvironmentPicker も使用している。Playerの持ち方、Componentの付け方など参考になる。使用動画の音声はDolby Atmosのようだ。
Simulating physics with collisions in your visionOS app
難易度: ★★☆☆☆
Simulating particles in your visionOS app
難易度: ★★☆☆☆
Simulating physics joints in your RealityKit app
難易度: ★★☆☆☆
Construct an immersive environment for visionOS
難易度: ★★☆☆☆
ARKit
Tracking accessories in volumetric windows
難易度: tbd
Tracking a handheld accessory as a virtual sculpting tool
難易度: tbd
Group Activities
Customizing spatial Persona templates
難易度: ★★★☆☆
TabletopKit
Creating tabletop games
難易度: ★★★☆☆
Synchronizing group gameplay with TabletopKit
難易度: ★★★☆☆
Compositor Services
Interacting with virtual content blended with passthrough
難易度: ★★★☆☆
AVFoundation
Reading multiview 3D video files
難易度: ★★☆☆☆
Converting side-by-side 3D video to multiview HEVC and spatial video
難易度: ★★☆☆☆
Converting projected video to Apple Projected Media Profile
難易度: tbd
Immersive Media Support
Authoring Apple Immersive Video
難易度: tbd
Image I/O
Writing spatial photos
難易度: ★★☆☆☆
Spatial Photo生成のコマンドラインツール。引数でオプション指定可能。生成されるのはheic。
AVKit
Playing immersive media with AVKit
難易度: tbd
WWDC 25 Session
Explore enhancements to your spatial business app / 空間ビジネスアプリの機能強化の詳細
visionOS 26の最新の機能強化とAPIが、昨年発表されたアクセス機能とエンタープライズ機能をどのように拡張するかを紹介します。これらのまったく新しい機能により、モデルトレーニングワークフローの構築やビデオフィードの強化を簡単に行うことができます。また、ローカルネットワーク上で座標系を同期して、社内アプリでコラボレーション体験を実現できます。このセッションでその方法を学びましょう。
What’s new for the spatial web / 空間Webの新機能
visionOS 26のWeb向けの最新の空間機能を紹介します。刷新されたHTMLモデル要素を使用して3Dモデルをインラインで表示する方法や、モデルの照明、インタラクション、アニメーションなどの強力な機能について解説します。360度ビデオやApple Immersive Videoなどの新しくサポートされるイマーシブメディアをWebサイトに埋め込む方法を説明するほか、Webページにカスタム環境を追加する方法のプレビューもお見せします。
Design widgets for visionOS / visionOS向けウィジェットのデザイン
周囲の環境に自然に溶け込む、visionOS 26向けの美しいウィジェットをデザインする方法を学びましょう。ウィジェットのデザインに奥行きを追加し、空間コンピューティングのマテリアル、サイズ、スタイルをカスタマイズする方法について説明します。既存のウィジェットをvisionOS向けに調整する方法や、現実のオブジェクトのような新しいウィジェットをデザインする方法を紹介します。
Meet SwiftUI spatial layout / SwiftUIの空間レイアウトの紹介
SwiftUIを使用して空間体験を構築するための新しいツールを紹介します。visionOSにおける3D SwiftUIビューの基本、奥行き/深度のアライメントを使って既存のレイアウトをカスタマイズする方法、モディファイアを使用して空間内にビューを配置したり、回転したりする方法を学びましょう。空間コンテナを使って、同じ3D空間内に複数のビューを整列させ、イマーシブで魅力的なアプリを作成する方法についても解説します。
Better together: SwiftUI and RealityKit / SwiftUIとRealityKitの連係
visionOS 26でSwiftUIとRealityKitをシームレスに融合させる方法について説明します。アニメーションやConfigurationCatalogのサポートなど、さらに強化されたModel3Dの機能を紹介し、RealityViewへのスムーズな移行のデモを行います。SwiftUIのアニメーションを利用してRealityKitコンポーネントの変更を適用する方法、インタラクティブな操作を実装する方法、新しいSwiftUIコンポーネントを使ってリッチなインタラクションを実現する方法、SwiftUIコードからRealityKitの変更を確認する方法を紹介します。また、フレームワーク座標変換のための統一座標変換の使用方法についても解説します。
What’s new in widgets / ウィジェットの新機能
WidgetKitは、ウィジェット、ライブアクティビティ、コントロールのアップデートによってアプリを向上させます。ウィジェットをvisionOSに取り込んだり、CarPlayを使って運転中にウィジェットを操作したり、アクセント付きレンダリングモードでウィジェットの外観を向上させる方法を学びましょう。また、watchOSのスマートスタックに関連ウィジェットを表示する方法や、プッシュ通知を使用してウィジェットを最新の状態に維持する方法も説明します。
What’s new in RealityKit / RealityKitの新機能
iOS、iPadOS、macOS、tvOS、visionOS向けの優れた3Dコンテンツの構築を支援するRealityKitの新機能を活用して、クリエイティブな可能性を解き放ちましょう。ARKitのデータに、RealityKitを介して直接アクセスする方法を学びます。オブジェクト操作機能を使用して、3Dコンテンツをより自然に操作する方法を解説します。シーン理解、環境の融合、インスタンス化などのための新しいAPIについての、インタラクティブなサンプルを用いたデモも行います。
Bring your SceneKit project to RealityKit / SceneKitプロジェクトのRealityKitへの移行
SceneKitのサポート終了と、Appleが推奨する高度な3DエンジンであるRealityKitに3Dプロジェクトを移行する方法について解説します。SceneKitのサポート終了によるプロジェクトへの影響を説明し、SceneKitとRealityKitの主な概念を比較したうえで、SceneKitのサンプルゲームをRealityKitにポーティングするデモを行います。また、サポート対象のすべてのプラットフォームにおいてRealityKitがもたらす、アプリやゲームで卓越した3D体験を構築するうえでの可能性についても検討します。
Explore spatial accessory input on visionOS / visionOSでの空間アクセサリ入力の詳細
空間アクセサリをアプリに統合する方法を学びましょう。バーチャルコンテンツの表示、アプリの操作、空間内でのトラッキング、インタラクションに関する情報の取得により、visionOSでのバーチャル体験を向上させることができます。
Set the scene with SwiftUI in visionOS / SwiftUIによるvisionOSのシーンの設定
visionOSアプリのウインドウ、ボリューム、イマーシブ空間を強化する、エキサイティングな新しいAPIを紹介します。再起動やロックされた場合にシーンの動作を微調整したり、クリッピングマージンやスナップ機能を使ってボリュームを周囲に適応させたりすることが可能です。イマーシブなコンテンツをMacからVision Proにストリーミングすることもできます。ボリュームとイマーシブ空間を活用して、UIKitベースの既存のアプリを向上させましょう。
What’s new in Metal rendering for immersive apps / イマーシブなアプリを作成するためのMetalレンダリングの新機能
Compositor Servicesによりアプリのイマーシブ体験を向上させるための、Metalのレンダリングにおける最新の機能強化について確認します。アプリのインタラクティブな要素を強調表示するためにホバーエフェクトを追加する方法や、動的なレンダリング品質を使用してより高画質なレンダリングを行う方法を紹介するほか、新しい段階的イマーシブスタイルについて説明します。また、MetalコンテンツをMacからVison Proに直接レンダリングすることで、macOSアプリでイマーシブ体験を実現する方法を解説します。 このセッションの内容を十分理解できるよう、まずWWDC23の「Discover Metal for immersive apps」を視聴することをおすすめします。
Support immersive video playback in visionOS apps / visionOSアプリでのイマーシブなビデオ再生のサポート
visionOSアプリでイマーシブなビデオを再生する方法を学びましょう。各種のイマーシブなレンダリングモードとそれらをサポートするフレームワークを紹介し、イマーシブなビデオをアプリでレンダリングする方法について説明します。このビデオの内容を十分理解できるよう、最初に、WWDC25の「Explore video experiences for visionOS」を視聴することをおすすめします。
Learn about the Apple Projected Media Profile / Apple Projected Media Profileについて
Apple Projected Media Profile(APMP)の詳細と、Video Extended Usageシグナリングを活用することでQuickTimeファイルやMP4ファイルにおける180度/360度およびWide FoVのプロジェクションを実現する、APMPの機能について解説します。OSに用意されたフレームワークとツールを使用して、APMPを含むメディアの変換、読み書き、編集、エンコードを行う方法のガイドを提供します。また、高度なイマーシブ体験を実現する空間オーディオコンテンツの作成と提供を可能にする、Apple Positional Audio Codec(APAC)の機能についても触れます。
Design hover interactions for visionOS / visionOSのホバーインタラクションのデザイン
visionOSアプリにおける高度なインタラクションの作成方法を紹介します。魅力的なカスタムのホバーエフェクトやアニメーションをデザインする方法のほか、よくあるミスを回避したり、Look to Scrollなどのインタラクションを活用したり、持続的なエフェクトを使って直感的なメディアコントロールを構築したりする方法も学べます。
Explore video experiences for visionOS / visionOSのビデオ体験の詳細
イマーシブなビデオ体験を作成して、アプリ内で提示する方法をいくつか紹介します。visionOS 26で利用できるさまざまなメディアタイプについて説明します。180度、360度、およびワイドFOVビデオのプロファイル、Apple Immersive Videoを作成して再生するためのオプションや、2D、3D、および空間ビデオの拡張機能などがあります。アプリとそのコンテンツに最適なプロファイルを確認しましょう。
Optimize your custom environments for visionOS / visionOSのカスタム環境の最適化
プロシージャツールを使用して、visionOSのアプリやゲーム向けの美しいイマーシブ環境を作成する方法を学びましょう。高品質な環境を作成するための構成要素を紹介し、最適化プロセスについて詳しく説明します。シーンのポリゴン数を減らす、ジオメトリをクリーンアップする、UVマップをパッケージ化する、Reality Composer Proまたはその他のゲームエンジンにインポートするためのUSDアセットを作成するなど、Appleが提供する一連のHoudini用ワークフローを活用する方法を紹介します。
What’s new in visionOS 26 / visionOS 26の新機能
visionOS 26のエキサイティングな新機能について学びましょう。強化されたVolumetric APIについて解説し、SwiftUI、RealityKit、ARKitの機能を組み合わせる方法を紹介します。より高速なハンドトラッキングと空間アクセサリからの入力を使用して、魅力的なアプリとゲームを開発する方法について説明します。SharePlay、Compositor Services、イマーシブなメディア、空間Web、Enterprise APIなどの最新アップデートの概要をいち早くご確認いただけます。
Share visionOS experiences with nearby people / 近くにいるユーザーとvisionOSの体験を共有
同じ室内でVision Proを装着している複数のユーザーが体験を共有できるようにする方法を学びます。SharePlayを統合してアプリでARKitを利用する方法、FaceTimeに参加している近くにいるユーザーがウインドウを共有するための新しいフローの導入方法、シームレスなコラボレーションのための新しいAPIを紹介します。コラボレーション機能を活用し、ほかの人に簡単に見つけてもらい、同じ空間で共同作業するためのベストプラクティスを紹介します。
Learn about Apple Immersive Video technologies / Apple Immersive Videoテクノロジーについて
真のイマーシブ体験を実現するための、Apple Immersive VideoおよびApple Spatial Audio Formatテクノロジーの機能を確認しましょう。Apple Immersive Videoを利用するために必要なメタデータを読み書きする機能を提供する、新しいImmersiveMediaSupportフレームワークを紹介します。Apple Immersive VideoのコンテンツをHLS経由で再生およびストリーミングできるように、スタンドアロンファイルにエンコードして公開するためのガイドラインについても解説します。 このセッションの内容を十分理解できるよう、まず「Explore video experiences for visionOS」のビデオを視聴することをおすすめします。
Discussion