音声/BGM
オーディオファイルは acc、mp3、ogg、wav 形式で、ファイル名がオーディオIDとして使用されます。音声を使用すると、デフォルトの同名メタデータJSONが生成され、編集して次回ゲーム起動時に音声ファイルのメタデータを適用することができます。
メタデータで"type": "BGM"を設定すると、オーディオはBGMDataとしてではなくSoundDataとしてインスタンス化されます。また、メタデータ内でBGMの小節部分をカスタマイズすることもできます。
同じIDを使用して、既存のゲーム内音声を上書きすることができます。例えば、ひよこの鳴き声はID Animal/Chicken/chickenを使用しているので、Sound/Animal/Chicken/フォルダーにchickenという名前の音声ファイルを用意して上書きすることができます。
Soundフォルダー内のサブディレクトリはオーディオIDのプレフィックスとして使用されます。たとえば、AI_PlayMusicはInstrument/sound_idを使用するため、楽器音楽を置き換える場合は、同名のオーディオファイルをInstrumentフォルダーに配置してください。
例: 
pc.PlaySound("clown_horn"); // <- Card.PlaySound
SE.PlaySound("clown_horn");カスタム楽器音楽
Custom Instrument Track モジュール(mod)が現在メンテナンスされていないため、以下に CWL を使用して楽器のオーディオトラックを手動で置き換える方法を説明します。
まず、Sound/Instrument フォルダー内にオーディオファイルを用意します。ファイル名には、以下のいずれかのオーディオIDを使用してください。
新しい楽器を作成する場合は、その楽器の ID(Thing ID)をオーディオIDとして使用してください。
ゲーム内楽器のオーディオID
| 楽器ID | オーディオID | CN | EN | JP |
|---|---|---|---|---|
| trumpet | trumpet_practice | 喇叭 | trumpet | トランペット |
| piano | piano_kanon | 三角钢琴 | grand piano | グランドピアノ |
| piano2 | piano_neko | 钢琴 | piano | ピアノ |
| piano_killkill | piano_neko | 杀杀钢琴 | kill kill piano | キルキルピアノ |
| piano_gould | piano_gould | 古尔德钢琴 | Gould's piano | グールドのピアノノ |
| harpsichord | harpsichord_goldberg | 大键琴 | harpsichord | チェンバロ |
| guitar_ash | guitar_caccini | 阿什的吉他 | Ash's guitar | アッシュのギター |
| guitar_efrond | guitar_dusk | 埃夫隆德的吉他 | Efrond's guitar | エフロンドのギター |
| guitar | guitar_air | 吉他 | guitar | ギター |
| harp | harp_komori | 竖琴 | harp | ハープ |
| panty | violin_chaconne | 内裤 | panty | パンティー |
| lute | guitar_sad | 鲁特琴 | lute | リュート |
| shield_lute | guitar_sad | 乌德琴 | Al'ud | アル・ウード |
| recorder | recorder | 竖笛 | recorder | リコーダー |
| flute | flute | 长笛 | flute | フルート |
| taiko | taiko | 太鼓 | taiko | 太鼓 |
| drum | drum | 鼓 | drum | 鼓 |
| mokugyo | mokugyo | 木鱼 | wooden gong | 木魚 |
| tambourine | tambourine | 铃鼓 | tambourine | タンバリン |
| mic | mic_rachmaninoff | 麦克风 | mic | マイク |
| cello | cello_prelude | 大提琴 | cello | チェロ |
| instrument_violin | violin_chaconne | 小提琴 | violin | ヴァイオリン |
| panty | violin_chaconne | 小提琴 | panty | パンティー |
| stradivarius | violin_furusato | 斯特拉迪瓦里 | stradivarius | ストラディバリウス |
| koto | koto | 古筝 | koto | 琴 |
| sax | trumpet_practice | 萨克斯 | sax | サックス |
ゲームを一度起動して、新しく追加したオーディオファイルのメタデータ json ファイルを生成し、その後ゲームを終了します。このメタデータ json ファイルを編集し、type を BGM に設定し、楽器演奏用にいくつかの parts(断片)を追加します。
"parts": [
{
"start": 0.0,
"duration": 4.0
},
{
"start": 4.0,
"duration": 4.0
},
{
"start": 8.0,
"duration": 4.0
},
{
"start": 12.0,
"duration": 4.0
},
{
"start": 16.0,
"duration": 4.0
}
]各 part には、秒単位の開始時間(start)と継続時間(duration)があります。楽器が演奏されている間、システムはこれらの断片をランダムに選択して再生します。
カスタムBGM/プレイリスト
バージョン要件
この機能はCWL 1.19.0 以降のバージョンが必要です。
ゲームには100以上のBGMが含まれており、それぞれに数字IDと音声IDがあります。
BGM
| BGM ID | 音频 ID | BGM 名称 |
|---|---|---|
| 1 | 001 no bgm | No BGM |
| 2 | 002 pop01 | Pop01 |
| 3 | 003 PSML516 | PSML516 |
| 4 | 004 hoshinokiseki | Hoshi No Kiseki |
| 5 | 005 elomap1 | Tyris 1 |
| 6 | 006 elomap2 | Tyris 2 |
| 7 | 007 elomap3 | Tyris 3 |
| 8 | 008 town2 magic | Town 2 |
| 9 | 009 fun village | Fun Village |
| 10 | 010 bouken no junbi | Bouken No Junbi |
| 11 | 011 bukikoubou | Buki Kobo |
| 12 | 012 kiminoita natsu | Kiminoita Natsu |
| 13 | 013 ruins | Ruins |
| 14 | 014 village1 | Village |
| 15 | 015 Atlantean_Twilight256 | Atlantean Twilight |
| 16 | 016 intro2 | Intro 2 |
| 17 | 017 cobalt | Cobalt |
| 18 | 018 mitologia | Mitologia |
| 19 | 019 morning breeze | Morning Breeze |
| 20 | 020 morning breeze(sunny day) | Morning Breeze(Sunny Day) |
| 21 | 021 PSML047 | PSML047 |
| 22 | 022 Pyramid-naibu | Pyramid |
| 23 | 023 mysterious-forest | Mysterious Forest |
| 24 | 024 PSML514 | PSML514 |
| 25 | 025 nodokana mura | Nodokana Mura |
| 26 | 026 kokyo | Kokyo |
| 27 | 027 fun game | Mayonakano Omochabako |
| 28 | 028 kagayaku tsuki | Kagayaku Tsuki |
| 29 | 029 MapBGM | Map BGM |
| 30 | 030 a moment in the morning | A Moment In The Morning |
| 31 | 031 SBGMv2_05 | SBGM 5 |
| 32 | 032 daybreak | Daybreak |
| 33 | 033 hoshi to tsuki | Hoshi To Tsuki No Oka |
| 34 | 034 ep2 | Epilogue 2 |
| 35 | 035 nibiiro no sora | Nibiiro No Sora |
| 36 | 036 oita kataribe | Oita Kataribe |
| 37 | 037 kaerimichi piano | Kaerimichi(Piano) |
| 38 | 038 mori | Mori |
| 39 | 039 raina | Raina |
| 40 | 040 laid back guitars | Laid Back Guitars |
| 41 | 041 earlgrey | Earlgrey Guitar |
| 42 | 042 mayonakano-park | Mayonakano Park |
| 43 | 043 Along-the-riverside-road | Along the riverside road |
| 44 | 044 heya_guitar 1 | Heya Guitar |
| 45 | 045 Sancho_Panza 1 | Sancho Panza |
| 46 | 046 dwarf | Dwarf |
| 47 | 047 nonbiri dwarf | Nonbiri Dwarf |
| 48 | 048 nazoooki shinden | Nazoooki Shinden |
| 49 | 049 kamigamiga nemuru basho | Kamigamiga Nemuru Basho |
| 50 | 050 title | Title |
| 51 | 051 yuki | Yuki |
| 52 | 052 dark theme | Fear 2 |
| 53 | 053 hoard | Hoard |
| 54 | 054 The House of Leaves | The House of Leaves |
| 55 | 055 BGM_0 sirube-2 | Sirube |
| 56 | 056 orc01 | Orc01 |
| 57 | 057 Village | Mearas Village 2 |
| 58 | 058 PSML060 | PSML060 |
| 59 | 059 tyris4 | Tyris 4 |
| 60 | 060 mayoimichi | Mayoimichi |
| 61 | 061 hyousetsu | Hyousetsu |
| 62 | 062 workshop | Mearas Workshop |
| 63 | 063 shop | Shop |
| 64 | 064 Town | Mearas Town |
| 65 | 065 soaring | Soaring |
| 66 | 066 soraochi | Soraochiruhi |
| 67 | 067 Wizartorium | Wizartorium |
| 68 | 068 gray | Gray |
| 69 | 069 escape | Escape |
| 70 | 070 arifureta shiawase | Arifureta Shiawase |
| 71 | 071 Taikutsu | Taikutsu |
| 72 | 072 Netherworld_Shanty | Netherworld Shanty |
| 73 | 073 tabinohajime | Tabino Hajime |
| 74 | 074 gag | Gag |
| 75 | 075 happy | Mearas Happy |
| 76 | 076 village | Mearas Village 3 |
| 77 | 077 dragon and toast | Dragon and Toast |
| 78 | 078 legend of one | Legend of One |
| 79 | 079 koudou | Koudou |
| 80 | 080 big mojo | Big Mojo |
| 81 | 081 exotics | Exotics |
| 82 | 082 magic city | Mearas Magic City |
| 83 | 083 gothic | Gothic |
| 84 | 084 field | Field |
| 85 | 085 PSML0515 | PSML515 |
| 86 | 086 anosora | Anosorano Mukouni |
| 87 | 087 memory | Memory |
| 88 | 088 memory 2 | Memory 2 |
| 89 | 089 semi yuugata | Semi. Yuugata. |
| 90 | 090 hirusagari | Hirusagari Kibun |
| 91 | 091 nichiyo | Nichiyo No Gogo |
| 92 | 092 itazura | Itazura Kids |
| 93 | 093 cat life | Cat Life |
| 94 | 094 ensolarado | Ensolarado |
| 95 | 095 BGM3 11 | BGM3-11 |
| 96 | 096 BGM3 7var | BGM3-7 Var |
| 97 | 097 BGM3 11var 1 | BGM3-11 Var |
| 98 | 098 Pixel Myth | Pixel Myth |
| 99 | 099 Tsukitowatashi | Tsukito Watashi |
| 100 | 100 Tsukino Kobune | Tsukino Kobune |
| 101 | 101 flashback | Flashback |
| 102 | 102 punipuni | Punipunichuiho |
| 103 | 103 sabaku | Sabakuwo Iku |
| 104 | 104 butou | Butoukai |
| 105 | 105 anime OP | Elin OP |
| 106 | 106 anime ED | Elin ED |
| 107 | 107 BGM3-1 1 | BGM3-1 |
| 108 | 108 wafu | Wafu |
| 109 | 109 Into Legend | And Thus Into Legend |
| 110 | 110 defender | Defender |
| 111 | 111 snow forest | Snow Forest |
| 112 | 112 hirahira | Hirahira |
| 113 | 113 luna | Luna |
| 114 | 114 orc05 | Orchestra 5 |
| 115 | 115 xmas | Holy Night |
| 116 | 116 xmas 2 | Jingle Bell |
| 117 | 117 atonement | Shokuzai No Mori |
| 118 | 118 kizuami | NINO - Kizuami of Trickery |
| 119 | 119 horome | NINO - Horome of Moonshadow |
| 120 | 120 lurie | NINO - Lurie |
| 121 | 121 eternity | NINO - Eternity |
新しいBGMの追加
カスタムBGMは Sound/BGM サブフォルダーに配置されます。カスタム音效とは異なり、メタデータJSONの id フィールドを手動で編集する必要があります。CWLがファイルを生成できるように、最初にゲームを一度起動してください。
CWLは、ElinのUnityバージョン(2021.3.34f1)で使用されているデコーダーがMP3デコードエラーを起こしやすいため、oggまたはwav形式の使用をお勧めします。

