UE4ゲーム制作入門二十二日目

一人UE4ゲーム制作入門アドベントカレンダー二十二日目です。

今回はサウンド周りです。ただ再生してるだけですけど。

まず、音素材自体を持ってこなければいけません。魔王魂とか煉獄庭園とか色々ありますが、今回は楽(?)さを考えて、UnrealEngine4内で入手します。

といってもまともに見たアセットは少ないので、カウチナイトとランドスケープのプロジェクトから持ってきました。

カウチナイトからはFootStepやらStab_Toneなどを、ランドスケープからはBGMを持ってきました。

再生方法としてはPlaySound関連でやります。効果音にはPlaySoundAtLocationを、BGMにはAudioComponentを使えばなんかそれっぽくなります。

効果音用にSceneComponentを作りました。ブループリントクラス作成から作れます。単純に関数を呼ぶと、そのコンポーネントに設定した音が、その位置から鳴るようになります。

PlayOneShot.png

BGMはそれ用にアクターを作りました。AudioComponentをつけて、ランドスケープのBGMを設定しているだけです。もし、ステージごとに切り替えたいなら列挙体などで曲を指定できるようにして、任意のタイミングでその列挙体に応じた音素材に切り替わるようにするとよいでしょう。

おそらくゲームモードでも問題はありません。

BP_BGM.png

基本的にはこの2つがすべてです。

ライフルや弾にコンポーネントをくっつけて、それぞれ発射時と着弾時に音がなるように設定します。

BP_Rifle_20161222022651654.png

発射時に音がなる

BP_Shot.png

あとは歩いてるとき用のもつけましょう。スピードを取得したいので、プレイヤーに実装します。

isSpeed.png

ステージがゲームで、移動中に鳴り続けます。スピードが一定以上なら移動中扱いにします。

移動

移動や攻撃はアニメーションがあるならアニメーション通知をつけて、通知イベントごとにならせたい音を決めると楽です。今回は移動がいっぱいで設定がめんどうなのと、攻撃アニメーションがないため、こんな感じに実装しました。

今回はこんな感じ。個人的には歩きの音は別のがいいかなって思いますが、音がつくだけでだいぶゲームっぽい感じを受けると思います。