メインコンテンツまでスキップ

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 を作成した場合、条件に一致した楽曲の SongGenreIDtouhou として扱われます。

一括指定では、楽曲のタイトルまたはサブタイトルに対して、完全一致または部分一致で条件を指定できます。

{
"title": {
"exact": [
"hogehoge"
],
"partial": [
"hogehoge"
]
},
"subTitle": {
"exact": [
"hogehoge"
],
"partial": [
"hogehoge"
]
}
}

📖 各項目の説明

項目名データ型説明
title.exactString[]タイトルが完全一致した場合に対象になります。
title.partialString[]タイトルに指定した文字列が含まれる場合に対象になります。
subTitle.exactString[]サブタイトルが完全一致した場合に対象になります。
subTitle.partialString[]サブタイトルに指定した文字列が含まれる場合に対象になります。

演出(スキン)側での指定

スキン側の各設定ファイル( Config.json または MainConfig.json )で、譜面側と同じ文字列を指定します。

"songGenreID": "hogehoge"

📖 コンポーネント別の設定


各コンポーネントにおける設定ファイルの場所は以下の通りです。

コンポーネント設定ファイルの場所プロパティ名
Background[ BackgroundFolderName ] / Config.jsonsongGenreID
Dancer[ DancerName ] / MainConfig.jsonsongGenreID
Mob[ MobFolderName ] / Config.jsonsongGenreID

⚙️ 動作仕様


一致判定に関する仕様は以下の通りです。

  1. ルールの読み込み: Config/SongGenreID フォルダ内の .json ファイルを読み込みます。ファイル名から拡張子を除いた文字列が SongGenreID として扱われます。
  2. 文字列の正規化: 判定対象のタイトル、サブタイトル、各条件、ファイル名の SongGenreID は、前後の空白を除去してから判定されます。
  3. 一括指定の一致判定: title.exacttitle.partialsubTitle.exactsubTitle.partial のいずれか1つに一致した場合、そのファイル名の SongGenreID が候補になります。
    • exact は完全一致で判定されます。
    • partial は指定した文字列が含まれているかで判定されます。
    • どちらも大文字・小文字を区別せずに判定されます。
  4. 一括指定の複数ヒット: 複数の Config/SongGenreID/{SongGenreID}.json が条件に一致した場合、一致した SongGenreID の中からランダムに選択されます。
  5. 演出側の一致判定: .tja 側の SONGGENREID、または一括指定で決定された SongGenreID と、演出側の songGenreID 文字列が一致した場合、その素材が優先的に使用されます。
  6. 演出側の複数ヒット: 同じ songGenreID を指定する演出が複数存在する場合、その中からランダムに選択されます。
  7. 不一致・未指定時の挙動:
    • 文字列が一致しない、または演出側に該当する文字列が指定されていない場合、 "default" が指定されている演出からランダムに選択されます。
    • "default" は全てのジャンルに対応する汎用的な設定として扱われます。