🥽

visionOS関連技術キーワード一覧(WWDC 2023–2025)

に公開

visionOS関連技術キーワード一覧(WWDC 2023–2025)

はじめに

本記事は、WWDC 2023〜2025 で発表された内容と公式ドキュメントを手掛かりに、visionOS とその周辺技術の主要キーワードを短く把握できるよう整理したものです。仕様はリリースやベータで変動する場合があるため、実装時は必ず最新の公式資料を確認してください。なお、本記事は Apple が一般公開した情報のみを元にしています。

  • 想定読者: visionOS の設計/実装に関わるエンジニア・デザイナー
  • 期間: WWDC 2023(visionOS 発表)〜 WWDC 2025(visionOS 26)
  • 表記: 英語 用語(カタカナ): 説明 の順で簡潔に記載
  • 対象外: Unity / AR Foundation など他社エンジン経由の開発手法は本稿の範囲外です。

体験設計(空間UI・インタラクション)

空間UIとデザイン

  • Window(ウィンドウ): 仮想空間内に配置される2Dアプリ用のウィンドウ。従来の画面UIを空間に表示する枠です。
  • Volume(ボリューム): 空間に配置できる小規模な3Dコンテンツ用コンテナ。周囲の実世界が透過して見えます。
  • Full Space(フルスペース): ユーザーを完全に没入させる仮想環境。アプリが全面的に空間を支配するフル没入モードです。
  • Shared Space(共有スペース): Vision Pro上で複数のアプリがウィンドウとして共存する通常の空間。iPadアプリもここで動作します。
  • Ornaments(オーナメント): ウィンドウの縁に配置されるメニューやツールバーなどのUI部品。空間UI向けに周辺部に浮かびます。
  • Liquid Glass(リキッドグラス): WWDC25で導入された新しい統一デザインシステム。透明感ある素材でツールバーやコントロールの外観を一新します。
  • Hover(ホバー): 視線がUI要素に合わさった際にハイライト表示する効果。視線による項目選択を快適にします。
  • Look to Scroll(ルック・トゥ・スクロール): コンテンツ端を見つめることでスクロール操作を行う新しいインタラクション方式。
  • Spatial Persona(スペーシャルペルソナ): 空間SharePlayで使われる他者のアバター表現。

参考リンク(公式)

入力・インタラクション

  • Eye Tracking(アイトラッキング): 視線でUI要素にフォーカスし選択操作に利用。視線中心の描画最適化(フォビエイテッドレンダリング)の前提にも。
  • Hand Tracking(ハンドトラッキング): 指をつまむタップなどのジェスチャー入力。
  • Direct Gesture(直接操作ジェスチャ): 空間内のオブジェクトに“触れて”掴む/動かす等の直接操作。
  • Indirect Gesture(間接操作ジェスチャ): 見ている対象に対してピンチで選択する基本操作。
  • Standard Gestures(標準ジェスチャ): タップ(ピンチ)、スワイプ、ドラッグ、ピンチ拡大縮小など。
  • Long Press(長押し): 空中で一定時間ピンチ状態を維持して発動。
  • Dwell Control(ドウェルコントロール): 視線を一定時間当てて選択。
  • 音声入力・音声制御: テキスト入力やコマンド実行を音声で行う。
  • 外部キーボード・ポインタ対応: 物理キーボード、トラックパッド/マウスによる入力。
  • Pointer Control(ポインタコントロール): 頭や手の動きで仮想ポインタを操作する支援技術。
  • Game Controller(ゲームコントローラ): Bluetoothゲームパッド入力。
  • Optic ID(オプティックID): 虹彩認証による認可/認証。

参考リンク(公式)

フレームワークとAPI

SwiftUI

  • WindowGroup: アプリのウィンドウシーンを定義するコンテナ。
  • WindowGroupStyle: WindowGroupの表示スタイル(ボリューメトリックなど)を指定。
  • ImmersiveSpace: 没入型(フルスペース)体験用のシーンコンテナ。
  • Volumetric Window: 立体的なウィンドウ。
  • glassBackground: 背景をガラスのように半透明にするモディファイア。
  • hoverEffect: 視線カーソルに対する反応を指定。
  • .focusable: 視線フォーカス可能にするモディファイア。
  • ImmersiveGestureTarget: 没入空間内でのジェスチャ対象指定。
  • Ornaments: ウィンドウに付随するシステムUI要素の総称。
  • SwiftUIの3D変形: transform3DEffect 等を用いた立体配置。
  • ARViewのSwiftUI統合: UIViewRepresentable を介して統合。
  • Object Manipulation(SwiftUI): .manipulable(...)manipulationGesture(...) でビューを移動・回転・拡大縮小。

