ValueUserOverride(バリュー ユーザー オーバーライド)
バッグにユーザー毎の値を保存して、その値で各ユーザー毎に値を駆動できるコンポーネント
項目
- Enabled:
- 効果なし。
- Default:
- 初期値。
バッグに無い場合は、この値が使用される。
CreateOverrideOnWriteがFalseの状態及びバッグ内に該当しない状態で、Target先の値をフック(書込み等)すると、Default値が変化するので注意しましょう。
- CreateOverrideOnWrite:
- オーバーライド先の値を変化させたユーザーとその値をバッグに自動追加する。
Falseにすると、バッグは変化しない。
- PersistentOverrides:
- サーバー保存時に、バッグの内容も一緒に保存する。
Trueにすると保存される。
ただし、CreateOverrideOnWriteと組み合わせると、大量のバッグが生成されてしまう恐れがあるので気を付けましょう。
- ClearOnUserLeave:
- ユーザーがその世界から旅立つと、bagから削除されます。
- _overrides(bag):
- オーバーライド対象のユーザーと値のバッグ。
Add押すと増える。
手動で設定する場合はCreateOverrideOnWriteをFalseにして、PersistentOverridesをTrueにすると良いです。
- User:
- オーバーライドしてるユーザー。
- _machineID:
- 自動。(マシンID)
- _userID:
- 自動。(ユーザーID)
- Value:
- オーバーライドの値。
- Target:
- オーバーライド先。
(オーバーライド先はピンク色になるけど、値へのフック(書込み等)は可能です。)
使用例
- ミラーのOn/Offや動画プレイヤーの音量等、ローカル(各ユーザー毎)設定できるギミックが簡単に作れる。
- 手動でバッグを設定すれば、特定のユーザーだけ値を変えることも可能。
その他
- 似たようなコンポーネントにBooleanUserOverrideGatherとNumericUserOverrideGatherがあります。これらは、オーバーライドされている値の集計もできます。
- CreateOverrideOnWriteとPersistentOverridesを両方Trueにすると、バッグがどんどん増えちゃうのでやめましょう。
バッグはUserRef情報を保存できます。保存件数はなるべく少ない方が良いです。