Switch Locomotion Module (LogiXノード)
Switch Locomotion Module | ||
---|---|---|
Inputs | ||
Impulse | Switch | |
User | TargetUser | |
String | ModuleName | |
Bool | ExactMatch | |
Outputs | ||
Impulse | OnSwitched | |
Impulse | OnNotFound |
Switch Locomotion Moduleノードは、Switch
へインパルスを入力すると、TargetUser
のアクティブなロコモーションモジュールを、ModuleName
に一致するものに切り替えます。
使用方法
TargetUser
の入力は、デフォルトでローカルユーザーが指定されています。
ModuleName
は、どのロコモーションモジュールに切り替えるかを指定します。標準的なロコモーションモジュールのプリセットには、関連するロケール文字列を使用します。
Locomotion.Noclip.Name
Locomotion.Teleport.Name
Locomotion.Fly.Name
Locomotion.WalkRun.Name
Locomotion.WalkRunGripping.Name
Locomotion.ZeroG.Name
Locomotion.GrabWorld.Name
Locomotion.Slide.Name
例えば、"Swim "というスロットにカスタマイズしたPhysicalLocomotionプリセットがある場合、Swim
をModuleName
への入力文字列として使用します。
ExactMatch
は、名前が完全に一致するモジュールのみを使用するかどうかを制御します。デフォルトは False です。
OnSwitched
出力は、Switch
で受け取ったインパルスにより、TargetUser
のロコモーションが正常に切り替えられた場合にインパルスを出力します。インパルスは、ユーザーのアクティブなモジュールと同じであっても、有効なマッチングが検出される限り出力されます。
OnNotFound
出力は、Switch
でインパルスを受信したときに、有効なロコモーションモジュールが見つからない場合にインパルスを出力させるものです。これは次のような場合に発生します。
ModuleName
がnull、空、または空白で構成された文字列である場合。- ユーザーはLocomotionControllerコンポーネントを持っていない(通常、ユーザーはこれらのいずれかを持っているはずです!)。
ModuleName
とExactMatch
の値から、一致するロコモーションモジュールがない。
有効なロコモーションモジュールの検索は、TargetUser
の LocomotionController (ユーザルートスロットに存在) から参照されるモジュールに対して、インデックスの昇順に行われます。一致するものが2つある場合は、インデックスの低いものが使用されます。TargetUser
の入力が空ではなく、nullであれば、OnSwitched
やOnNotFound
からインパルスが出力されることはありません。
例
ノードメニュー
Locomotion | ||||||
---|---|---|---|---|---|---|
Back | Get Active Locomotion Module | Install Locomotion Modules | On Grip End | On Grip Start | On Grip Stay | On Locomotion Grip Begin |
On Locomotion Grip End | Switch Locomotion Module |