Godot 音シュー02「BGMを鳴らす」
先ずは「音ゲー」部分から作る。音を鳴らすぞ。と言ってもコレは簡単だ。Godot の場合音を扱う「ノード」は3つしかない。「AudioStreamPlayer」「AudioStreamPlayer2D」「AudioStreamPlayer3D」だ。俺は2Dなんかやる気はないので、普通のと 3D のと2つだけ覚えればイイって事だ。
AudioStreamPlayer
普通に BGM を鳴らす。簡単に言うと、BGM を用意して、「AudioStreamPlayer」ノードの Stream プロパティの所にセットしてやればイイだけ。おしまい。簡単。
Stream 以外の項目は、
- Volume Db: デシベル? 音の大きさを調節する。"0" だと [7] で指定した Bus の音量で鳴る。
- Playing: なんでコレがあるのか分からないが、音が鳴っている時に "On" になる模様。
- Autoplay: シーンツリーに入った瞬間に鳴って欲しい場合は "On" にしておく。
- Mix Target: ストリームに入れた音源を鳴らす時、ステレオにするかサラウンドにするかって事か? センターって何だ?
- Bus: 音量とか効果とかのセットを指定する。普通ゲームはオプションからオーディオセッティングで、マスターボリュームとか BGM とかエフェクト音とか、別々に音の大きさを変えられるだろ。それ。
多分、こんな感じ。
[7] は Master のままになってるけど、これは、下部パネルの Audio をクリックすると出て来るパネルから、選択するオプションを追加する事ができる。
- マスターボリュームで鳴らすと、普通うるさいので、音を絞って鳴らしたい時にここを押して、 新しく Bus を作る(Bus って何か知らんけど)。新しく Bus が追加されると、プロパティの Bus から選択できるようになる。
- 新しく出て来るので、この丸スライダーを動かして音量を調節出来る。俺の感覚だと、"-12 ~ -24" の間くらいがちょうどいいかな。音源が入っている場合プロパティの Playing を "On" にすると音が鳴るので、それで調節すればいいんじゃないかとも思うが、ここは動かさないで、プロパティの Volume Db で数値を打ち込んだ方がいいだろって思う。(戻す時は、右クリメニューから。)
- 新規に Bus を追加すると、なんか、勝手にこの名前でルートにファイルが出来る。多分 Bus のセットだよって言いたいんだと思う。
- 追加した Bus の名前。変えたかったら変えられる。
- 右の [縦3点] をクリックで、削除とか出来る。(右クリでメニューも出るけど。)
- エフェクトも追加できる。いっぱいあって困るわ~、ってくらいある。楽しそう。
- どの Bus にリンクさせるかって事? "Master" になってるので、音量とかマスターボリュームに対しての音の変化となるんだと思う。
なんとなく、こんな感じか。この辺は、実際に Stream に音を入れてみて色々いじってみた方が早いよな。
BGM を用意する
ということで、BGM を用意しよう。実際にゲームを売る事を考えないなら、自分の好きな音源を用意すればいいよ。何度聞いてもイヤにならないものが一番だ。
ま、俺は一応、商用フリーのを用意したがな。なんせ、作ったゲームが1億ダウンロードされて、1億円の利益が出ることを目標にしてるからな。「商用フリー bgm」でググって一番最初に出てきたサイトから一番ダウンロードされているファイルを DL させてもらった。わるいな。
- ふぁいる: 「なんでしょう? by KK」 https://dova-s.jp/bgm/play710.html
で、音源ファイルの注意点なんだけど、2つ。
- Godot が扱えるファイル形式は、wav と ogg 。mp3 は使えない。
- ファイルに「ループ」処理が入っている場合は、インポートした時「ループ」処理も引き継がれる。
ちょうど俺が利用させてもらうファイルが「mp3」で「ループ」付きのものだった。これたまたまだけど、Godot の勉強になった感じで逆によかった。
ogg と loop
mp3 は ogg に変換しよう。(または、最初から ogg のものを用意すればイイ。)好きなソフトで変換すればいいよ。「mp3 ogg 変換」でググればイイ。簡単。
俺は、「FlicFlac Audio Converter」、窓の杜から DL したぜ。このソフトの場合、変換はファイルをD&Dすればいいだけで済むし、俺は特に音質にこだわりないし、これで十分だ。
変換したら、普通に、エクスプローラからファイルシステムに D&D すればインポートされる。ちょっと注意なのは、mp3 のまま D&D してもファイルシステムには表示されないが、フォルダの中にはファイルは入っちゃうから、間違って入れない事。容量を圧迫するぞ。
ここで、いつもは、シーンパネルの所、Import のタブにしてみると、
こんな感じで、「ループ」が入ってることが分かる。「ループ」処理を外したかったら、チェックを外して、下の [Reimport] ボタンをクリックだ。
===※
なんか、リインポートの後、音が鳴らなくなる時があるんだけど、俺だけ? 無理やりシーン再生させると、その後なぜか治るんだけど。
※===
音をセットして鳴らしてみる
プロパティの Stream には、D&Dでセットできる。楽チン。あと、Volume Db は "-15" にして、Bus は "NEW BUS"。
Autoplay を "On" にして [シーン再生] すれば鳴るし、試しに聴きたければ、playing を "On" で鳴る。
今回はここまで。次回は、BPM に関してやろうと思う。