Roblox VRはすべてのVRデバイスのバックエンドとしてOpenXRを使用しています。これは、プラットフォームに依存しない実装を意味し、ゲームがQuestとPC VRヘッドセットで相互に動作することを可能にします。PC VRヘッドセットでゲームをテストすることは、Quest 2のテストにも有効です。最低限、OculusドライバーはNVidia GTX1060グラフィックスカードまたはそれに相当するものである必要があります。
グラフィックス品質モード
Quest 2やQuest ProなどのスタンドアロンVRヘッドセットでRobloxを実行する際には、快適なパフォーマンスレベルを維持することが重要です。フレームレートの低下はユーザーに不快感を与える可能性があります。これを達成するために、Questにはオート クオリティ モード設定が用意されており、パフォーマンスデータに基づいてレンダリングの詳細を自動的にスケーリングし、最低でも72フレーム毎秒を維持することを目指します。

Quest 2でゲームをテストしてオート クオリティ モードがオンの状態でビジュアルに満足できない場合は、ゲームをさらに最適化することをお勧めします。
快適設定
ユーザーがVRを体験する際、カメラや位置の動きが、彼らが見るものと身体や内耳によって感じる動きの不一致から不快感を引き起こす可能性があります。Robloxは、すべての感受性レベルのユーザーが、没入型で快適なVRゲームを楽しめるように、複数の設定を提供しています。快適、デフォルト、およびエキスパートモードに加えて、ユーザーは以下の設定を個別にオンまたはオフにするためにカスタムを選択できます:
- ビネット — 動作中にオーバーレイが表示され、ユーザーの周辺視野が制限され、カメラのテレポートが隠されます。
- ステップ回転 — カメラは1人称および3人称カメラモードでステップ回転(次の回転位置へのテレポート)を使用し、コントローラーでカメラを回転させるときにはスムーズな回転モードを使用します。
- 3人称固定カメラ - カメラは空間に固定されており、プレイヤーを密接に追従しません。プレイヤーを視界に入れるためにカメラがテレポートします。
追加の情報はVRメニューと設定で確認できます。
カメラモード
VRファーストのゲームを開発する際には、デフォルトのカメラスクリプトを利用するか、自分自身のカスタムスクリプトを実装することができます。
Robloxには、3人称快適カメラ、1人称カメラ、車両カメラなど、さまざまなデフォルトカメラオプションが用意されています。これらのカメラモードはPlayerScripts内のCameraModuleの子スクリプトとして実装されています。快適メニューオプションや将来の「没入感」機能は、デフォルトスクリプトに含まれます。
Robloxが提供するデフォルトスクリプトを利用することで、新機能やデバイスに合わせた更新や改善が行われるのを享受できます。これにより、今後の開発プロセスがより簡単で持続可能になるでしょう。
パフォーマンステクニック
Quest 2のような無拘束のモバイルVRデバイスは、高いフレームレートと解像度を目指し、低電力チップセットで2つの異なるイメージをレンダリングします。安定したパフォーマンスレベルを達成するために、描画距離を縮小し、オートグラフィックス品質を通じてライト計算を無効にすることがあります。
以下のベストプラクティスを実践することで、より高いグラフィック設定で72フレーム毎秒に到達するのに役立つかもしれません:
- コンテンツがデバイス上で動的にストリーミングされるようにインスタンスストリーミングを有効にします。
- レイキャスティングのようなCPU負荷の重い計算を過剰に使用しないように注意してください。
- モバイルVRは高い描画呼び出しに敏感です。環境を効率的に構築し、本当に重要な場所に高い詳細度を追加し、他の場所では詳細度を下げ、シーンで使用するオブジェクトの数を抑えます。
- カスタム3Dメッシュを作成する際は、最大のランタイム効率のためにできるだけ少ないジオメトリを使用することを常に目指します。
- 多数かつ複雑なSurfaceGuisは、レンダリングとCPUの両方でコストがかかります。
- キーボードの押下に依存するアクションのようなプラットフォーム依存のコードを書かないようにしてください。代わりに、複数のソースからの入力バインディングをサポートするInputActionのようなオブジェクトを使用します。
- 予想されるパフォーマンスと視覚的品質が得られていることを確認するために、頻繁にテストと反復を行ってください。可能であれば、Quest 2ヘッドセットに投資してください。