Skip to content

音声/BGM

オーディオファイルは accmp3oggwav 形式で、ファイル名がオーディオIDとして使用されます。音声を使用すると、デフォルトの同名メタデータJSONが生成され、編集して次回ゲーム起動時に音声ファイルのメタデータを適用することができます。

メタデータで"type": "BGM"を設定すると、オーディオはBGMDataとしてではなくSoundDataとしてインスタンス化されます。また、メタデータ内でBGMの小節部分をカスタマイズすることもできます。

同じIDを使用して、既存のゲーム内音声を上書きすることができます。例えば、ひよこの鳴き声はID Animal/Chicken/chickenを使用しているので、Sound/Animal/Chicken/フォルダーにchickenという名前の音声ファイルを用意して上書きすることができます。

Soundフォルダー内のサブディレクトリはオーディオIDのプレフィックスとして使用されます。たとえば、AI_PlayMusicInstrument/sound_idを使用するため、楽器音楽を置き換える場合は、同名のオーディオファイルをInstrumentフォルダーに配置してください。

例:

cs
pc.PlaySound("clown_horn"); // <- Card.PlaySound
SE.PlaySound("clown_horn");

カスタムBGM/プレイリスト

バージョン要件

この機能はCWL 1.19.0 以降のバージョンが必要です。

ゲームには100以上のBGMが含まれており、それぞれに数字IDと音声IDがあります。

BGM
BGM ID音频 IDBGM 名称
1001 no bgmNo BGM
2002 pop01Pop01
3003 PSML516PSML516
4004 hoshinokisekiHoshi No Kiseki
5005 elomap1Tyris 1
6006 elomap2Tyris 2
7007 elomap3Tyris 3
8008 town2 magicTown 2
9009 fun villageFun Village
10010 bouken no junbiBouken No Junbi
11011 bukikoubouBuki Kobo
12012 kiminoita natsuKiminoita Natsu
13013 ruinsRuins
14014 village1Village
15015 Atlantean_Twilight256Atlantean Twilight
16016 intro2Intro 2
17017 cobaltCobalt
18018 mitologiaMitologia
19019 morning breezeMorning Breeze
20020 morning breeze(sunny day)Morning Breeze(Sunny Day)
21021 PSML047PSML047
22022 Pyramid-naibuPyramid
23023 mysterious-forestMysterious Forest
24024 PSML514PSML514
25025 nodokana muraNodokana Mura
26026 kokyoKokyo
27027 fun gameMayonakano Omochabako
28028 kagayaku tsukiKagayaku Tsuki
29029 MapBGMMap BGM
30030 a moment in the morningA Moment In The Morning
31031 SBGMv2_05SBGM 5
32032 daybreakDaybreak
33033 hoshi to tsukiHoshi To Tsuki No Oka
34034 ep2Epilogue 2
35035 nibiiro no soraNibiiro No Sora
36036 oita kataribeOita Kataribe
37037 kaerimichi pianoKaerimichi(Piano)
38038 moriMori
39039 rainaRaina
40040 laid back guitarsLaid Back Guitars
41041 earlgreyEarlgrey Guitar
42042 mayonakano-parkMayonakano Park
43043 Along-the-riverside-roadAlong the riverside road
44044 heya_guitar 1Heya Guitar
45045 Sancho_Panza 1Sancho Panza
46046 dwarfDwarf
47047 nonbiri dwarfNonbiri Dwarf
48048 nazoooki shindenNazoooki Shinden
49049 kamigamiga nemuru bashoKamigamiga Nemuru Basho
50050 titleTitle
51051 yukiYuki
52052 dark themeFear 2
53053 hoardHoard
54054 The House of LeavesThe House of Leaves
55055 BGM_0 sirube-2Sirube
56056 orc01Orc01
57057 VillageMearas Village 2
58058 PSML060PSML060
59059 tyris4Tyris 4
60060 mayoimichiMayoimichi
61061 hyousetsuHyousetsu
62062 workshopMearas Workshop
63063 shopShop
64064 TownMearas Town
65065 soaringSoaring
66066 soraochiSoraochiruhi
67067 WizartoriumWizartorium
68068 grayGray
69069 escapeEscape
70070 arifureta shiawaseArifureta Shiawase
71071 TaikutsuTaikutsu
72072 Netherworld_ShantyNetherworld Shanty
73073 tabinohajimeTabino Hajime
74074 gagGag
75075 happyMearas Happy
76076 villageMearas Village 3
77077 dragon and toastDragon and Toast
78078 legend of oneLegend of One
79079 koudouKoudou
80080 big mojoBig Mojo
81081 exoticsExotics
82082 magic cityMearas Magic City
83083 gothicGothic
84084 fieldField
85085 PSML0515PSML515
86086 anosoraAnosorano Mukouni
87087 memoryMemory
88088 memory 2Memory 2
89089 semi yuugataSemi. Yuugata.
90090 hirusagariHirusagari Kibun
91091 nichiyoNichiyo No Gogo
92092 itazuraItazura Kids
93093 cat lifeCat Life
94094 ensolaradoEnsolarado
95095 BGM3 11BGM3-11
96096 BGM3 7varBGM3-7 Var
97097 BGM3 11var 1BGM3-11 Var
98098 Pixel MythPixel Myth
99099 TsukitowatashiTsukito Watashi
100100 Tsukino KobuneTsukino Kobune
101101 flashbackFlashback
102102 punipuniPunipunichuiho
103103 sabakuSabakuwo Iku
104104 butouButoukai
105105 anime OPElin OP
106106 anime EDElin ED
107107 BGM3-1 1BGM3-1
108108 wafuWafu
109109 Into LegendAnd Thus Into Legend
110110 defenderDefender
111111 snow forestSnow Forest
112112 hirahiraHirahira
113113 lunaLuna
114114 orc05Orchestra 5
115115 xmasHoly Night
116116 xmas 2Jingle Bell
117117 atonementShokuzai No Mori

