MRが楽しい

MRやVRについて学習したことを書き残す

Unity Localizationを使ってプロジェクトをローカライズする その12(Localization の永続変数ソースを使ってグローバル変数グループを参照する)

本日は Unity の技術調査枠です。
Unity Localization を使ってプロジェクトをローカライズする方法を記事にします。
今回は Localization の永続変数ソースを使ってグローバル変数グループを参照する方法です。

前回記事

以下の前回記事の続きです。
bluebirdofoz.hatenablog.com

Persistent Variables source

Persistent Variables source はグローバル変数および LocalizedString ローカル変数と連携して、スクリプトなしでローカライズに引数を指定できる仕組みです。
エディターでは様々なデータ型の引数を構成したり、カスタム引数を作成したりできます。
docs.unity3d.com

Persistent Variables sourceの利用手順

初めにグローバル変数グループを作成します。
Asset フォルダで右クリックから[Create -> Localization -> Variables Group]で変数グループアセットを作成します。

作成したアセットの Inspector ビューを開き、[+]ボタンから変数と値を設定します。

今回は以下の変数を設定しました。

値名:pet
値(string):dog

作成した変数グループを Persistent Variables source のグローバル変数に登録します。
メニューから[Edit -> Project Settings]を開き、[Localization]タブから[String Database -> Smart Format -> Sources -> Global Variables]のリストを[+]ボタンで追加します。

追加データにグループ名と変数グループを登録します。
以下のグループ名としました。

グループ名:global

最後にこの値を参照するローカライズ文字列をテーブルに登録します。
メニューから[Window -> Asset Management -> Localization Tables]を開き、以下のフォーマットで値を参照するテキストを設定しました。

{global(グループ名).pet(値名)}

動作を確認するため、シーンの Text コンポーネントローカライズ文字列の参照を設定しました。

動作確認

シーンを再生して動作を確認します。
以下の通り、グローバル変数を参照して文字列を出力することができました。