Scenario Data Builder


「宴」のプロジェクト設定ファイル(.project)を編集するためのツールです。
主にExcelファイルやリソースのインポート設定のために必要となります。
基本的には、今開いているシーンのプロジェクトが自動設定されていますが、作成済みのプロジェクト設定ファイル(.project)を設定することも可能です。


名前 内容
Project 現在設定しているシナリオプロジェクト
AutoImportType 自動インポートのタイプ
Always:常に
Onley Utage Scene:宴のあるシーンでのみ
None:自動インポートしない
Chapters ビルド対象のエクセルファイル
複数の章ごとに分けて管理でき、各章にも複数のエクセルファイルを設定可能
ここに設定されているエクセルが更新されると、自動でシナリオアセットがインポートされる
ChapterName:章の名前
ExcelList:その章で使うシナリオのリスト
ExcelDir:その章で使うシナリオのフォルダ(ここ以下にあるエクセルすべてをシナリオとして読みこむ)
「エクセルファイルを複数使ったり、章ごとに分けてシナリオファイルを管理する」も参照してください
Check Wait Type ウェイトタイプが適切に設定されているかチェックする。(宴2を引き継いだままの古い形式ではオフにするとチェックしない)
Check White Space エクセルデータの末端などに空白が混じっていないかをチェックする
Check Text Count 文字数をカウントしてチェックする。同時にメッセージウィンドウ内に収まるかどうかもチェックする。
大量にテキストがあると処理負荷が高いので、その場合はチェックを外すと軽くなる
Quick Auto Import 自動インポートを高速化する。詳細は下記
Parse Fomula エクセルの関数などを反映したテキストを使う。詳細は下記
Parse Numreic エクセルの関数などを反映したテキストを使う。詳細は下記
Import 設定されたエクセルファイルをインポートする

リソースのインポーターの自動設定。

名前 内容
Custom Import Folders ここに設定されたフォルダ以下のテクスチャやサウンドは、インポート設定が自動的に設定されます。
インポート設定を手動で行う場合はここからフォルダを外してください



Convert Settingは、古いタイプのサーバーからのダウンロードファイルのための設定です。基本的には使用しないでください

名前 内容
Convert Setting コンバート用の設定。シナリオをDLコンテンツとする場合には、エクセルファイルからTSVにコンバートする必要があるので、そのための設定
Output Directory コンバートしたTSVファイルの出力先フォルダ。Unityプロジェクト内である必要はないので、MyDocument以下などでも構わない
Version シナリオファイルの管理バージョン。DLコンテンツはキャッシュファイル機能を使うのでシナリオファイルを更新をするときはバージョン番号を上げること
Auto Update Version Convert時に、前回よりも+1したバージョン番号に自動更新する
Auto Convert On Import インポート時(エクセルファイル更新時)に、自動的にコンバートもする
Convert エクセルファイルをTSVにコンバートする

Quick Auto Import

エクセルを上書き、更新すると自動的にUnity上でインポート処理が走ります。
ただ、この場合に「設定したすべてのエクセルを開いてインポートする」という処理が走るため、シナリオが多いとその処理にけっこう時間がかかってしまいます。
原因として、宴のシナリオを解析する部分ではなく、エクセルファイルを開くこと自体に時間がかかってしまいます。
どうも、xlsxファイルだとより重いようで、場合によっては1ファイル開くのに2~3秒。結果として10個もファイルがあれば2~30秒かかってしまうようです。
それと、メモリ負荷も相当かかっているようです。(低スペック機だとフリーズしかねない)

対策として、
・Qucik Auto Import [Warning]
という機能を追加しました。

これは、エクセルファイルを上書きしたとき、自動でされるインポート処理を簡易的に行って高速化するためのものです。
クイック処理が有効だと、「書き換えたエクセルファイルのみの更新をインポート」します。
つまり、更新していないエクセルファイルは開かないので、処理が早くなります。

マクロシートを使う場合

マクロシートを書き換えた場合は、他のエクセルファイルにそのマクロの変更は適用されくなってしまうので注意してください。
たとえば、エクセルファイルAに書いているマクロを書き換えた場合、
エクセルファイルBでそのマクロを使っていたとしても、変更が適用されなくなってしまいます。
(エラーや警告も出せません)

そういう場合は、ScenarioDataBuilderでImportボタンを押すと、全エクセルファイルを今まで通りインポートしますので、
マクロシートを書き換えた場合はこちらからインポートしてください。
またはチェックをオフにしたままであれば、今まで通り使えます。

想定する使い方

・マクロシートは、一つのエクセルファイル(管理マスター的なエクセルファイル)にまとめて管理
・通常のシナリオファイルの更新→自動インポート
・マクロの更新したとき→ScenarioDataBuilderでImportボタンを押す
・チーム作業での共有コミットや、リリースなどいったんちゃんとした更新をかけるとき→→ScenarioDataBuilderでImportボタンを押す
という使い方を想定しています。
基本的には「頻繁に更新→テストを繰り返すときに重い」ときだけ「Qucik Auto Import」をオンにしてください。
ただ、あくまでテストのための高速化なので、うっかりミスでマクロの更新が適用されないままになってしまうケースもあると思いますので、
安全性を優先するのであれば、オフのまま使ってください。

Parse Fomula

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

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

Parse Numreic

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