SongGenreIDタグの仕様
SONGGENREID タグを使用して、楽曲ごとに背景、ダンサー、Mobを指定・固定する仕様について説明します。
注記
TODO: バージョン情報
❓ SongGenreID とは?
SongGenreID とは、楽曲のタイプ(ジャンルや特定の曲など)を表す文字列を指定することで、 背景(Background)・ダンサー(Dancer)・Mob を一意の種類に固定することができる機能です。
これにより、特定の楽曲やジャンルに合わせた専用の演出を自動的に切り替えることが可能になります。
🛠️ 使用方法
譜面( .tja )側での指定
.tja ファイルのヘッダー部分に、以下の形式でタグを追加します。
SONGGENREID:hogehoge
設定ファイルによる一括指定
TaikoNauts.exe と同じ階層に Config/SongGenreID/{SongGenreID}.json を作成することで、複数の楽曲に対して SongGenreID を一括指 定できます。
{SongGenreID} には、指定したい SongGenreID の文字列を入れます。
例えば Config/SongGenreID/touhou.json を作成した場合、条件に一致した楽曲の SongGenreID は touhou として扱われます。
一括指定では、楽曲のタイトルまたはサブタイトルに対して、完全一致または部分一致で条件を指定できます。
{
"title": {
"exact": [
"hogehoge"
],
"partial": [
"hogehoge"
]
},
"subTitle": {
"exact": [
"hogehoge"
],
"partial": [
"hogehoge"
]
}
}
📖 各項目の説明
| 項目名 | データ型 | 説明 |
|---|---|---|
title.exact | String[] | タイトルが完全一致した場合に対象になります。 |
title.partial | String[] | タイトルに指定した文字列が含まれる場合に対象になります。 |
subTitle.exact | String[] | サブタイトルが完全一致した場合に対象になります。 |
subTitle.partial | String[] | サブタイトルに指定した文字列が含まれる場合に対象になります。 |
演出(スキン)側での指定
スキン側の各設定ファイル( Config.json または MainConfig.json )で、譜面側と同じ文字列を指定します。
"songGenreID": "hogehoge"
📖 コンポーネント別の設定
各コンポーネントにおける設定ファイルの場所は以下の通りです。
| コンポーネント | 設定ファイルの場所 | プロパティ名 |
|---|---|---|
| Background | [ BackgroundFolderName ] / Config.json | songGenreID |
| Dancer | [ DancerName ] / MainConfig.json | songGenreID |
| Mob | [ MobFolderName ] / Config.json | songGenreID |
⚙️ 動作仕様
一致判定に関する仕様は以下の通りです。
- ルールの読み込み:
Config/SongGenreIDフォルダ内の.jsonファイルを読み込みます。ファイル名から拡張子を除いた文字列がSongGenreIDとして扱われます。 - 文字列の正規化: 判定対象のタイトル、サブタ イトル、各条件、ファイル名の
SongGenreIDは、前後の空白を除去してから判定されます。 - 一括指定の一致判定:
title.exact、title.partial、subTitle.exact、subTitle.partialのいずれか1つに一致した場合、そのファイル名のSongGenreIDが候補になります。exactは完全一致で判定されます。partialは指定した文字列が含まれているかで判定されます。- どちらも大文字・小文字を区別せずに判定されます。
- 一括指定の複数ヒット: 複数の
Config/SongGenreID/{SongGenreID}.jsonが条件に一致した場合、一致したSongGenreIDの中からランダムに選択されます。 - 演出側の一致判定:
.tja側のSONGGENREID、または一括指定で決定されたSongGenreIDと、演出側のsongGenreID文字列が一致した場合、その素材が優先的に使用されます。 - 演出側の複数ヒット: 同じ
songGenreIDを指定する演出が複数存在する場合、その中からランダムに選択されます。 - 不一致・未指定時の挙動:
- 文字列が一致しない、または演出側に該当する文字列が指定されていない場合、
"default"が指定されている演出からランダムに選択されます。 "default"は全てのジャンルに対応する汎用的な設定として扱われます。
- 文字列が一致しない、または演出側に該当する文字列が指定されていない場合、