プロジェクトの分け方

プロジェクトの構成

プロジェクトは複数のファイルで構成されており、それぞれ記録する項目が異なります。

craftv2_tips_decide_before_divede_project0.png

プロジェクトの分け方

通常プロジェクトを分けることはしません。
プロジェクトは一つのパッケージ(ゲームやアプリケーション)に対して一つだけ作ります。 ゲームに組み込むデータ(ACF,ACB,AWB)は、この設定を元に出力されます。

craftv2_tips_decide_before_divede_project1.png

プロジェクトを何らかの理由でどうしても分けなければならない場合は、ACFの設定が同じ状態になるようにして管理する必要があります。

同じACFかどうかの判定

特に、全体設定はランタイムで唯一の情報であるACFの設定を管理するため、基本的に同一のパッケージでは同じである必要があります。

ACFはビルド時の構造(ACF参照項目の名前とID)に応じてハッシュ値が割り当てられます。
CRI Atom Craftのビルド時のログおよび、CRI Atom Viewerに読み込むことで、確認することができます。

craftv2_tips_decide_before_divede_project03.png

ACBロード時に不整合な場合に警告がでます。 なお、ハッシュ値は同一でなくても、ACBがアクセスする参照先があれば問題はありません。
例)古いACBなど、最新のACFのハッシュ値が異なるが、ACBからの参照先カテゴリやボイスリミットグループなどは存在する場合。
問題がおこる例)ACBが参照する時に存在しないACFの情報(カテゴリやボイスリミットグループなど)へアクセスする場合エラーが発生します。

プラットフォームや言語による違いでプロジェクトを分ける必要はあるか?

いいえ、ターゲット設定や言語設定を使用することで1つのプロジェクトから複数のターゲット(プラットフォーム)や言語の異なるデータを出力することが可能です。

もし、プラットフォーム間に極端にスペックの違いがある場合には別のキューシートやワークユニットを用意することも検討します。
ACF(全体設定)にまで及ぶスペックの違いがある場合には、別のプロジェクトとしての検討をします。

1つのプロジェクトから出力可能な構成例

言語やターゲットなど複数のプラットフォーム向けの出力が可能です。
ターゲットごとに設定を変更することはできません。
言語ごとに一部波形の切替や、トラックの言語適用などが指定可能です。

craftv2_tips_decide_before_divede_project2.png