ゲームをリリースするときのPVやスクリーンショット、言語別に撮影するとなると中々に大変です。
『言語を切り替えて』
『自動でプレイしてくれて』
『ついでに動画とスクショ撮ってくれたらなあ~』
などとドラえもんの歌詞みたいな願望を抱きながらアレコレ検索していたところ、ちゃんとありました。先人は偉大です。
1.言語切り替え『Localization』
そもそも公式機能です。
ちゃんと調べておけという感じですが、、
テキストで『右クリック > Localize』を選ぶとComponent『Localize_String_Event』が、
画像で『右クリック > Localize』を選ぶとComponent『Localize_Sprite_Event』が追加されます
後は言語別に画像を設定するだけなのでとても楽です。
2.自動テスト『TestRunner』
テスト用のコードを実行します。
なんとこちらも公式の機能です。マニュアルを読もう。
・言語の切り替え (Locale.CreateLocale)
・特定のシーンの起動 (EditorSceneManager.LoadScene)
・撮影の開始/終了 (RecorderController.StartRecording)
・自動操作Anjin(※後述)の呼び出し(LaunchAutopilotAsync)
を担当しています。
3.自動プレイ『Anjin』
今回は操作とスクショを担当しています。
公式からインストールして、画面のUIをクリックする機能(Agent)を使いました。
Agentは自分でカスタマイズすることもできます。
スクショは公式サンプルを、操作は自作のAgentを追加しました。
InputSystmの入力をすこしずつ流しています。
さらに自分の操作を記憶/再生させる方法もあるようなので
そちらはまたの機会に紹介できればと思います。
4.実行結果
ゲーム自体は可変フレームで、厳密な同期を設定してはいないのですが、ほぼ一致しています。※乱数を固定する機能だけ追加しました。
本来はテスト用の機能ですが、変更の影響を受けやすいPVやスクショ撮影が自動化できるのは本当にありがたいですね。
おつかれさまでした!
よい広報ライフを~



