Scenario Data Builder


投稿日:2014年6月6日 | 最終更新日:2024年10月16日

宴3までと、宴4からで大きく設定箇所が変わっています。
宴3までのドキュメントはこちらをご確認ください。

概要

「宴」のプロジェクト設定ファイル(.project)を編集するためのツールです。(.projectアセットのインスペクターを直接編集しても構いません)
主にシナリオ用のExcelファイルCSVファイルのインポート設定のために必要となります。
インポートとは、一般的なファイル形式のものをUnityや宴が読み込める形に変換する処理のことです。


基本的には、今開いているシーンのプロジェクトが自動設定されていますが、作成済みのプロジェクト設定ファイル(.project)を設定することも可能です。

リファレンス

名前 内容
Project 現在設定しているシナリオプロジェクト
Scenarios プロジェクトが使用するシナリオデータのアセット(基本的には初期設定のままが推奨)
CustomProjectSettings プロジェクトが使用するプロジェクト設定(基本的には初期設定のままが推奨)
Chapters ビルド対象のエクセルファイル
複数の章ごとに分けて管理でき、各章にも複数のシナリオファイルをScnario設定可能
ここに設定されているフォイルが更新されると、自動でシナリオアセットがインポートされる
ChapterName:章の名前
ScenarioDir:その章で使うシナリオのフォルダ(ここ以下にあるすべてのシナリオファイルをシナリオとして読みこむ)
ExcelList:その章で使うシナリオのリスト
「エクセルファイルを複数使ったり、章ごとに分けてシナリオファイルを管理する」も参照してください
Scenario File Reader Settings シナリオファイルの読み込み設定です。[詳細は後述]()
Import Settings インポート時の設定
  Comment Out On Import インポートする時点で、エクセル内のデータでコメントアウトされているデータを全て削除して空欄にします。
デフォルトではOnです
デバッグ情報の出力などをわかりやすくするためにコメントを残したい場合はオフにして、
リリース時にはオンにしたものをインポートするなどして運用してください。
FilePath Check On Import インポート時に、設定した画像や音声のファイルが実際に存在するかチェックする設定。詳細は後述
  Resource Dir 素材のルートディレクトリの設定。
初期状態であれば、「プロジェクト名/Resources/プロジェクト名」となっているフォルダを設定。
フォルダが設定されていない場合は、ファイルパスのチェックがされない
  Check Ext 拡張子の一致をチェックするか。
UnityのResources読み込みは拡張子まではチェックしないため、基本的には拡張子は不一致でも問題ない。
AddressabelAssetBundleを使っているなど、拡張子まで正確チェックしたい場合はここをオンにする
Eitor Import Settings 細かなインポート設定のウィンドウを開きます
プロジェクトで共通化させるものと、ユーザー単位で設定するものを分離してあります
  Editor Project Settings 宴のプロジェクト共通のエディター設定ウィンドウを開きます
  Editor User Settings 宴のユーザー固有のエディター設定ウィンドウを開きます
Import 設定されたシナリオファイルをインポートする
Custom Import Folders ここに設定されたフォルダ以下のテクスチャやサウンドは、インポート設定が自動的に設定されます。
インポート設定を手動で行う場合はここからフォルダを外してください

ScenarioFileReaderSettings

シナリオファイルの読み込み設定です。
デフォルトでは、エクセル用とCSV用の設定がされています。
宴3までのプロジェクトの場合は、何も設定されていないですが、その時はインポート時に自動的にデフォルトのエクセル用とCSV用の読み込み設定を利用します。
基本的にはそのままで構わないですが、特殊な読み込み方をしたいときはReaderのアセットを選択し、そのインスペクターから設定を変えてください。

ExcelFileReaderSettings

エクセル用の読み込み設定です。

Parse Fomula

エクセルの関数などを反映したテキストを使うためのものです。
エクセル関数を使いたい場合のものなので、基本的にはオフのままで使ってください。
詳しくはこちらに

ただ、ファイル形式がxlsかxlsxかや、WindowsかMacかで挙動が変わるなど、不安定なようです。
(これはNPOIというエクセル解析用のライブラリの動作なので、宴側では修正困難です)
TEXT(1 + 1、 "#") のように、TEXT()関数で囲むと安定するようですので、試してみてください。

Parse Numreic

エクセルの記入の際に、桁区切り機能など数字に特有な記述をしている場合はこれを使ってください。
ただし、(あまりない例だと思いますが)逆に「桁区切りの数字を記述した文字列」つまり「1,000」という文字列は「1000」という文字列として認識してしまう恐れがあるので注意してください。

IgnorePrefix

インポートを無視するファイルの接頭辞。デフォルトは「~$
.xlsxファイルは、ファイル名に~$を接頭辞とした一時ファイルを自動生成してしまうため、それを無視するための設定。

FilePath Check On Import

宴ではエクセル上で指定したファイルが存在しなかった場合、実際のゲーム中にエラーになります。
デフォルト設定ではシステムダイアログでエラーメッセージが表示されます。会話シーンなどでシステムダイアログがなかったとしても、Consoleにエラーメッセージが出ます。
ただ、ゲーム実行して実際にファイルをロードする箇所にならないとエラーがでないというのはエラーチェックがしづらいため、シナリオのインポート時にチェックができるようにしました。
「Resource Dir」に、素材のルートディレクトリとなるフォルダを設定することで、チェック機能が有効になります。

ファイルパスにエラーがある場合は、インポート後にコンソールにエラーがでます。

注意点

ファイルパスのチェックは、エンティテイ機能を使って動的に変更される素材にはうまく機能しない可能性があります。
また、ファイルロード機能をカスタムしている場合もうまく機能しない可能性があります。
StaticAssetManagerに設定したアセットは考慮しますが、それ以外はあくまで設定したルートディレクトリ以下にファイルが存在するかだけしかチェックしません。
チェック対象のルートディレクトリはResources以下以外においても大丈夫ですので、アセットバンドルやAddressabelAssetBundleを使う場合であっても、元となる素材のルートディレクトリさえ設定すればチェックが可能かと思います。
それ以上の細かい設定が必要な場合は、Q&Aなどに要望をお願いします。