id は任意のユニークな数字で、ゲームで最後に使用されたBGM ID(117)より大きく、衝突を避けるために十分ユニークである必要があります。
重要な注意事項、 この id はBGM専用です。音效のIDは拡張子なしのファイル名のままです, e.g. BGM/Happy Birthday
既存の id をBGMに割り当てると、それはグローバルBGMの置き換えになります。例えば、Adventure-YOASOBI.json の曲メタデータに 56 を割り当てると、ゲーム内のBGM 056 orc01 は Adventure-YOASOBI に置き換えられます。これが、新しいBGM(置き換え音楽ではない)がユニークな id を使用する理由です。そうでないと、次に同じ id を持つBGMがあなたの音楽を置き換えてしまいます。
056 orc01はタイトルメニューのBGMです。
プレイリストの追加
あなたのプレイリストファイルは Sound/BGM/Playlist サブフォルダーに配置されます。これらはシンプルなJSONファイルの形式です。
{
"shuffle": true,
"list": [
"megalovania"
],
"remove": [
"024 PSML514",
"023 mysterious-forest"
]
}list に含まれるオーディオID(BGM IDではありません)はプレイリストに追加され、remove はプレイリストからエントリーを削除します(存在する場合)。既存のゲームオーディオIDを使用することもできます。shuffle はそのリストがランダムに並べ替えられるかどうかを設定します。
あなたは list と remove リストでワイルドカードを使用することもできます。現在、2つのモードが提供されています:
"remove": [
"**"
]これは、マージ前にすべてのトラックをクリアします。
"remove": [
"<dir>/*"
]これは、マージ前に Sound/BGM/<dir>/ フォルダーからのすべてのトラックをクリアします。
プレイリストタイプ
プレイリストのJSONファイル名は、以下のいずれかと一致する必要があります:
"Global"- 既存のプレイリスト名
- エリアタイプリスト
- エリアIDリスト
ここにゲーム内で既に存在するプレイリストがあります:
プレイリスト
- Battle [1]
- 102 punipuni
- Blank [4]
- 041 earlgrey
- 090 hirusagari
- 044 heya_guitar 1
- 043 Along-the-riverside-road
- Day [1]
- 004 hoshinokiseki
- Dungeon [4]
- 024 PSML514
- 022 Pyramid-naibu
- 023 mysterious-forest
- 048 nazoooki shinden
- Dungeon2 [6]
- 072 Netherworld_Shanty
- 077 dragon and toast
- 078 legend of one
- 079 koudou
- 080 big mojo
- 081 exotics
- Dungeon_Boss [1]
- 098 Pixel Myth
- EloMap [3]
- 006 elomap2
- 007 elomap3
- 059 tyris4
- Festival_Noyel [1]
- 051 yuki
- Festival_Olvina [1]
- 051 yuki
- Festival_Yowyn [1]
- 093 cat life
- Field [1]
- 015 Atlantean_Twilight256
- Hoard [1]
- 053 hoard
- Lot [1]
- 001 no bgm
- Night [2]
- 005 elomap1
- 004 hoshinokiseki
- Underground [2]
- 046 dwarf
- 047 nonbiri dwarf
Blank は、明示的に指定されたプレイリストがないすべてのZoneのデフォルトプレイリストです。
Zoneタイプ名とそのプレイリストを確認してください:

