指導者との遭遇時・交渉時、宣戦布告時、戦争時におけるBGMの変更

本項目では指導者との遭遇時・交渉時、宣戦布告時、戦争時におけるBGMの変更の仕方について記述していきたいと思います。
指導者のBGMは元々蒼破さんのブログで公開されているメディアパックの中に本家用として標準に設けられています。
何故わざわざこの変更方法の解説をしてるかというと皆さんお気づきでしょうが、残念ながら東方叙事詩1.13である現在では幾つかの指導者のテーマ曲が用意されていないからです。
折角東方叙事詩をプレイしているのに愛着を持ったよm・・・じゃなくて好きな東方キャラクターの指導者BGMが付いていなかったら悲しいですよね。
あと理由として上げるとすればスレにてBGMはどうすれば変更出来るのかと質問が出ていたからです。解決済みでしょうがまた知りたい方が出てきた場合に役立ててもらえたらという想いからです。
ゲームにおいてBGMとは大事な要素の一つです。BGM一つでそのゲームの持つ雰囲気(何故か変換できる)というのはガラっとかわります。
良いゲームというのは大抵BGMが良かったりしません?そうです、東方Projectそのものですね。筆者が東方にのめり込んだのもBGMがきっかけでした。ZUN師偉大。
そういう訳で愛着持ったキャラにもBGMを付けてより東方色に染まった叙事詩を楽しもうじゃないか!と、そういう勢いで解説始めます。

いつも通り今回使うファイルのご紹介。今回使うファイルは若干多いです。それ故、説明も多く、長いので難しいと感じてしまったらごめんなさい。
  1. AudioDefines.xml
  2. Audio2DScripts.xml
  3. CIV4LeaderHeadInfos.xml
以上3つのファイルが今回変更に必要なファイルとなっています。ファイルの保存場所は上から
  1. jojisi\Assets\XML\Audio
  2. jojisi\Assets\XML\Audio
  3. jojisi\Assets\XML\Civilizations
となっています。Audioフォルダには3つのファイルが入っており今回使うのがリスト1.2である2ファイル。
同じくCivilizationsフォルダには3つのファイルが入っており今回使うのがリスト3である1ファイルのみです。
各ファイルの説明を軽くしたいと思います。
まずリスト1に上がっているAudioDefines.xmlファイルは、主にゲーム上で使用される音に関するデータを定義するファイルです。多分。
次にリスト2に上がっているAudio2DScripts.xmlファイルは、テクノロジーの読み上げに使用される音声、建物を建造する際に流れるSE、ユニットを生産したときのSE、そして指導者に関するBGMなどを定義するファイルです。
最後にリスト3に上がっているCIV4LeaderHeadInfos.xmlファイルは、指導者を定義するために使われるファイルです。このファイルは志向変更の時に使いました。
この様に簡略的に説明をしましたが、流れとしては
  1. 今回使用するBGMをフォルダに移動させる。基本的にはSounds/Diplomacyの中に入れる。
  2. AudioDefines.xmlファイルで遭遇時・交渉時、宣戦布告時、戦争時に流すBGMが保存されている場所とリスト2のAudio2DScripts.xmlファイルで使う要素の値(キー)を定義する。値(キー)は任意で構わない。
  3. Audio2DScripts.xmlファイルでは、手順2で定義した要素の値(キー)を使い、新たにリスト3のCIV4LeaderHeadInfos.xmlファイルで使う要素の値(キー)を定義する。値(キー)は任意で構わない。
  4. 最後にCIV4LeaderHeadInfos.xmlファイルに、手順3で定義した要素の値(キー)を使い、指導者における遭遇時、戦争時に流すBGMと年代を定義する。
といった流れで指導者に関するBGMを変更していきます。変更の仕組みを知っていれば手順はどんな手順でも構いません。
今回は筆者が説明をしやすいよう並べた手順なので規則ではありません。皆さんがBGMの変更に慣れたのであればご自分で変更しやすい手順で変更するといいでしょう。
ではこれから本題の説明・解説に入っていきます。解説は手順通り行います。


