メインコンテンツまでスキップ

Udon Variables

ローカライズテキストに埋め込んでいる変数を動的に書き換えることができます。
Udon からローカル変数の値を書き換えることができます。

Udon からローカル変数の値を書き換える

ローカライズテキストは以下のように設定されているとします。

以下のような Udon が存在するとします。
この Udon は OnClick メソッドが呼び出されると counter 変数をインクリメントしローカル変数に反映してからテキストを更新します。

public class ClickCounter : UdonSharpBehaviour {
[Inject, SerializeField, HideInInspector]
ILocalization localization;
[SerializeField]
GroupId<LocalizeStringEvent> groupId;
[SerializeField]
VariableId<LocalizeStringEvent> variableId;

int counter = 0;

public void OnClick() {
localization.SetVariable(variableId, ++counter);
localization.RefreshString(groupId);
}
}

インスペクタから対象とする LocalizeString コンポーネントを指定しておきます。
併せて対象のローカル変数も指定しておきます。
以上で ClickCounter.OnClick が呼び出されるとカウントが1つずつ上がって表示されます。