メインコンテンツまでスキップ

設定メニューの構成

Room System には、ユーザーが自分のいるルーム内で特定の機能を切り替えられる、組み込みの設定メニューが含まれています。デフォルトでは、システムには 2 つの組み込みトグルが用意されています。1 つは GameObject 用、もう 1 つは Collider 用です。

また、このメニューを簡単に拡張して、独自のカスタム Udon イベント(TV をオンにする、照明を変更する、ミラーを有効にするなど)をトリガーすることもできます。


組み込み設定(Objects と Colliders)​

デフォルトのトグルを使用するには、ルームプレハブ内の _roomSettings GameObject を設定する必要があります。

  1. _roomSettings を選択する: 対象のルームのヒエラルキー内で、この GameObject を見つけます。
  2. オブジェクトを割り当てる: Inspector で objectsToToggle 配列を見つけ、ルームオーナーにオン/オフを切り替えさせたい GameObject をドラッグして追加します。
  3. コライダーを割り当てる: collidersToToggle 配列を見つけ、有効/無効を切り替えられるようにしたい Collider をドラッグして追加します。
  4. デフォルト状態を設定する: togglesDefaultState チェックボックスを調整して、ルームの初期化時にこれらのオブジェクトとコライダーをアクティブとして開始するか、非アクティブとして開始するかを決定できます。

カスタム設定の追加​

独自のスクリプトを制御するために設定メニューに新しいボタンを追加したい場合、RS_RoomSettings スクリプトが "Custom Client Buttons" 配列を通じてこれを処理します。

ステップバイステップのカスタマイズ​

  1. 設定の上限を更新する: まず、許可されるカスタム設定の合計数は RS_Config.ROOM_SETTINGS によって決まることを覚えておいてください。さらにボタンが必要な場合は、先に設定ファイルでその定数を増やします。
  2. スクリプトを割り当てる: _roomSettings GameObject で scripts 配列を展開し、操作したい UdonBehaviour を含む GameObject をドラッグして追加します。
  3. イベントを定義する: events 配列に、そのスクリプトでトリガーしたいカスタムイベント(メソッド)の正確な文字列名を入力します。ボタンがクリックされると、システムは PlayCustomEvent を呼び出してそれを実行します。
  4. UI ラベルを設定する: 最後に、eventsLabels 配列に、この特定の設定用の UI ボタンに表示したいテキストを入力します。
警告

カスタム設定を追加する際は、3 つの配列(scripts、events、eventsLabels)すべてでインデックス番号が完全に一致していることが非常に重要です。

たとえば、Index 0 に割り当てられたスクリプトは、対応するイベント名を events 配列の Index 0 に、その UI テキストを labels 配列の Index 0 に入力する必要があります。これらを取り違えると設定が壊れ、ボタンが間違ったスクリプトをトリガーしたり、間違ったテキストを表示したりする原因になります!