🕶️

visionOS Apple Samples

に公開

Update: 2025/6/27
現在 67個 のサンプルがあります

New!

visionOS

Introductory visionOS samples

難易度: ★☆☆☆☆ - ★★☆☆☆

Title Image
Creating 2D shapes with SwiftUI
Creating 3D entities with RealityKit
Creating SwiftUI windows in visionOS
Creating 3D models as movable windows
Displaying text in visionOS
Adding a depth effect to text in visionOS
Creating an interactive 3D model in visionOS
Creating an immersive space in visionOS
Creating a 3D painting space
Tracking and visualizing hand movement
Displaying an entity that follows a person’s view
Applying mesh to real-world surroundings
Obscuring virtual items in a scene behind real-world items
Generating procedural textures
Implementing adjustable material
Displaying a stereoscopic image
Playing spatial audio
Displaying a 3D environment through a portal

Canyon Crosser: Building a volumetric hike-planning app

難易度: ★★★★☆
https://developer.apple.com/documentation/visionos/canyon-crosser-building-a-volumetric-hike-planning-app

Hello World

難易度: ★★★☆☆
https://developer.apple.com/documentation/visionos/world

VolumeとImmersive Space表示への遷移があり、SystemとComponentを使った制御もある、参考になる要素が多い内容。画面要素の組み立て方も必見。

Petite Asteroids: Building a volumetric visionOS game

難易度: ★★★★☆
https://developer.apple.com/documentation/visionos/petite-asteroids-building-a-volumetric-visionos-game

Destination Video

難易度: ★★★☆☆
https://developer.apple.com/documentation/visionos/destination-video

動画再生とその制御で参考にするのはこちら。背景を完全に置き換えた空間内で再生する状態もあり。

Diorama

難易度: ★★★☆☆
https://developer.apple.com/documentation/visionos/diorama

Reality Composer Proで構築された2つの箱庭的3Dオブジェクトの表示とその切り替え。サウンドやAttachmentの実装も参考になる。

Happy Beam

難易度: ★★★★☆
https://developer.apple.com/documentation/visionos/happybeam

Hand Gestureの作り方、ゲーム的進行の制御、ARKitの扱いが盛り込まれた内容。

Swift Splash

難易度: ★★★★☆
https://developer.apple.com/documentation/visionos/swift-splash

Reality Composer Proで作られたコンポーネントを接続する。要素選択画面や接続処理など。

BOT-anist

難易度: ★★★☆☆
https://developer.apple.com/documentation/visionos/bot-anist

キャラクタカスタマイズの部分とアニメーションとインタラクション。

Placing content on detected planes

難易度: ★★★☆☆
https://developer.apple.com/documentation/visionos/placing-content-on-detected-planes

4種のモデルを空間に配置。永続化と復元も処理している。

Incorporating real-world surroundings in an immersive experience

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/incorporating-real-world-surroundings-in-an-immersive-experience

空間をタップするとキューブが生成され物理演算される。タップの制御やModel生成や物理の設定など参考になる。

Exploring object tracking with ARKit

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/exploring_object_tracking_with_arkit

オブジェクトトラッキング。Appleのキーボードのテストデータがある。任意のモデルをトラッキングしたい場合は自分で追加する必要あり。

Object tracking with Reality Composer Pro experiences

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/object-tracking-with-reality-composer-pro-experiences

オブジェクトトラッキングからゲーム体験へ。Appleのキーボードを基点にストーリーが展開する仕掛け。入力判定が厳しく操作性に難があるがオブジェクトを軸にした表示として参考になる。

Building local experiences with room tracking

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/building_local_experiences_with_room_tracking

部屋を移動する際の制御。目の前に追従するインターフェイスなど。

Placing entities using head and device transform

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/placing-entities-using-head-and-device-transform

鳥が自分に追従してきたり、自分の目の前の固定位置に居続けたりする。
シミュレータでも実行可能。

Playing immersive media with RealityKit

難易度: ★★★☆☆
https://developer.apple.com/documentation/visionOS/playing-immersive-media-with-realitykit

Creating a multiview video playback experience in visionOS

難易度: ★★★☆☆
https://developer.apple.com/documentation/avkit/creating-a-multiview-video-playback-experience-in-visionos