今回BGMの変更の対象となるのは小悪魔です。理由は小悪魔には遭遇時・戦争時のBGMが設定されていないので対象としました。
手順1に入る前に指導者に使用するBGMは予め用意しておきましょう。BGMは小悪魔のテーマ曲ではないですが道中にて登場するという理由で筆者はヴワル魔法図書館のBGMを推します。
BGMは原曲でもいいですし、原曲が手元に無ければニコニコ動画やyoutubeなどでアップロードされている原曲やアレンジBGMを拝借しても良いかと思います。もちろん小悪魔に関係のないBGMでも良いです。
BGMを用意出来たら手順1に入りましょう。東方キャラに使用されるBGMが保存されているフォルダはjojisi\Assets\SoundsにあるDiplomacyフォルダとなっています。
例に習いこのフォルダの中に入れましょう。その際ファイル名は予めキャラ名にしておき後でこのファイル名は使うので覚えておきましょう。今回対象となる指導者は小悪魔なのでKOA.mp3もしくはKOA.wavにします。
KOAの部分はKOAKUMAでも構いませんがその他のXMLで使用される値(キー)となるべく揃えた方が良いのでKOAにしましょう。
使用するBGMをフォルダに移し終えたら、手順2にあるAudioDefines.xmlを開きましょう。

開くと図に見えるように全部で11個の要素が用意されています。この中で今回使用する要素は一番上に用意されているSoundDatasという要素です。
この要素を使い手順3で使用する要素の値(キー)を定義していくのです。このファイルの中で一番近い場所に定義されている東方キャラの指導者を探しましょう。
その場所は図に指定されている要素を開くことで確認出来るので[+]をクリックし中を展開して見てみましょう。

図1

