デスクトップフォーカス
デスクトップフォーカスモード
VRヘッドセットとマウス操作による3Dコンピュータアプリケーションの間にある非常に大きなインタラクション能力の違いにより、両方の場合に適したツールやユーザーインターフェースを開発することが複雑になることがあります。このプロトタイピングを容易にするために、「デスクトップフォーカス」モジュールは、ユーザーインターフェースをマウス操作に最適化されたモードに切り替えることができます。
デスクトップフォーカスマネージャー
DesktopFocusManager
は、シーン内のオブジェクトからのフォーカス要求を管理する役割を担っています。
フォーカスが必要な場合に DesktopFocus
オブジェクトによって呼び出される公開メソッド GiveFocus
を提供しています。
既にフォーカスを持っているオブジェクトがある場合、そのオブジェクトはフォーカスを失い、新しい要求者にフォーカスが割り当てられます。
フォーカスが割り当てられると、デスクトップリグカメラは無効化され、focusCamera
カメラの子オブジェクトがアクティブ化され、要求者によって指定された位置に移動します。これは IFocus
インターフェースのおかげです。
また、DesktopFocus
オブジェクトが特定のUI(つまり、キャンバス)を定義している場合、それが有効化されます。
最後に、デスクトップリグの操作要素(desktopController
、mouseCamera
、および mouseTeleport
)は無効化され、DesktopFocus
オブジェクトのUIを適切に使用できるようになります。
デスクトップフォーカス
Awake()
メソッド内で、DesktopFocus
オブジェクトは DesktopFocusManager
を検索します。
フォーカスモードがアクティブ化されると以下が実現できるようになります。
CameraAnchor
がカメラの位置を定義するために使用される- 表示するキャンバスのリストを指定できる
- 非表示にするレンダラーのリストを指定でき
このようにして、UIインターフェースは各ツールに最適化されることができます。
また、前の DesktopFocus
オブジェクトや次の DesktopFocus
オブジェクトを定義することも可能です。実際、いくつかのユースケースでは、フォーカスオブジェクトを連鎖させることで、ユーザーが通常モードに戻ることなく DesktopFocus
オブジェクト間をナビゲートできると便利です。
デモ
デモシーンは Assets\Photon\FusionAddons\DesktopFocus\Demo\Scenes\
フォルダにあります。
シーンには3つのパネルがあります。
各パネルには DesktopFocus
コンポーネントが含まれています。また、ConnectionManager
の下には DesktopFocusManager
と FocusCamera
が配置されています。
フォーカスモードは、各パネルの下にあるボタンを使ってアクティブ化できます。
フォーカスモードがアクティブ化されると、プレイヤーはキーボードの左または右の矢印キーを使用して他のパネルを見ることができます。
フォーカスモードは「Esc」キーを使って無効化できます。
ダウンロード
こちらのアドオン最新バージョンはaddon projectに含まれています。
サポートされているトポロジ
- shared mode
Changelog
- Version 1.0.2: Namespace modification
- Version 1.0.1: Add demo scene + Fix typo + add a context menu for ToggleFocus + add namespace
- Version 1.0.0: First release