参考リンク(公式)

RealityKit / ARKit

  • ARKitSession: visionOSのプロバイダ駆動AR基盤(Plane/World/Hand/Object/Scene Reconstruction 等)。
  • ARImageAnchor / ARObjectAnchor: Provider経由で利用。
  • ARPlaneAnchor / ARMeshAnchor: 平面・メッシュ情報を空間アンカーとして利用。
  • Scene Reconstruction(シーンメッシュ): 周囲環境をメッシュ化。オクルージョンや物理に活用。
  • AnchorEntity / ModelEntity: RealityKitの基礎エンティティ。
  • Object Manipulation: ManipulationComponent / ManipulationEvents(SwiftUI の .manipulable(...) は上の「SwiftUI」を参照)。
  • Environment Occlusion / EnvironmentBlendingComponent: 実物による遮蔽表現。

参考リンク(公式)

その他のプラットフォームAPI(メディア・地図・課金・認証)

  • UIKit(ユーアイキット): 従来のUIフレームワーク。iPad移植時などに互換モードで利用可能。
  • Metal / Metal 4(メタル): 低水準GPU API。ステレオ描画や高度なレンダリング/計算。
  • PHASE(フェーズ): 空間オーディオ用のオーディオエンジン。
  • AVFoundation / AVKit: 映像・音声再生、マルチビュー再生(AVExperienceController)。
  • MapKit: 地図表示と操作。
  • StoreKit: アプリ内課金UIと購買管理。
  • WidgetKit: 立体的なウィジェット配置。
  • App Intents(アプリインテント): ショートカットやSpotlight連携、音声起点の起動などに利用。
  • ModelIO: 3Dモデルの読み込み・変換。
  • Core ML: オンデバイス機械学習推論。
  • Vision: 画像解析(ポーズ/ランドマーク等)。
  • CoreMotion: IMU データの取得。
  • GameController: 外部ゲームパッド入力。
  • LocalAuthentication: 生体認証(Optic ID)。
  • GroupActivities(SharePlay): 共同体験の共有。

参考リンク(公式)

3Dとメディア制作

3Dコンテンツとツール

  • Reality Composer Pro(リアリティコンポーザーPro): Mac用3Dオーサリングツール。視差効果を確認しながらシーンを構築・編集。
  • RealityView(リアリティビュー): SwiftUI内でRealityKitの3Dコンテンツを表示するビュー。
  • MaterialX(マテリアルエックス): オープン標準のシェーダー記述フォーマット。
  • USDZ: Appleが採用する3Dシーン/オブジェクトのファイルフォーマット。
  • Model3D: SwiftUIの3Dモデル表示ビュー。外観切替(ConfigurationCatalog)に対応。
  • ConfigurationCatalog: RealityKitエンティティの異なる構成セットを定義できる仕組み。
  • Chart3D: Swift Chartsの拡張で3次元グラフ表示を実現。
  • Portal Rendering: 別の仮想空間へ繋げる“扉”表現。
  • Inverse Kinematics: 骨格アニメーションの手法。
  • Blend Shapes: 表情や形状変化を扱う技術。
  • SceneKit: △ 従来の3D描画。visionOSではウィンドウ/テクスチャ用途に限定。イマーシブはRealityKit推奨。

参考リンク(公式)

メディア(映像・音響)

  • Spatial Audio(空間オーディオ): 位置と距離感を再現する3Dオーディオ技術。
  • Spatial Video(空間映像): 視差を含む立体視ビデオの再生。
  • AVExperienceController: 複数の映像ストリームを同期再生。
  • QuickLook Preview (visionOS): 3Dモデルや空間写真/映像のプレビュー表示。
  • Object Tracking: 実物の物体を認識・追跡。
  • Scene Geometry: 周囲環境の3Dメッシュ情報。
  • Plane Detection: 床や壁など平面を認識。
  • WebXR: Webブラウザ上でVR/AR体験を実現する標準API。
  • Safari (Spatial Browsing): 空間Web体験のブラウズ。