展開後、図1のように見えるはずです。図1ではこのように書いてあります。
SoundID DIPLO_ALICE 手順3のAudio2DScripts.xmlファイルで使用する値(キー)を定義する。「DIPLO_***」と定義し***は任意で良い。2つの単語にまたがる場合「DIPRO_***_***」_で繋げる。
Filename Sounds/Diplomacy/ALICE 指導者に使用するBGMが格納されているフォルダのファイル名を定義する。この場合「Sounds/Diplomacy/***」***がキャラクターのBGMのファイル名となっている。***「DIPLO_***」と合わせて設定すると良い。
LoadType STREAMED 本項目ではあまり関係ないので割愛。詳しく知らないとも言う。
bIsCompressed 1 本項目ではあまり関係ないので割愛。詳しく知らないとも言う。
bInGeneric 1 本項目ではあまり関係ないので割愛。詳しく知らないとも言う。
この子要素の解説は表の通りです。子要素であるSoundIDの値(キー)を見てみるとDIPLO_ALICEと書かれています。
「DIPLO_***」と比較すると***の中にはALICEと任意に付けられているので、この子要素はアリスに使用されるBGMというのが分かりました。
同様にその下にある子要素Filenameの孫要素を見るとSounds/Diplomacy/ALICEと書かれています。
Soundsフォルダの中にあるDiplomacyフォルダの中のALICEというファイル名を探してみると確認出来るはずです。
正確にはALICE.mp3というファイル名で保存されています。拡張子はmp3でもwavでもどちらでも構いません。或いはこの他の拡張子でも使えるかもしれません。筆者はmp3を推奨します。

このような子要素と子要素の値(キー)により要素が定義され指導者のBGMが設定されています。では小悪魔のこの要素はどこで定義されているのでしょうか?
答えはありません。厳密に言えば小悪魔をベースに作成された指導者のBGMが設定されているので無いとは言えませんが。
しかし小悪魔には専用BGMが用意されていないので無いと言っても間違いではありません。ですので、新しく要素を作らなければなりません。
一から作るのは大変なので図1にあるようにコピー&ペーストをします。XMLでは新しく何かを作成するのであればコピー&ペーストをした方が遥かに早いので図1の手順でしてみましょう。
図1にある手順で貼り付ける具体的な場所はアリスから下に10番目、アルファベット順で考えるとKOAKOISHIの前なので、こいしの上に貼り付け(前ノード)ると良いでしょう。
貼り付け終えたら次は孫要素の値(キー)を変えていきます。孫要素は前述したとおりキャラ名に直すと良いでしょう。変更は以下の通りに。
SoundID DIPLO_KOA
Filename Sounds/Diplomacy/KOA
LoadType STREAMED
bIsCompressed 1
bInGeneric 1
ALICEの部分がKOAに書き換えられてるのが分かりますね。これで手順3に使う値(キー:DIPLO_KOA)と使用するBGMの保存場所の設定(Sounds/Diplomacy/KOA)が終わりました。続いて手順3へ入っていきましょう。

手順3ではAudio2DScripts.xmlファイルが必要なので開きましょう。

図2

今度はScript2DSoundという要素が沢山出てきました。図2にあるように上から3番目の[+]をクリックして展開するとアリスのデータが入っています。値(キー)にALICEという文字が入っていれば大体アリスのことを指しています。
ここでも小悪魔に流れるBGMは定義されていないので手順2と同様に東方キャラのデータをコピー&ペーストして小悪魔の要素を作成しましょう。手順は以下の通りです。
  1. 手順2で説明したとおり、上から3番目のアリスの要素であるScript2DSoundの上にカーソルを置き、右クリックでメニューを開きコピー(C)をクリックしてコピーする。
  2. 今度は上から12番目にあるこいしの要素のあるScript2DSoundの上にカーソルを置き、右クリックでメニューを開き貼り付け(前ノード)ます。
コピー&ペーストが無事終わったので、このファイルで変更を行う子要素だけ説明します。子要素が少々多いので使わない子要素は割愛します。
ScriptID AS2D_DIPLO_ALICE 手順4のCIV4LeaderHeadInfos.xmlファイルで使用する値(キー)を定義する。「AS2D_DIPLO_***」と定義し***は任意で良い。条件は手順2のSoundIDと同様。
SoundID DIPLO_ALICE 手順2で定義したSoundIDの値(キー)を設定する。
ScriptIDにて手順4で使用する値(キー)を設定します。表では「AS2D_DIPLO_ALICE」と設定されており、「AS2D_DIPLO_***」と見比べると***の中はALICEと任意に設定されています。
つまりこれはアリスに使用される値(キー)を設定しているのが分かります。
その下にあるSoundIDには、手順2で定義したSoundIDの値(キー)を設定します。互換性を保つ必要があるので手順2で定義したSoundIDの値(キー)をコピー&ペーストしましょう。

それでは先程アリスの要素をこいしの要素の前に貼り付け(前ノード)たので、小悪魔用に値(キー)を変更しましょう。
ScriptID AS2D_DIPLO_KOA
SoundID DIPLO_KOA
手順2同様にALICEの部分をKOAに書き換えるだけで済みます。それでは最後の手順4へ進みましょう。

手順4で扱うファイルはCIV4LeaderHeadInfos.xmlファイルなので開きましょう。

図3

このファイルではLeaderHeadInfoという要素が沢山見えます。ここで今回指導者BGMを設定する小悪魔の要素を探しましょう。
沢山要素があって何処に指導者の要素があるか分からない時は検索を使いましょう。検索はCtrl+Fで検索ウィンドウを立ち上げることが出来ます。
上部にあるメニューの編集→検索/置換からでも検索ウィンドウは出せます。
検索ウィンドウが出せたら検索する文字列の中にKOAと打ちましょう。本来LEADER_KOAと打つ必要があるのですがKOAのみでもヒットするのでKOAで検索をします。
すると5つの要素がヒットするので、どれか一つをクリックして展開すると一番上の要素に|Type|LEADER_KOA|と出たのが分かりますね。
指導者の志向変更でTypeの要素に入っている値(キー)を見てどの指導者か判断すると説明しました。
このTypeの要素の値(キー)にはLEADER_KOAと入っています。これはこの指導者が小悪魔(KOA)であるという証明なのでこの要素を変更していきましょう。
因みに上手く検索の機能が使えなかった方はLeaderHeadInfoの上から6番目にある[+]をクリックして展開してください。
では今回変更する要素は以下の4つとなります。図では赤く四角で囲った中です。
DiplomacyIntroMusicPeace 子要素にDiploMusicPeaceEraを入れ、孫要素にEraTypeと手順3で定義したDiploScriptIdを入れ
EraTypeに年代に当たる値(キー)、DiploScriptIdに手順3で定義した値(キー)を入れる
DiplomacyMusicPeace DiplomacyIntroMusicPeaceと同様である
DiplomacyIntroMusicWar DiplomacyIntroMusicPeaceと同様である
DiplomacyMusicWar DiplomacyIntroMusicPeaceと同様である
LeaderHeadInfoの中にある要素の下から4つ目までが遭遇時、戦争時のBGMの設定・変更に必要な要素となっています。
4つの要素から初回遭遇時、交渉画面時、戦争布告時、戦争中の交渉画面時におけるBGMの設定・変更を行っています。
まずどのように子要素、孫要素、値が設定されているか小悪魔のデータで説明しましょう。

  • DiplomacyIntroMusicPeace
    • DiploMusicPeaceEra
      • EraType[ERA_ANCIENT]
    • DiploMusicPeaceEra
      • EraType[ERA_CLASSICAL]
以下略

というように要素DiplomacyIntroMusicPeaceの下に、子要素DiploMusicPeaceEraと続きその下に、孫要素EraType[ERA_ANCIENT]と続いています。
要素であるDiplomacyIntroMusicPeaceは遭遇時、時代に応じたBGMを流すために必要な要素であり、子要素であるDiploMusicPeaceEraは一つの時代に応じたBGMを流すために必要な子要素であり
孫要素であるEraTypeは時代を設定する値(キー)を定義する孫要素です。
ここで図3にある黄緑色の四角で囲った部分と、このデータを見る限り、小悪魔の初回遭遇時に流れるBGMが設定されていないことが分かります。
小悪魔のテーマ曲を流すためには、子要素であるDiploMusicPeaceEraの下に孫要素のDiploScriptIdと値(キー)が必要なのです。
東方叙事詩では小悪魔のテーマ曲が標準で用意されていないので、孫要素であるDiploScriptIdが省かれていました。
ですので、図3にある黄緑色の四角で囲った部分を紫色の四角で囲った部分のように追記する必要があります。以下のように記述し直します。

  • DiplomacyIntroMusicPeace
    • DiploMusicPeaceEra
      • EraType[ERA_ANCIENT]
      • DiploScriptId[AS2D_DIPLO_KOA]
    • DiploMusicPeaceEra
      • EraType[ERA_CLASSICAL]
      • DiploScriptId[AS2D_DIPLO_KOA]
以下略

以上のように孫要素であるDiploScriptIdと値(キー)を追記することにより時代毎に流したいBGMを定義してやっとゲーム上に反映されます。
要素であるDiplomacyIntroMusicPeaceには7つの時代毎にBGMを設定する必要があります。
上から古代、古典、中世、ルネッサンス、工業化、現代、未来の順に設定されています。この時代を表す値(キー)は東方叙事詩用キー一覧(時代)に載せてあります。
これらの時代全てに上で記述したよう、子要素と2つの孫要素と孫要素の値(キー)を定義すれば指定したBGMを時代毎に流すことが出来ます。
DiplomacyMusicPeace、DiplomacyIntroMusicWar、DiplomacyMusicWarの要素の設定は上で説明したDiplomacyIntroMusicPeaceの方法と同じであるため、一つの定義が出来れば残り3つ共、可能ということになります。
筆者は同じBGMだと味気ないので遭遇時、交渉時は道中、宣戦布告時、戦争交渉時にはテーマ曲と分けて楽しんでいます。
その場合、手順1ではBGMを二つ用意し、手順2で|ScriptID|AS2D_DIPLO_KOA||ScriptID|AS2D_DIPLO_KOA1|と二つ定義し
手順3では|ScriptID|AS2D_DIPLO_KOA||ScriptID|AS2D_DIPLO_KOA1|のように二手間掛かります。慣れてきたら2種類のBGMを鳴らし分けると良いでしょう。

質問や詳しく教えて欲しい場所やわかんねーよヽ(`Д´)ノウワァァァン!!に答えるコーナー

名前:
コメント:

XML編集提案へ戻る

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年05月17日 09:23
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。