使用方法② Broadcast
freeze
BroadcastカテゴリはSDK2のVRC_Triggerでは主に次のプルダウンに相当します。
ref
また、Randomize、Delay in Secondsの設定もBroadcastで行います。
br
Trigger2to3では、トリガを引いた本人のみ動作させる場合はBroadcastLocalを使用し、トリガを引いた本人以外にも動作させる場合はBroadcastGlobalを使用します。Broadcastカテゴリのモジュールはこの2つのみです。
Broadcastのパラメータは次の通りです。
パラメータ | Local | 内容 |
Send Target | なし | 誰にActionを実行させるか。 All:全員 Owner:GameObjectの所持者 |
Usable Player | なし | 誰のTriggerを受け付けるか。 Always:全員 Master:インスタンスのマスターのみ(公式で推奨されていない?) Owner:GameObjectの所持者のみ |
Buffer Type | なし | 後から入ったユーザーに状態を再現させるため、トリガーを記録するか。 Unbuffered:記録しない(再現させない) Buffer One:直近のトリガのみ記録する。記録するたび、1つ前の記録は破棄される。そのため、Everytimeと比べてコストが低い。 Everytime:すべてのトリガ履歴を記録する。再現するときは古いトリガーから全て実行される。 |
Delay in Seconds | あり | Actionの発生を遅らせる秒数。 |
Randomize | あり | Actionの発生をランダムにするか。 オンのとき、ActionにRandom Avgという項目が追加され、そこに設定された確率で1つのActionが実行される。オフのとき、Actionはすべて実行される。 |
Common Buffer | なし | 複数のトリガが1つのものを動作させる場合、正しい順番でBufferできるようにするためのモジュール。 Add Commonbuffer ボタンでCommonBufferを自動生成できる。詳細は後述。 |
br
VRC_Triggerのプルダウンに対する、Trigger2to3のモジュールとパラメータは次の通りです。
VRC_Trigger | Trigger2to3モジュール | Usable Player | Buffer Type |
Always | BroadcastGlobal | Always | Everytime |
Master | BroadcastGlobal | Master | Everytime |
Local | BroadcastLocal | - | - |
Owner | BroadcastGlobal | Owner | Everytime |
AlwaysUnbufferd | BroadcastGlobal | Always | Unbufferd |
MasterUnbufferd | BroadcastGlobal | Master | Unbufferd |
OwnerUnbufferd | BroadcastGlobal | Owner | Unbufferd |
AlwaysBufferOne | BroadcastGlobal | Always | BufferOne |
MasterBufferOne | BroadcastGlobal | Master | BufferOne |
OwnerBufferOne | BroadcastGlobal | Owner | BufferOne |
br
Common Bufferについて
BroadcastGlobalをBuffer付きにしたとき、CommonBuffer欄が現れます。
CommonBufferは、途中入室者の再現順序を管理するために必要なプログラムです。
br
空欄になっているCommonBuffer欄の右側の「Add CommonBuffer」欄、
またはHierarchyウィンドウの右クリックで「GameObject > Trigger2to3 > AddCommonBuffer」を選択すると、
CommonBufferがついたGameObjectがSceneの直下に生成されます。
生成すると、自動的にScene上のBroadcastGlobalと結びつきます。
ref
br
ref
br
CommonBufferを1つ用意していれば、他のBroadcastGrobalを設定したとき、自動的にそのCommonBufferと結びつくようになります。
Buffer付きBloadcastを使用する場合、必ずCommonBufferをSceneに用意してください。(v2.1.0より必須化)
br
CommonBufferを同一シーンに複数設定することは可能です。