複数映像の同時再生。
Multiview buttonで同時視聴モードになりAVExperienceController、AVContentSelectionViewControllerで再生や動的な再生ビデオ追加を制御している。

Accessing the main camera

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/accessing-the-main-camera

Enterpriseライセンスが必要。
MainCamera(左側カメラ)から映像取得する処理。
CameraFrameProvider。

Displaying video from connected devices

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/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

難易度: ★★☆☆☆
https://developer.apple.com/documentation/visionos/locating-and-decoding-barcodes-in-3d-space

Enterpriseライセンスが必要。
空間内でのバーコード、QRコードの位置取得処理。
BarcodeDetectionProvider。

RealityKit

Transforming entities between RealityKit coordinate spaces

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/transforming-entities-between-realitykit-coordinate-spaces

Volumetric内のEntityとImmersive Space内のEntityの相互移動処理。

Transforming RealityKit entities using gestures

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/transforming-realitykit-entities-with-gestures

様々なパターンでのEntityのdrag、scale、rotateの設定処理。

Animating entity rotation with a system

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/animated-rotation-with-a-system

RealityKitでEntity Component Systemを使って回転制御する処理。
回転処理実装で悩んだらここを参照しそう。

Packageの方で実装し本体からはシンプルな呼び出しにしている構成も参考になる。

Responding to gestures on an entity

難易度: ★☆☆☆☆
https://developer.apple.com/documentation/realitykit/responding-to-gestures-on-an-entity

SpatialEventGestureの使い方。
RealityViewを使って表示したEntityのタップ処理を実装するミニマムな実装。
Attachmentの有無を切り替えている。
誰かにこのあたりの処理を説明する時に良さそうな内容。

Composing interactive 3D content with RealityKit and Reality Composer Pro

難易度: ★★★☆☆
https://developer.apple.com/documentation/realitykit/composing-interactive-3d-content-with-realitykit-and-reality-composer-pro

Presenting an artist’s scene

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/presenting-an-artists-scene

Creating a spatial drawing app with RealityKit

難易度: ★★★★★
https://developer.apple.com/documentation/realitykit/creating-a-spatial-drawing-app-with-realitykit

Generating interactive geometry with RealityKit

難易度: ★★★☆☆
https://developer.apple.com/documentation/realitykit/generating-interactive-geometry-with-realitykit

インタラクティブなメッシュ生成。Low-level MeshとLow-level Texture使用。

Combining 2D and 3D views in an immersive app

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/combining-2d-and-3d-views-in-an-immersive-app

Rendering a windowed game in stereo

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/rendering-a-windowed-game-in-stereo

Bringing your SceneKit projects to RealityKit

難易度: tbd
https://developer.apple.com/documentation/realitykit/bringing-your-scenekit-projects-to-realitykit

Creating a Spaceship game

難易度: ★★★★☆
https://developer.apple.com/documentation/realitykit/creating-a-spaceship-game

Presenting images in RealityKit

難易度: tbd
https://developer.apple.com/documentation/realitykit/presenting-images-in-realitykit

Docking a video player in an immersive scene

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/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

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/simulating-physics-with-collisions-in-your-visionos-app

Simulating particles in your visionOS app

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/simulating-particles-in-your-visionos-app

Simulating physics joints in your RealityKit app

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/simulating-physics-joints-in-your-realitykit-app

Construct an immersive environment for visionOS

難易度: ★★☆☆☆
https://developer.apple.com/documentation/realitykit/construct-an-immersive-environment-for-visionos

ARKit

Tracking accessories in volumetric windows

難易度: tbd
https://developer.apple.com/documentation/arkit/tracking-accessories-in-volumetric-windows

Tracking a handheld accessory as a virtual sculpting tool

難易度: tbd
https://developer.apple.com/documentation/arkit/tracking-a-handheld-accessory-as-a-virtual-sculpting-tool

Group Activities

Customizing spatial Persona templates

難易度: ★★★☆☆
https://developer.apple.com/documentation/groupactivities/customizing-spatial-persona-templates

TabletopKit

Creating tabletop games

難易度: ★★★☆☆
https://developer.apple.com/documentation/tabletopkit/tabletopkitsample

Synchronizing group gameplay with TabletopKit

