Appleの複合現実ヘッドセット「Vision Pro」に搭載される「visionOS」はどんなOSなのか?
2023年6月6日(日本時間)に開催されたAppleの開発者向けカンファレンス「WWDC23」で発表されたMRヘッドセット「Vision Pro」には、「visionOS」という名前のOSが搭載されます。このvisionOSがどういうものかについて、AppleがvisionOSの概要を公開しています。
visionOS - Apple Developer
https://developer.apple.com/visionos/
Vision Proは拡張現実(AR)あるいは複合現実(MR)と呼ばれる体験を与えるデバイスです。基本的には自分の周囲の環境をそのままバイザーを通して見ることができ、その上にアイコンやウィンドウ、コンテンツが表示されます。具体的にどんな感じなのかは、WWDC23での発表内容をまとめた以下の記事を見るとよくわかります。
AppleがARヘッドセット「Vision Pro」を発表、ディスプレイという制限から解き放たれ好きな場所で好きなアプリを目と手と声で操作可能に - GIGAZINE
visionOSは、空間上にウィンドウやコンテンツを立体的に表示する空間コンピューティングを念頭に置いたOSとなっています。
・スペース(Spaces)
スペースはウィンドウやコンテンツを表示する空間の概念です。アプリケーションは基本的に共有スペース上に起動し、macOSと同じように複数のウィンドウが並んで表示されます。アプリはウィンドウやボリューム(後述)を使ってコンテンツを表示することができ、ユーザーはこれらを好きな場所に配置し直すことが可能。より没入感のある体験のために、アプリケーションは専用のフルスペースを開き、そのアプリケーションのコンテンツだけを表示させることもできます。フルスペース内ではウィンドウやボリュームを表示したり、境界のない3Dコンテンツを作成したり、別世界へのポータルを開いたり、環境に完全に没入したりすることができます。
・ウィンドウ(Windows)
visionOSアプリで1つ以上のウィンドウを作成可能。これらはSwiftUIで構築されており、従来のビューとコントロールのほか、3Dコンテンツを追加することでユーザーエクスペリエンス(UX)に深みが加わるとのこと。
・ボリューム(Volume)
アプリに3D感を与えて奥行きを追加するのがボリュームです。3Dボリュームは、RealityKitあるいはUnityを使ってSwiftUIで構成され、共有スペースあるいはアプリのフルスペースであらゆる角度から表示できるUXを作成します。
◆フレームワークの拡張
visionOSの空間コンピューティング用に、以下の開発環境やフレームワークが拡張されたり、新たに設計されたりしています。
・Xcode
visionOSの開発はAppleが提供している統合開発環境のXcodeで行われます。
・SwiftUI
Appleは「SwiftUIは、新しいvisionOSアプリを構築したり、既存のiPadOSまたはiOSアプリをプラットフォームにもたらしたりするための最良の方法です」と述べています。SwiftUIはRealityKitやUIKitと連携し、シャープで応答性が高くボリューミーなVisionOS向けアプリのUI構築をサポートします。
・RealityKit
Appleの3DレンダリングエンジンであるRealityKitを使えば、3Dコンテンツ、アニメーション、ビジュアルエフェクトをアプリケーションで表現できるようになります。RealityKitによって、「照明条件から自動調整を行って影を作る」「別世界へのポータルを開く」「圧倒的な視覚効果を構築する」など、さまざまなことが可能になるとのこと。また、RealityKitはマテリアルの書き出しにMaterialXを採用しています。
・ARKit
ARKitはデフォルトで、共有スペースにいるアプリのためのコアシステム機能を提供します。そして、アプリがフルスペースに移動して許可を求めた時に、平面推定やシーン再構成、画像の座標固定、周辺環境のトラッキング、手のトラッキングといった強力なARKit APIを活用できるようになります。そのため、「壁に水をかける」「床でボールを跳ね返す」といったことも可能になるとのこと。
・アクセシビリティ
Vision Proは視線トラッキングや音声認識の機能を搭載しており、目や声、あるいはその両方でデバイスを操作することが可能です。また、外部カメラによる手の認識によって、人さし指や手首などをマウス代わりに使うことができます。これらは、iPhoneやMacと同様にアクセシビリティを念頭に置いて設計されているとのことで、visionOS用にアクセシビリティを重視したアプリを開発でき、Vision Proをすべての人にとって素晴らしいエクスペリエンスにすることができるとAppleは述べています。
・Reality Composer Pro
Reality ComposerはiPhoneやiPad用のAR体験を構築、テスト、チューニング、シミュレートするためのツールです。Reality Composer ProはこのReality Composerを基に、visionOSアプリ用の3Dコンテンツをプレビューできるように新たに設計されました。Reality Composer ProはXcodeで利用可能で、XCodeのビルドプロセスと統合されてvisionOSのアセットをプレビューおよび最適化ができるようになります。また、3Dモデルやサウンドなどのインポートと整理にも役立つとのこと。
・Unity
ゲーム開発プラットフォームのUnityを使うことで、これまでUnityで開発したゲームをvisionOS用に移植したり、新しいアプリやゲームをvisionOS向けにUnityで開発することが可能になりました。AR体験はもちろんのこと、周辺環境をそのまま表示する「パススルー機能」や、ユーザーの視線をトラッキングして視野の中央部分のみを高解像度で描画する「Dynamically Foveated Rendering」などもゲームに応用可能。RealityKitでのアプリレンダリングを組み合わせることで、Unityで作成したコンテンツはvisionOS上でも問題なく動作します。
visionOS向けの開発キットであるvisionOS SDKは、新しいXcodeやvisionOSシミュレーター、Reality Composer Pro、詳細なドキュメント、サンプルコード、設計ガイダンスとともに、2023年6月下旬にリリースされるそうです。
・Unity
ゲーム開発プラットフォームのUnityを使うことで、これまでUnityで開発したゲームをvisionOS用に移植したり、新しいアプリやゲームをvisionOS向けにUnityで開発したりすることが可能になりました。AR体験はもちろんのこと、周辺環境をそのまま表示する「パススルー機能」や、ユーザーの視線をトラッキングして視野の中央部分のみを高解像度で描画する「Dynamically Foveated Rendering」などもゲームに応用可能。RealityKitでのアプリレンダリングを組み合わせることで、Unityで作成したコンテンツはvisionOS上でも問題なく動作します。
visionOS向けの開発キットであるvisionOS SDKは、新しいXcodeやvisionOSシミュレーター、Reality Composer Pro、詳細なドキュメント、サンプルコード、設計ガイダンスとともに、2023年6月下旬にリリースされるそうです。