インタラクティブメニュー
インタラクティブメニュー
インタラクションメニューモジュールは以下を提供します。
- タイトルとテキストやボタンを追加するためのプレースホルダーを含む、非常にシンプルなメニューUIプレハブである
InteractiveMenu
。
- インタラクティブメニューと関連するオブジェクトをリンクするために使用できるシンプルなラインレンダリングプレハブ(
CurveLineRenderer
)。 - 対象オブジェクトに従ってメニューを表示する役割を持つ
InteractiveMenu
クラス。ユーザーとインタラクティブメニューの間にオブジェクトがあるかどうかをチェックし、障害物のない位置を見つけます。
メニューは自動的にプレイヤーのカメラに向けて調整されます。また、オフセットパラメーターを使用して曲線ラインの開始点と終了点を定義することができます。さらに、メニューは表示回数や表示時間に制限を設けることができます。
使用方法
- インタラクティブメニューが必要なグラバブルオブジェクトに
InteractiveMenu
クラスを追加します。 InteractiveMenu
プレハブを基にして、自分のニーズに合ったメニュープレハブのバリアントを作成し、それをInteractive Menu GO
として選択します。例:
Curve Prefab
をCurveLineRenderer
または任意のラインレンダリングプレハブに設定します。- メニューが追従する
Target Object
を定義します。
インタラクティブメニューのパラメーター
Always Display InteractiveMenu
: true に設定すると、メニューは常に表示されます。そうでない場合、メニューは指定した回数(Number Of Display Of InteractiveMenu
パラメーターを参照)だけ表示されます。Number Of Display Of InteractiveMenu
: メニューが表示される回数を設定します(Always Display InteractiveMenu
を false に設定する必要があります)。Menu Display Duration When Grabbed
: プレイヤーがオブジェクトを掴んだ後にメニューが表示される時間(秒単位)を設定します。Menu Display Duration When UnGrabbed
: プレイヤーがオブジェクトを放した後にメニューが表示される時間(秒単位)を設定します。Elastic Speed
: 曲線の弾力性を制御します。言い換えれば、メニューがオブジェクトにどれだけ速く追従するかを定義します。Default Menu Offset
: インタラクティブメニューのオフセット位置を定義します。Interactive Menu Offset In Focus Mode
: フォーカスモードが有効なときにインタラクティブメニューの位置を制御するためのオフセットです。Start Position Offset
: 曲線の最初のポイントのオフセットです。メニューと曲線が直接接触しないようにしたい場合に便利です。End Position Offset
: 曲線の最後のポイントのオフセットです。オブジェクトと曲線が直接接触しないようにしたい場合に便利です。Curve Menu Offset
: メニューの近くにあるベジエ曲線を制御するためのオフセットです。Curve Object Offset
: オブジェクトの近くにあるベジエ曲線を制御するためのオフセットです。Obstacle layer
: メニューが望ましくない位置(例:壁の中)に表示される可能性があります。これを避けるために、このクラスはレイキャストを使用して、メニューの視認性を妨げるオブジェクトがない位置を見つけようとします。どのレイヤーをレイキャストで考慮するかを定義する必要があります。Offset Distance When Menu Touch An Object
: メニューの視認性を妨げるオブジェクトに触れた場合に、メニューを移動させるために使用されるオフセットです。
デモ
デモシーンはAssets\Photon\FusionAddons\Interactivemenu\Demo\Scenes\
フォルダにあります。
それぞれ異なる InteractiveMenu
設定を持つ3つのキューブをテストできます。
ダウンロード
このアドオン最新バージョンはaddon projectに含まれています。
サポートされているトポロジ
- shared mode
Changelog
- Version 1.0.4: Remove InteractiveMenu Action Variant prefab
- Version 1.0.3: Namespace modification
- Version 1.0.2: Reduce the delay to find the rig + add protection in CheckTargetMenuPosition()
- Version 1.0.1: Add demo scene + remove unused assets + add namespace
- Version 1.0.0: First release