難易度: ★★★☆☆
https://developer.apple.com/documentation/tabletopkit/synchronizing-group-gameplay-with-tabletopkit

Compositor Services

Interacting with virtual content blended with passthrough

難易度: ★★★☆☆
https://developer.apple.com/documentation/compositorservices/interacting_with_virtual_content_blended_with_passthrough

AVFoundation

Reading multiview 3D video files

難易度: ★★☆☆☆
https://developer.apple.com/documentation/avfoundation/media_reading_and_writing/reading_multiview_3d_video_files

Converting side-by-side 3D video to multiview HEVC and spatial video

難易度: ★★☆☆☆
https://developer.apple.com/documentation/avfoundation/media_reading_and_writing/converting_side-by-side_3d_video_to_multiview_hevc_and_spatial_video

Converting projected video to Apple Projected Media Profile

難易度: tbd
https://developer.apple.com/documentation/avfoundation/converting-projected-video-to-apple-projected-media-profile

Immersive Media Support

Authoring Apple Immersive Video

難易度: tbd
https://developer.apple.com/documentation/immersivemediasupport/authoring-apple-immersive-video

Image I/O

Writing spatial photos

難易度: ★★☆☆☆
https://developer.apple.com/documentation/ImageIO/writing-spatial-photos

Spatial Photo生成のコマンドラインツール。引数でオプション指定可能。生成されるのはheic。

AVKit

Playing immersive media with AVKit

難易度: tbd
https://developer.apple.com/documentation/avkit/playing-immersive-media-with-avkit

WWDC 25 Session

Explore enhancements to your spatial business app / 空間ビジネスアプリの機能強化の詳細

https://developer.apple.com/videos/play/wwdc2025/223/

visionOS 26の最新の機能強化とAPIが、昨年発表されたアクセス機能とエンタープライズ機能をどのように拡張するかを紹介します。これらのまったく新しい機能により、モデルトレーニングワークフローの構築やビデオフィードの強化を簡単に行うことができます。また、ローカルネットワーク上で座標系を同期して、社内アプリでコラボレーション体験を実現できます。このセッションでその方法を学びましょう。

What’s new for the spatial web / 空間Webの新機能

https://developer.apple.com/videos/play/wwdc2025/237/

visionOS 26のWeb向けの最新の空間機能を紹介します。刷新されたHTMLモデル要素を使用して3Dモデルをインラインで表示する方法や、モデルの照明、インタラクション、アニメーションなどの強力な機能について解説します。360度ビデオやApple Immersive Videoなどの新しくサポートされるイマーシブメディアをWebサイトに埋め込む方法を説明するほか、Webページにカスタム環境を追加する方法のプレビューもお見せします。

Design widgets for visionOS / visionOS向けウィジェットのデザイン

https://developer.apple.com/videos/play/wwdc2025/255/

周囲の環境に自然に溶け込む、visionOS 26向けの美しいウィジェットをデザインする方法を学びましょう。ウィジェットのデザインに奥行きを追加し、空間コンピューティングのマテリアル、サイズ、スタイルをカスタマイズする方法について説明します。既存のウィジェットをvisionOS向けに調整する方法や、現実のオブジェクトのような新しいウィジェットをデザインする方法を紹介します。

Meet SwiftUI spatial layout / SwiftUIの空間レイアウトの紹介

https://developer.apple.com/videos/play/wwdc2025/273/

SwiftUIを使用して空間体験を構築するための新しいツールを紹介します。visionOSにおける3D SwiftUIビューの基本、奥行き/深度のアライメントを使って既存のレイアウトをカスタマイズする方法、モディファイアを使用して空間内にビューを配置したり、回転したりする方法を学びましょう。空間コンテナを使って、同じ3D空間内に複数のビューを整列させ、イマーシブで魅力的なアプリを作成する方法についても解説します。

Better together: SwiftUI and RealityKit / SwiftUIとRealityKitの連係

https://developer.apple.com/videos/play/wwdc2025/274/