全局リスト
Global.json という特別なプレイリストを準備することで、すべてのプレイリストに統合されます。
指定プレイリスト
例えば、すべてのダンジョンエリア(Zone_RandomDungeon、Zone_RandomDungeonFactory、Zone_Mine など)は、Dungeon という名前のプレイリストを共有しています。このプレイリストに曲を追加または削除したい場合は、Sound/BGM/Playlist/ フォルダー内に Dungeon.json を準備する必要があります。

Dungeon.json 内での変更は、ゲームの Dungeon プレイリストに統合され、曲の追加や削除が行われます。これは、このプレイリストを共有するすべてのエリアに影響を与えます。
別の一般的な使用例は、大マップにいるときに曲を追加することです。大マップは Region タイプのエリアであり、EloMap というプレイリストがあります。
エリアタイプリスト
プレイリストの統合に加えて、各エリアタイプに対してエリアオーバーライドを指定することもできます。これらのプレイリストはエリアタイプ名を使用し、その内容はエリアのデフォルトプレイリストに統合されます(表に指定がない場合は Blank になります)。
例えば、Zone_Vernis.json はヴェルニスエリアタイプのオーバーライドを行い、Zone_Forest はこのタイプを使用する草原と森林に対してオーバーライドを行います。
したがって、Region.json を使用して大マッププレイリストに曲を追加することも可能です。なぜなら、これは Region タイプを使用しているからです。
エリアIDリスト
同じエリアタイプに複数の異なるエリアが存在する場合、エリアIDを使用して個別にオーバーライドすることができます。例えば、Zone_dungeon 洞窟と Zone_dungeon_ruin 遺跡はどちらも Zone_RandomDungeon エリアタイプに属し、そのIDを使用して個別に指定できます。エリアIDを使用する際は、特定の N 層を指定するために @N を追加することもできます。例えば、ダルフィ地下1層は [email protected] となります。
統合順序
複数のプレイリストが同時に存在することができ、それらは全局リスト、指定プレイリスト、エリアタイプリスト、エリアIDリストの順に統合されます。重複する曲は削除されます。プレイリストの統合順序は、Modの読み込み順序にも影響されます。remove リストでワイルドカードを使用する際は、プレイリストの統合順序が最終的な曲リストと順序に影響を与えることを忘れないでください。
ホットリロード/BGM ビュー
ゲーム内でセーブデータを読み込んだ後、CWLパネルを使用して現在のプレイリストを表示および制御できます:


ゲームが実行中のときにプレイリストのJSONを編集した後、すべてのプレイリストをホットリロードできます。CWLには新しいオーディオのホットリロード用のコンソールコマンドがありますが、インデックスの問題が発生する可能性があるため、使用は推奨されません。
最後の例
大マップ探索のすべてのデフォルト曲を削除し、新しい曲を追加したい場合は、Sound/BGM/Playlist/EloMap.json または Sound/BGM/Playlist/Region.json を使用します:
{
"shuffle": true,
"list": [
"my new BGM sound id1",
"my new BGM sound id2"
],
"remove": [
"**"
]
}