参考リンク(公式)

エンタープライズと運用

エンタープライズ機能

概要: visionOS の Enterprise APIs は、管理されたEntitlement+ライセンスファイルを前提に、業務アプリ(社内配布/カスタムApp)で高度なデバイス機能へアクセスできる枠組み。visionOS 26 では機能が拡張され、共有スペースでのメインカメラ利用ステレオ(左右)カメラアクセスWindow Follow Modeコンテンツ保護ローカル座標共有などが追加・強化されています。

アクセスとキャプチャ

  • Main Camera Access(メインカメラアクセス): Vision Pro のメインカメラフレームへ直接アクセス。visionOS 26 では Shared Space でも動作、さらに 左右のステレオカメラへアクセス可能に。com.apple.developer.arkit.main-camera-access.allow
  • Camera Regions(カメラ領域強調/安定化): 指定領域のパススルーを安定化し、強調された映像を取得。com.apple.developer.arkit.camera-region.allow
  • Passthrough in Screen Capture(パススルー画面収録): 画面収録に実世界映像を含める。com.apple.developer.screen-capture.include-passthrough
  • App‑Protected Content(コンテンツ保護): 特定ビュー/シーンをキャプチャ禁止に。SwiftUI の contentCaptureProtected モディファイアと連携。com.apple.developer.protected-content
  • Spatial Barcode/QR(空間バーコード検出): 3D 空間でのバーコード/QR 検出を有効化。com.apple.developer.arkit.barcode-detection.allow

協調と共有体験

  • Shared Coordinate Space access(座標共有): 近接したユーザー間で座標系をローカルネットワーク越しに共有できる Enterprise API。com.apple.developer.arkit.shared-coordinate-space.allow
  • SharedCoordinateSpaceProvider: 上記 Entitlement を前提に、参加者間で共通の座標空間を提供する ARKit のプロバイダ。

パフォーマンスとリソース

  • Increased performance headroom(パフォーマンス上限拡張): 熱設計とパフォーマンス閾値を調整する。com.apple.developer.app-compute-category
  • Increased memory limit(メモリ上限拡張): 既定のアプリメモリ上限を超えることを許可(visionOS 2.5+)。com.apple.developer.kernel.increased-memory-limit
  • Low‑Latency Streaming(低遅延ストリーミング): ゲームストリーミング等で低遅延モードを要求。com.apple.developer.low-latency-streaming

ハードウェア入出力

  • UVC Device Access(外部UVCカメラ): UVC クラスの外部カメラへのアクセスを許可。com.apple.developer.avfoundation.uvc-device-access

ウィンドウ挙動

  • Window Follow Mode(ウィンドウ追従): ウィンドウをユーザーの移動に追従させる。com.apple.developer.window-body-follow

補足

  • それぞれ 審査とライセンスが必要(Managed Entitlement)。アプリ公開形態は 社内配布または Apple Business Manager のカスタムApp配布が前提。
  • 一部機能は ベータAPI を含み、OSバージョン/ビルドで挙動が異なる場合あり。

参考リンク(公式)

開発・配布・解析

  • Xcode 15–26 + visionOS SDK: visionOS対応のビルド設定とシミュレータを提供。
  • visionOS Simulator: 空間UIや入力のテスト環境。
  • Xcode Previews: SwiftUIビュー(RealityView含む)のリアルタイムプレビュー。
  • TestFlight for visionOS: Vision Pro向けベータ配信とフィードバック収集。
  • Instruments: CPU/GPU/メモリ等のプロファイリング。
  • Xcode Cloud: CI/CDでビルド・テストの自動化。

参考リンク(公式)

仕様ノート

その他の特徴

  • フォビエイテッドレンダリング: 視線中心を高解像度で、それ以外を低解像度で描画。
  • デジタルクラウン: 没入度合いの調整。
  • Optic ID: 虹彩認証。
  • Shared Space(共有スペース)/ Full Space(フルスペース): マルチウィンドウ空間と没入空間。
  • パススルー表示: 実世界映像の上に仮想オブジェクトを重ねる。
  • 空間オーディオ: 頭部の動きや位置に合わせた立体音響。

