WebXR開発入門

WebXR開発入門

ウェブ上のARとVRは素晴らしい技術です。キュレーションされたストアを経由する手間をかけずに、自分のアイデアを構築し、公開できるだけでなく、Webサイトを共有するように簡単に共有することができます。

ウェブ上のVRは、2016年にChromeとFirefoxで初リリースされたWebVR 1.0以来存在してきました。 この実験は以来、WebXR Device APIに置き換えられました。最終的には拡張現実(AR)もサポートする予定で、2020年11月からAndroid用Chromeで利用可能です。ただし、仮想現実(VR)だけに留まりません。 この新しい技術が開発者が実際に信頼して使用できるほど安定したポイントに達した今、どうやって始めるのでしょうか?

フレームワーク 

フレームワーク選びに関するガイダンスは、最新のブログ記事をお読みください。

ウェブに特有の3つの課題 

ウェブとネイティブのXR開発は、3つの大きな点で異なります。

ローディング時間 

ウェブ上でゲームをロードするのに待たされるのは受け入れられません。 ユーザーが待たされる時間が長ければ長いほど、離脱率が高まります。

ゲームアセットを小さく保ち、圧縮を使用し、一般的に迅速なロード時間を確保することが、ユーザーの満足を保つ鍵です。

パフォーマンス 

ウェブはブラウザによってサンドボックス化されています。これにより、実行中のデバイスから隔離され、デバイスを損なうことがないようになっています。

サンドボックスはパフォーマンスのオーバーヘッドを伴います。なぜなら、Webサイトが行おうとすることは二重にチェックされる必要があるからです。 これに加え、JavaScriptがネイティブアプリケーションに比べて持つオーバーヘッドがあり、VRやARはさらにパフォーマンス的な挑戦になります。

スケーラブルな品質 

VRでネイティブアプリケーションをリリースする場合、通常は非常に特定のデバイスをターゲットとしています。 そのため、パフォーマンスの指標を知っており、プラットフォームごとにビルドを適応させることができます。

ウェブの美しさは、非常にクロスプラットフォームであることです。そのため、どのデバイスでもWebXRアプリを実行する可能性があります。 つまり、トースターからデスクトップPCまで考慮し、どこかで線を引く必要があります。

VRでは、デバイスの範囲に加え、入力方法の範囲があります:シンプルな視線制御(Google Cardboard)から3-dof、6-dofコントローラー、手の追跡(Quest 2)、および目の追跡(Quest Pro、Apple Vision Pro)まで。

アプリケーションを実行できる最小公分母を決定する必要があります。

解決策 

これらのウェブ特有の課題にデザインの段階から取り組むことが重要です。 これらはアートスタイルの選択やインタラクション体験の選択に影響を与え、アプリケーションの成功を左右する可能性があります。

より早くロード 

一般に、ファイルが小さいほど、ゲームのダウンロードが速くなります。 ウェブでは、最初に必要なアセットのみをロードし、ランタイム中にさらなるアセットを遅延ロードすることがベストプラクティスです。

テキストベースのフォーマットは通常、解析に長い時間がかかるため、代わりにバイナリアセットフォーマットを使用することを検討してください。 WebPやBasis Universalのような画像フォーマットは、従来のPNGやJPEG画像よりもCPUやGPUのファイルサイズを改善できます。

パフォーマンス 

パフォーマンスを監視し、スコープに応じて最適化することを確認してください。 アセットを小さく保ち、ユーザーからの距離に基づいて重要なアセットに解像度を「消費」してください。

OCULUS_multiview2のような特別なブラウザ拡張機能は、GPUレンダリングのパフォーマンスを助けることができます。 他にも、WEBGL_multi_drawのようなものは、CPUのパフォーマンス向上に役立ちます。

ほとんどのフレームワークにはパフォーマンスガイドやヒントのドキュメントがあります。大規模なプロジェクトに取り組む場合、最初から何ができるかを確認してください。

スケーリング 

より良いスケーラビリティのために、ヘッドセットの入力タイプやユーザーエージェント文字列に依存してアセットをロードできます。 視線に基づくシステムは通常、6-dofデバイスや手の追跡をサポートするものよりも低スペックです。

ワンダーランドエンジン 

ワンダーランドエンジンは、これらの最適化タスクをあなたのために管理することを目指しています。 技術的な課題を心配することなく、アプリの機能に集中できるようになることを目指しています。

ワンダーランドエンジンは最近バージョン1.0に到達しました。 私たちのDiscordコミュニティにぜひご参加ください!

Last Update: September 24, 2023

最新情報をお届けします。