Skip to content

変数 ​

変数は、トリガーが覚えておく値です。扉が開いているか、何回押されたか、今のスコアはいくつか、といったことを持たせます。

変数を作る ​

「変数」の欄の「+ 変数」を押すと、変数が 1 つ増えます。名前を付けて、種類を選びます。

種類持つもの例
オン/オフオンかオフ扉が開いている、ライトがついている
整数整数回数、点数
小数小数時間、音量
文字文字名前、メッセージ
オブジェクトシーンのオブジェクト 1 つ動かす対象
オブジェクトのリストオブジェクトをいくつもまとめて操作するライト
プレイヤープレイヤー 1 人最後に押した人

ほかの種類は、「くわしく」にすると選べます。

同期しない・同期する・一時的・保存する ​

最初の値の横で、同期するかどうかを選びます。一時的や、保存する変数にもできます。

  • 同期しない: プレイヤーごとに別の値を持ち、変えるまでその値のまま
  • 同期する: 全員に同じ値が届き、あとから来た人にもそのときの値が届く
  • 一時的: イベントが動くたびに最初の値から始まり、ほかのトリガーからは見えない
  • 保存する: プレイヤーごとの値を保存し、その人が次に来たときに戻す

同期のしくみと使い分けは、全員で同じ状態にする にまとめています。

「保存する」にした変数は、VRChat の PlayerData に、その人の値として残ります。所持金や、設定パネルで選んだ明るさなどに向いた使い方です。保存した値は、その人のデータが読み込まれたとき(「プレイヤーの保存データが読み込まれたとき」)に戻り、「変数が変わったとき」も動きます。読み込まれる前に変えた値は保存されません。

保存できるのは、オン/オフ・数・文字・位置・色・回転の変数です。保存する変数は同期にも一時的にもできません。保存の名前は、最初は「保存する」を選んだときの変数の名前で、変数の下の「保存の名前」で変えられます。あとで変数の名前を変えても、保存の名前は変わりません。ほかのトリガーでも同じ保存の名前を使うと、同じ値を共有します。

保存した値は、トリガーのオブジェクトが入室時に表示されていないと、戻らないことがあります。保存する変数は、最初から表示されているオブジェクトのトリガーに置いてください。

保存する変数を変えると、そのたびに、その人の保存データがすべて送られます。毎フレームのように 1 秒に何度も変えるイベントでは警告が出るので、変える回数の少ないイベントで変えてください。

値を変える ​

変数の値は、「変数」の分類にあるアクションで変えます。

アクションすること
変数に値を入れる値や、ほかの変数・イベントの値を入れる
変数を切り替えるオン/オフを入れ替える
変数に足す数を足す(引くときはマイナス)
ランダムな数を入れる最小〜最大のランダムな数を入れる
計算して変数に入れるA と B を + − × ÷ % で計算して入れる(位置や色、文字の連結も)
コンポーネントを取り出すオブジェクトのコンポーネントを、その型の変数に入れる

「Udon の機能を呼ぶ」の結果を入れることもできます。どの方法で変えても、同期する変数なら値が全員に届き、「変数が変わったとき」が動きます。

文字に値を入れる ​

「テキストを変える」や「ログを出す」の文字に {スコア} のように変数の名前を書くと、その変数の今の値に置き換わります。スコア: {スコア}点 と書けば、看板に「スコア: 12点」と出せます。欄は複数行で、改行もそのまま入れられる作りです。

変数を作らなくても、次の値はどの文字にも入れられます。同じ名前の変数があるときは、変数のほうが入ります。

書き方入る値
{プレイヤー数}({playerCount})インスタンスにいる人数
{自分の名前}({myName})自分の表示名
{時刻}({time})今の時刻(24 時間の「時:分」)