参考リンク(公式)

互換性と移植ガイド(iOS→visionOS)

可用性と代替アプローチ

  • カメラフレーム直接取得(一般アプリ): × → Enterprise APIs: Main Camera Accessで限定的に可能(要ライセンス, イマーシブ限定等)。
  • People Occlusion(人物のオクルージョン): 提供なし。環境メッシュ等とレンダリングで代替。
  • SceneKitのイマーシブ表示: ×(イマーシブは RealityKit 推奨/想定)。
  • WebXR: △(Safari 18/visionOS 2で immersive-vr はサポート、immersive-ar は未対応領域あり)。
  • Passthroughの画面収録: 実世界映像を含む収録が可能(Entitlementとガイドラインに注意)。

参考リンク(公式)

ARKit(iOS)専用機能(visionOSに代替なし)

趣旨: 「iOSのARKitでは使えるが、visionOSのARKitでは代替がない」機能を一覧化します(Apple公式ドキュメントに基づく)。

  • Face Tracking(顔追跡 — ARFaceTrackingConfiguration / ARFaceAnchor): visionOSに代替なし。TrueDepth等を用いた顔追跡はiOS向け機能。
  • Body Tracking(全身追跡 — ARBodyTrackingConfiguration): visionOSに代替なし。visionOSでは手の追跡は提供されるが、全身骨格の追跡は不可。
  • Geo Tracking / Location Anchors(地理位置アンカー — ARGeoTrackingConfiguration / ARGeoAnchor): visionOSに代替なし。位置合わせはRoom Tracking / Persistence / Shared World Anchorsなどローカル手法を利用。

備考(近い代替はあるが仕様が異なるもの)

  • People Occlusion(人物による遮蔽): iOSの「人セグメンテーション+遮蔽」に直接相当するAPIはない。visionOSではEnvironment Occlusion(静的環境による遮蔽)や EnvironmentBlendingComponent で一部代替可能(人物の遮蔽は対象外)。

ARWorldMapの設計の違い(保存・共有・再ローカライズ)

1) iOSのARWorldMapでできること(復習)

ARWorldMap は、ワールドマッピングの状態+アンカー群をスナップショットとして保存し、別セッションで読み戻すための仕組み。代表APIは ARSession.getCurrentWorldMap(取得)と ARWorldTrackingConfiguration.initialWorldMap(読み戻し)。

2) visionOSにWorldMapはない(=エクスポート/インポート不可)

visionOS の ARKit には ARWorldMap 自体が提供されず、WorldMapファイルのエクスポート/インポート運用は不可。代わりに、WorldTrackingProvider 上で追加した WorldAnchor** が自動で永続化**される設計(永続化の対象は“UUIDと姿勢(pose)”)。ワールドマップ全体を保存・配布するAPIはない。

3) 共同体験の現在地:Shared World Anchors(visionOS 26)

近くの参加者と共有アンカーを作れる「Shared World Anchors」が追加。SharePlay中に sharedWithNearbyParticipantsその場の物理空間に固定された共有コンテンツを作成可能。**共有アンカーはSharePlay終了後は残らない(非永続)**点に注意。

まとめ:

  • 単一端末・単一ユーザーの再現は WorldAnchor** の自動永続化**でカバー。
  • 同室・同時の多人数Shared World Anchors(SharePlay中のみ有効)
  • **“マップの持ち運び(配布)”**に相当するAPIは visionOSに未提供

4) 典型要件への設計指針

  • 次回起動でも同じ場所に復元したいARKitSession + WorldTrackingProviderWorldAnchor を追加(自動永続化)。
  • 複数人で同じ物体を同時に見たい → visionOS 26 の Shared World Anchors(SharePlay中のみ)。
  • “場所そのもの”を別端末へ配布したい → 公式の同等APIなし。画像/物体トラッキング部屋の再認識など“手がかり”による再ローカライズ設計へ寄せる。

参考リンク(公式)


更新履歴

  • 2025-08-10: 初版
GitHubで編集を提案

Discussion