visionOS 26でSwiftUIとRealityKitをシームレスに融合させる方法について説明します。アニメーションやConfigurationCatalogのサポートなど、さらに強化されたModel3Dの機能を紹介し、RealityViewへのスムーズな移行のデモを行います。SwiftUIのアニメーションを利用してRealityKitコンポーネントの変更を適用する方法、インタラクティブな操作を実装する方法、新しいSwiftUIコンポーネントを使ってリッチなインタラクションを実現する方法、SwiftUIコードからRealityKitの変更を確認する方法を紹介します。また、フレームワーク座標変換のための統一座標変換の使用方法についても解説します。

What’s new in widgets / ウィジェットの新機能

https://developer.apple.com/videos/play/wwdc2025/278/

WidgetKitは、ウィジェット、ライブアクティビティ、コントロールのアップデートによってアプリを向上させます。ウィジェットをvisionOSに取り込んだり、CarPlayを使って運転中にウィジェットを操作したり、アクセント付きレンダリングモードでウィジェットの外観を向上させる方法を学びましょう。また、watchOSのスマートスタックに関連ウィジェットを表示する方法や、プッシュ通知を使用してウィジェットを最新の状態に維持する方法も説明します。

What’s new in RealityKit / RealityKitの新機能

https://developer.apple.com/videos/play/wwdc2025/287/

iOS、iPadOS、macOS、tvOS、visionOS向けの優れた3Dコンテンツの構築を支援するRealityKitの新機能を活用して、クリエイティブな可能性を解き放ちましょう。ARKitのデータに、RealityKitを介して直接アクセスする方法を学びます。オブジェクト操作機能を使用して、3Dコンテンツをより自然に操作する方法を解説します。シーン理解、環境の融合、インスタンス化などのための新しいAPIについての、インタラクティブなサンプルを用いたデモも行います。

Bring your SceneKit project to RealityKit / SceneKitプロジェクトのRealityKitへの移行

https://developer.apple.com/videos/play/wwdc2025/288/

SceneKitのサポート終了と、Appleが推奨する高度な3DエンジンであるRealityKitに3Dプロジェクトを移行する方法について解説します。SceneKitのサポート終了によるプロジェクトへの影響を説明し、SceneKitとRealityKitの主な概念を比較したうえで、SceneKitのサンプルゲームをRealityKitにポーティングするデモを行います。また、サポート対象のすべてのプラットフォームにおいてRealityKitがもたらす、アプリやゲームで卓越した3D体験を構築するうえでの可能性についても検討します。

Explore spatial accessory input on visionOS / visionOSでの空間アクセサリ入力の詳細

https://developer.apple.com/videos/play/wwdc2025/289/

空間アクセサリをアプリに統合する方法を学びましょう。バーチャルコンテンツの表示、アプリの操作、空間内でのトラッキング、インタラクションに関する情報の取得により、visionOSでのバーチャル体験を向上させることができます。

Set the scene with SwiftUI in visionOS / SwiftUIによるvisionOSのシーンの設定

https://developer.apple.com/videos/play/wwdc2025/290/

visionOSアプリのウインドウ、ボリューム、イマーシブ空間を強化する、エキサイティングな新しいAPIを紹介します。再起動やロックされた場合にシーンの動作を微調整したり、クリッピングマージンやスナップ機能を使ってボリュームを周囲に適応させたりすることが可能です。イマーシブなコンテンツをMacからVision Proにストリーミングすることもできます。ボリュームとイマーシブ空間を活用して、UIKitベースの既存のアプリを向上させましょう。

What’s new in Metal rendering for immersive apps / イマーシブなアプリを作成するためのMetalレンダリングの新機能

https://developer.apple.com/videos/play/wwdc2025/294/

Compositor Servicesによりアプリのイマーシブ体験を向上させるための、Metalのレンダリングにおける最新の機能強化について確認します。アプリのインタラクティブな要素を強調表示するためにホバーエフェクトを追加する方法や、動的なレンダリング品質を使用してより高画質なレンダリングを行う方法を紹介するほか、新しい段階的イマーシブスタイルについて説明します。また、MetalコンテンツをMacからVison Proに直接レンダリングすることで、macOSアプリでイマーシブ体験を実現する方法を解説します。 このセッションの内容を十分理解できるよう、まずWWDC23の「Discover Metal for immersive apps」を視聴することをおすすめします。

Support immersive video playback in visionOS apps / visionOSアプリでのイマーシブなビデオ再生のサポート

