今回は吉里吉里Z/KAGで
BGMや効果音(SE)を使用する方法について
解説していきますね。
ちなみに
「吉里吉里Zの開発環境自体整えてないよ~」
という方は下記記事を一読してから
こちらの記事を読んで頂けると、理解しやすいかと思います^^
たった5分!吉里吉里Zでの環境構築【PCでのノベル(恋愛)ゲームの作り方】
その他にも、前の記事で
画像(背景・キャラクター立ち絵)、文字の解説
初心者でも簡単!恋愛ゲームのメイン画面、ノベルパートの開発【吉里吉里Z】
トランジションの解説
初心者でもプロ並みの恋愛ゲームに!トランジション活用術【吉里吉里Z開発】
の記事をアップしているので、
まだ読んでいないよという方は
こちらも一読頂ければ幸いです^^
1.音を入れるために必要な前準備
前準備といっても、1分もあればできます。
まずは
「data」→「scenario」→「first.ks」
を開き、下記記述を追加してください。
;====================================================== ; 最初に読み込まれるシナリオファイル ;====================================================== [wait time=200] ;BGM・効果音(OggVorbis)を鳴らすためのプラグイン [loadplugin module="wuvorbis.dll"]
上記は吉里吉里Z/KAGで
ogg形式の音楽ファイルを扱うための
プラグイン設定になります。
設定は以上です。
ところでogg形式ってなんだまん?初めて聞くまん
うん、私もゲームを開発するようになって初めて知ったよ。
他のファイル形式も使えるんだけど、oggファイルが一番おすすめなの
oggファイルをおすすめする理由は
- ファイルサイズが軽量な割に、音質がいい
- 誰でも無料で自由に使用できるファイル形式
だからです。
吉里吉里ではwav形式なども使えますが
wave形式は音質を良いほど、ファイルサイズが重くなってしまいます。
また、一般的に普及しているmp3は
ogg形式と同じように、軽量の割に音質が良いですが
mp3の特許問題もあり、吉里吉里では公式にサポートされていませんでした。
※なおmp3の著作権が2017年で切れたため、追加プラグインを入れれば、mp3形式も扱えるようです(私はまだ試していませんが・・・)
2.早速ゲームに音を入れてみよう
設定が終わったら
早速、音を鳴らすための
タグを書いてみましょう。
こちらも2~3分もあればできます!
2-1 BGMを鳴らす
BGMはTAM Factoryさまから
tamsp18_loopという音楽素材を
お借りしたいと思います。
まずは上記をダウンロードして
「data」→「bgm」
ファルダ内に入れてください。
次にBGMを鳴らしたい箇所に、
下記記述を書いてください。
[playbgm storage=tamsp18_loop]
これでBGMが鳴るようになります。
逆にBGMをストップ場合は、ストップしたい箇所で
[stopbgm]
と記載すればOKです。
その他、BGMを操作するためのタグは
下記にまとめてみました。
■BGMを操作するためのタグ
pausebgm | BGMを一時停止する |
resumebgm | [pausebgm]で一時停止したBGMをストップした箇所から再開させる |
fadeinbgm | フェードインしながらBGMを鳴らす |
fadeoutbgm | フェードアウトしながらBGMをストップする |
さて、上記4つのコードも使ってコードを書いてみましょう。
「data」→「scinario」→「1.ks」
を開いて、下記コードを書いてみてください。
; *start| ;BGMを再生する [playbgm storage=tamsp18_loop] [wait time=10000] ;BGMを一時停止する [pausebgm] [wait time=10000] ;BGMを一時停止した箇所から再開する [resumebgm] [wait time=5000] ;BGMをストップする [stopbgm] ;フェードインしながらBGMを鳴らす [fadeinbgm storage=tamsp18_loop time=500] [wb] [wait time=10000] ;フェードアウトしながらBGMを止める [fadeoutbgm time=500] [wb]
フェードイン、フェードアウトが終わるまで待つためのタグだよ。
BGMの場合は使わなくても気にならないことが多いと思うので、お好みで使う感じかな
コードが書けたら、1.ksを保存して、実行してみましょう。
なるほど。[fadeinbgm]と[fadeoutbgm]だと、自然な感じでBGMを再生・ストップできるまんね
うん。私もBGMを使う時は、[fadeinbgm]とf[adeoutbgm]を使うことが多いよ。[stopbgm]だとBGMがぶつっと切れちゃって、不自然な感じだよね
ちなみに[fadeinbgm]と[fadeoutbgm]を使用する時は、
必ずtimeを指定してフェードする時間を指定してくださいね
コードで書くと下記になります。
[fadeinbgm storage=tamsp18_loop time=500]
上記だと、0.5秒間フェードインを行いながら
BGMを再生するという動作になります。
2-2 SEを鳴らす
SEの場合も、BGMとほぼ同じコードなので
BGMが使えれば、SEもさくっとできるかと思います!
SEもBGM同様、
TAM Factoryさまより素材をお借りしたいと思いますので
jingle37という素材をダウンロードし、
「data」→「sound」
フォルダの中に入れてください。
次に下記記述を書いてみてください。
[playse storage=jingle37]
これでSEが鳴ります。
bgmの部分がseに置き換わっただけなので、
わかりやすいですね!
ちなみに、もし連続して効果音を鳴らしたい場合は
[playse storage=jingle37] [ws] [playse storage=jingle37] [ws] [playse storage=jingle37]
のように、wsタグを書いてくださいね。
wsタグを書くことで、前の効果音の再生が終わってから
次の効果音を再生するようになります。
以上、
効果音はBGMとほぼ同じやり方で使用できるのですが
1点だけ、BGMと違う点があります。
それは、効果音は複数同時に鳴らすことができる点です。
どうすればいいかというと、
バッファ番号を指定すると、効果音を同時に鳴らすことができます。
例えば
[playse storage=test01 bug=0] [playse storage=test02 bug=1]
のように書くと、SEが同時に鳴ります。
違うバッファ番号を指定する
(つまりそれぞれ違うバッファを使うことで)
効果音を同時に鳴らせるという感じです。
ただ、SEを同時に鳴らすシーンは
ほとんどないかと思いますので
これは基本的に気にしなくてOKです。
あくまで
「効果音って同時に鳴らせるんだ~」
「バッファなんてあるんだ」
ぐらいに思って頂ければOKです。
Q&A
手順通りやったのに音が鳴らない・・・
手順通りやったけど、音が鳴らないまん・・・
う~ん、もしかしてKAGのバージョンが古いのかな?
設定ファイルを見てみようか
まず
「data」→「system」→「Config.tjs」
を開いてください。
もしConfig.tjsに
// BGM の設定です。 // CD-DA, Wave, MIDI のいずれかを BGM として再生することができます。 // ◆ BGM再生メディア // type 変数に設定する文字列で、使用するサウンドバッファを決めることができ // ます。 // "Wave" : WaveSoundBuffer ( wav等(プラグインで再生できる物も含む) ) // "MIDI" : MIDISoundBuffer ( mid,smf ) // "CDDA" : CDDASoundBuffer ( cda ) ;type = "MIDI";
という記述があったら
;type = "MIDI";
の部分を
;type = "Wave";
へ変更して、保存してください。
これで音楽ファイルが鳴るようになります。
ただ、こちらのサイトでは
吉里吉里Z (1.4.0)
を前提で説明させて頂いているので
お手元の吉里吉里もバージョンを合わせて頂いた方が
スムーズに進められるかと思います^^
使用したい音楽素材がoggファイルじゃない場合は?
使いたい音楽素材をあったけど、ファイル形式がmp3だったまん。
これって使えないまんか?
大丈夫だよ。ファイル形式を変換するためのソフトを使えば、
すぐにoggファイルを作ることができるよ
ファイル形式を変換するためのソフト
(=以下、コンバーター)について説明しますね。
コンバーターについて、Google検索で
「ogg 変換 フリーソフト」
と検索すると、たくさん出てくるとは思いますが
ここでは
「Online Audio Converter」
というダウンロード不要のオンラインアプリを使って
説明したいと思います。
まずはOnline Audio Converterにアクセスしてください。
アクセスしたら、あとはたったの3STEPです。
- ①の「ファイルを開く」をクリックし、変換したいファイルを選択する
- ②の「ogg」をクリックする
- ③の「変換」をクリックする
以上で、oggファイルに変換されるので
こちらをゲームに使用しましょう。
以上、いかがでしたでしょうか?
本記事を読んだ感想、疑問点、要望などございましたら
お気軽にコメント頂けましたら幸いです。
[temp id=4]
参考にさせていただいています
今テキストボックスの下や横にセーブ、ロードなどのボタンを作ろうとしているのですがつまずいています。
もし可能でしたらその方法を教えていただけたら幸いです。
よろしくお願いします。
>りんさま
初めまして、コメントありがとうございます。
セーブ・ロード機能で
つまずいていらっしゃるとのことで承知いたしました!
丁度今執筆中の記事を公開した後に、
次はセーブロードの記事を書き始めようかなと
思っていたところでしたので
テキストボックスにつける方法も
そちらで詳しく説明させて頂きますね(^^)
来週中には公開できるかと思いますので
よろしくお願い致します。
ありがとうございます!
待っています
>りんさま
記事のアップが予定よりも遅くなってしまい
申し訳ありません。
先程記事をアップさせて頂きましたので、
よろしければ参考にして頂ければと思います。
かがやさま
いつも参考にさせて頂いています。
最近、吉里吉里でゲーム開発を始め、かがやさまの記事にたどり着きました。
se(効果音)の入れ方はわかった(今回の記事とは別の効果音の入れ方)のですが、まとめて行う方法はありますか?
例えばカーソルが乗った時にボタン1とボタン2とボタン3があった時に、
[button layer=0 clickse=click.ogg enterse=cursor.ogg graphic=画像1.png page=fore target=*Label_1]
[button layer=1 clickse=click.ogg enterse=cursor.ogg graphic=画像1.png page=fore target=*Label_2]
[button layer=2 clickse=click.ogg enterse=cursor.ogg graphic=画像1.png page=fore target=*Label_3]
といったように1つ1つ[enterse=cursor]を入れていかないといけないのでしょうか?
ゲーム内のボタンはカーソルが乗った時の効果音は全て同じにしたいのでまとめてできる方法があれば是非教えていただきたいです。
初歩的な質問で申し訳ないですが、お願いします!
>ゆゆさま
初めまして、コメントありがとうございます!
ご質問の件ですが
同じ効果音であっても、それぞれのボタンで効果音を鳴らしたい場合は
それぞれのボタンごとに指定する必要があります。
ただ、書き方を短縮することは可能です!
具体的にはマクロを使用するのですが、
マクロについては、そろそろ掲載させていただこうと思っていたので
そちらでよろしければ、記事にて詳細を説明させていただければと思います。