Editor Project Settings


投稿日:2023年7月12日 | 最終更新日:2024年6月26日

宴の「Unityエディターのプロジェクト共通設定」です。
シナリオリオの形式のチェックなど、複数人で作業する場合に共通で扱いたい設定として用意されています。

リファンレンス

名前 内容
Check Blank Row Count On Import エクセルシートの終端に空のデータが指定行数以上ある場合はインポート時に警告を出す詳細は下記
Check Column Count On Import エクセルシートの終端が指定列数以上ある場合はインポート時に警告を出す詳細は下記
Check Wait Type ウェイトタイプが適切に設定されているかチェックする。(宴2を引き継いだままの古い形式ではオフにするとチェックしない)
Check White Space End Of Cell シナリオインポート時に、空白文字のチェックをするか。
エクセルのセルのデータの末端が空白文字だった場合に、見た目ではわかりづらいエラーになりやすいのでその対策。
Text系以外のセルの末端が空白文字だった場合に警告を出力します。
Scenario File Read Postprocessors シナリオファイルの読み込み直後に特殊な処理をしたい場合の拡張用設定。詳細は後述

保存場所

保存場所が特殊で、Assets\フォルダ以下にはなく
\ProjectSettings\UtageEditorProjectSettings.asset になります。
ProjectSettingsフォルダ以下には、外にビルド設定やタグの設定など、Unityプロジェクト設定に関係するファイルが保存されています。

「Editor Project Settings」は、同じUnityプロジェクトであれば共通の設定となります。
つまり、同じUnityプロジェクト内で、複数の宴のシナリオプロジェクトを持っていても、「Editor Project Settings」は共通のものとなります。
また、複数の開発者で開発している場合も、同じ設定を共有することになります。
(どうしても共有したくない場合は、Gitなどでファイルを無視リストに入れて共有しないようにしてください)

Check Blank Row Count On Import、Check Column Count On Import

エクセルデータの終端が10万行目などにはるか遠くに設定されている場合に、インポート時に空の列や行のデータも解析する必要があり、処理が重くなってしまいます。
対策として、「Check Blank Row Count On Import」で終端の空行数を、「Check Column Count On Import」列の最大数をチェックできるようにしました。
エクセルデータの終端はエクセル上で「Ctrl+End」で確認できるので、余計なデータが多くなりすぎないようにしてください。
参考 : ワークシートの最後のセルを特定してリセットする

Scenario File Read Postprocessors

Scenario File Read Postprocessorsには、シナリオファイルの読み込み直後に特殊な処理をしたい場合の拡張処理を追加することができます。
「宴」公式で用意されているのは下記のログを出力するための設定のみですが、ScenarioFileReadPostprocessorを継承して独自の処理を追加設定することも可能です。

シナリオファイルのログをCSV型式で出力する

宴のシナリオはエクセル形式で書くことができますが、gitなどのバージョン管理ツール上から差分がわかりづらいという欠点がありました。
対策としてシナリオのログをCSV型式のログファイルとして出力できる機能を用意しました。

プロジェクト単位の設定

プロジェクトwindowで、Create/Utage/CustomPostProcessor/ScenarioLogFileを選択することで、ログ出力用のアセットを作成できます。


「Ecoding」にはテキストのエンコード形式を設定可能です(デフォルトの空欄のままではUTF8になります)
「Log Directory Name」には出力ディレクトリ名を設定可能です。

作成したアセットを「Editor Project Settings」の、Scenario File Read Postprocessorsに追加設定してください。

ユーザー単位の設定

「Editor User Settings」の「Enable Scenario Log File」をオンにしてください。
この設定はユーザーごとに個別に設定可能なので、ログを出力したくない人はオフにしてください。

出力されるログファイル

インポートしたシナリオファイルのある場所に、「Log Directory Name」で指定した名前のフォルダが自動的に作成されます。
Log Directory Nameは、デフォルトではScenarioFileLog~となっています。
末尾に「~」があるフォルダ名はUnity上からは認識されない非表示フォルダになりますので、OS上のエクスプローラー等で確認してください。

1エクセルファイルごとにサブフォルダが自動生成され、その下に1シートごとに1つのCSVファイルとしてログが上書きされていきます。
ログの内容は、エクセルの各セルを文字列としてCSV型式にしたものです。
シート単位でコメントアウトされたものは出力されませんが、シート内の行や列ごとのコメントはログファイルの中に残されます。
また、マクロ展開もされていない段階のものになります。

git等での差分確認

ログファイルはCSV型式のため、エクセルよりは差分が確認しやすくなっています。
デフォルトでは、Unityで非表示になるように末尾に「~」があるフォルダ名を使用していますので、git上で見つからない場合はgitignoreなどで管理対象外にされていないかを注意してください。