PropertyBoxのご案内
freeze
やや上級者向け?の機能として、PropertyBoxというものを用意しました。
これは、例えばプレイヤーの位置だとか名前だとか、時刻だとか、GameObjectの位置だとか移動速度だとか、
そういった、何かの状態を追跡して記録できる、値の箱のようなものです。
br
例えば、これは、あるGameObjectの位置を追跡するPropertyBoxです。
ref
インスタンス稼働中、これは常にこのGameObjectの位置を記録しています。
br
この箱の値は、様々なTrigger2to3のActionで固定値のかわりに使うことができます。
例えば、TeleportPlayerの設定値に使ってみましょう。
ref
ByValueにチェックを入れて固定値入力に切り替え(これも新機能)、
targetPositionの右端にある「to PropertyBox」というボタンを押すと、PropertyBoxのリファレンス入力欄に切り替わります。
ref
ここに、先ほどのPropertyBoxをセットすることで、追跡しているGameObjectの位置にプレイヤーを移動するActionができます。
br
このPropertyBoxは、ただ状態を追跡して値を保持するだけではなく、保持した値に加減乗除の演算を加えることができます。
例えば、これはPropertyBoxの値を2倍にするActionです。SetPropertyBoxというモジュールを使用します。
ref
br
そして、このPropertyBoxはトリガー条件にすることもできます。ConditionalTriggerというモジュールを使用します。
例えば、これは、あるPropertyBoxの値が5を超えたら発火するというトリガーです。
ref
ConditionalTriggerで比較できるのは固定値だけではなく、他のPropertyBoxや、前回の値とも比較することができます。
br
この機能を活用することにより、ノンプログラミングでも、よりUdonの性能を活かしたワールド作りができるかもしれません。
是非活用してみてください。
br
詳細は、PropertyBox、SetPropertyBox、ConditionalTrigger などの仕様ページをどうぞ。