新しい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 orc01Adventure-YOASOBI に置き換えられます。これが、新しいBGM(置き換え音楽ではない)がユニークな id を使用する理由です。そうでないと、次に同じ id を持つBGMがあなたの音楽を置き換えてしまいます。

056 orc01 はタイトルメニューのBGMです。

プレイリストの追加

あなたのプレイリストファイルは Sound/BGM/Playlist サブフォルダーに配置されます。これらはシンプルなJSONファイルの形式です。

json
{
    "shuffle": true,
    "list": [
        "megalovania"
    ],
    "remove": [
        "024 PSML514",
        "023 mysterious-forest"
    ]
}

list に含まれるオーディオID(BGM IDではありません)はプレイリストに追加され、remove はプレイリストからエントリーを削除します(存在する場合)。既存のゲームオーディオIDを使用することもできます。shuffle はそのリストがランダムに並べ替えられるかどうかを設定します。

あなたは listremove リストでワイルドカードを使用することもできます。現在、2つのモードが提供されています:

json
"remove": [
	"**"
]

これは、マージ前にすべてのトラックをクリアします。

json
"remove": [
	"<dir>/*"
]

これは、マージ前に Sound/BGM/<dir>/ フォルダーからのすべてのトラックをクリアします。

プレイリストタイプ

プレイリストのJSONファイル名は、以下のいずれかと一致する必要があります:

  • "Global"
  • 既存のプレイリスト名
  • 地域タイプ名

ここにゲーム内で既に存在するプレイリストがあります:

プレイリスト
  • Battle [1]
    • 054 The House of Leaves
  • 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]
    • 061 hyousetsu
  • Night [2]
    • 005 elomap1
    • 004 hoshinokiseki
  • Underground [2]
    • 046 dwarf
    • 047 nonbiri dwarf

Blank は、明示的に指定されたプレイリストがないすべてのZoneのデフォルトプレイリストです。

Zoneタイプ名とそのプレイリストを確認してください:

全局カバレッジ

Globalという特別なプレイリストを準備することができ、これはすべてのプレイリストに統合されます。

指定プレイリスト

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

Dungeon.json内の変更は、ゲームのDungeonプレイリストに統合され、曲の追加や削除が行われます。これは、このプレイリストを共有するすべてのエリアに影響します。

もう一つの一般的なユースケースは、大マップにいるときに曲を追加することです。大マップはエリアタイプRegionで、プレイリストEloMapがあります。

エリアカバレッジ

プレイリストの統合に加えて、各エリアタイプに対してエリアカバレッジを指定することもできます。これらのプレイリストはエリアタイプ名を使用し、その内容はエリアのデフォルトプレイリストに統合されます(表に指定がない場合はBlank)。

したがって、EloMap.jsonの代わりにRegion.jsonを使用して大マップのプレイリストに曲を追加することもできます。

マージ順序

3種類のプレイリストは同時に存在でき、それらは全局カバレッジ、指定プレイリスト、エリアカバレッジの順に統合されます。重複する曲は削除されます。プレイリストの統合順序はModの読み込み順序にも影響されます。removeリストでワイルドカードを使用する際には、プレイリストの統合順序が曲に影響を与えることを忘れないでください。

ホットリロード/BGM ビュー

ゲーム内でセーブデータを読み込んだ後、CWLパネルを使用して現在のプレイリストを表示および制御できます:

ゲームが実行中のときにプレイリストのJSONを編集した後、すべてのプレイリストをホットリロードできます。CWLには新しいオーディオのホットリロード用のコンソールコマンドがありますが、インデックスの問題が発生する可能性があるため、使用は推奨されません。

最後の例

大マップ探索のすべてのデフォルト曲を削除し、新しい曲を追加したい場合は、Sound/BGM/Playlist/EloMap.json または Sound/BGM/Playlist/Region.json を使用します:

json
{
    "shuffle": true,
    "list": [
        "my new BGM sound id1",
        "my new BGM sound id2"
    ],
    "remove": [
        "**"
    ]
}