https://developer.apple.com/videos/play/wwdc2025/296/

visionOSアプリでイマーシブなビデオを再生する方法を学びましょう。各種のイマーシブなレンダリングモードとそれらをサポートするフレームワークを紹介し、イマーシブなビデオをアプリでレンダリングする方法について説明します。このビデオの内容を十分理解できるよう、最初に、WWDC25の「Explore video experiences for visionOS」を視聴することをおすすめします。

Learn about the Apple Projected Media Profile / Apple Projected Media Profileについて

https://developer.apple.com/videos/play/wwdc2025/297/

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のホバーインタラクションのデザイン

https://developer.apple.com/videos/play/wwdc2025/303/

visionOSアプリにおける高度なインタラクションの作成方法を紹介します。魅力的なカスタムのホバーエフェクトやアニメーションをデザインする方法のほか、よくあるミスを回避したり、Look to Scrollなどのインタラクションを活用したり、持続的なエフェクトを使って直感的なメディアコントロールを構築したりする方法も学べます。

Explore video experiences for visionOS / visionOSのビデオ体験の詳細

https://developer.apple.com/videos/play/wwdc2025/304/

イマーシブなビデオ体験を作成して、アプリ内で提示する方法をいくつか紹介します。visionOS 26で利用できるさまざまなメディアタイプについて説明します。180度、360度、およびワイドFOVビデオのプロファイル、Apple Immersive Videoを作成して再生するためのオプションや、2D、3D、および空間ビデオの拡張機能などがあります。アプリとそのコンテンツに最適なプロファイルを確認しましょう。

Optimize your custom environments for visionOS / visionOSのカスタム環境の最適化

https://developer.apple.com/videos/play/wwdc2025/305/

プロシージャツールを使用して、visionOSのアプリやゲーム向けの美しいイマーシブ環境を作成する方法を学びましょう。高品質な環境を作成するための構成要素を紹介し、最適化プロセスについて詳しく説明します。シーンのポリゴン数を減らす、ジオメトリをクリーンアップする、UVマップをパッケージ化する、Reality Composer Proまたはその他のゲームエンジンにインポートするためのUSDアセットを作成するなど、Appleが提供する一連のHoudini用ワークフローを活用する方法を紹介します。

What’s new in visionOS 26 / visionOS 26の新機能

https://developer.apple.com/videos/play/wwdc2025/317/

visionOS 26のエキサイティングな新機能について学びましょう。強化されたVolumetric APIについて解説し、SwiftUI、RealityKit、ARKitの機能を組み合わせる方法を紹介します。より高速なハンドトラッキングと空間アクセサリからの入力を使用して、魅力的なアプリとゲームを開発する方法について説明します。SharePlay、Compositor Services、イマーシブなメディア、空間Web、Enterprise APIなどの最新アップデートの概要をいち早くご確認いただけます。

Share visionOS experiences with nearby people / 近くにいるユーザーとvisionOSの体験を共有

https://developer.apple.com/videos/play/wwdc2025/318/

同じ室内でVision Proを装着している複数のユーザーが体験を共有できるようにする方法を学びます。SharePlayを統合してアプリでARKitを利用する方法、FaceTimeに参加している近くにいるユーザーがウインドウを共有するための新しいフローの導入方法、シームレスなコラボレーションのための新しいAPIを紹介します。コラボレーション機能を活用し、ほかの人に簡単に見つけてもらい、同じ空間で共同作業するためのベストプラクティスを紹介します。

Learn about Apple Immersive Video technologies / Apple Immersive Videoテクノロジーについて

https://developer.apple.com/videos/play/wwdc2025/403/

真のイマーシブ体験を実現するための、Apple Immersive VideoおよびApple Spatial Audio Formatテクノロジーの機能を確認しましょう。Apple Immersive Videoを利用するために必要なメタデータを読み書きする機能を提供する、新しいImmersiveMediaSupportフレームワークを紹介します。Apple Immersive VideoのコンテンツをHLS経由で再生およびストリーミングできるように、スタンドアロンファイルにエンコードして公開するためのガイドラインについても解説します。 このセッションの内容を十分理解できるよう、まず「Explore video experiences for visionOS」のビデオを視聴することをおすすめします。

Discussion