広告あり

Unreal Engine コツコツ自習_効果音をつける【2Dゲーム】

UEコツコツ自習シリーズ
スポンサーリンク

簡単な2Dゲームを作ろう

2Dゲーム制作の練習シリーズです。

アンリアルエンジンで2Dゲーム制作方法をまとめていきます。

説明を省略したり、細かな数値設定などの説明をしない場合もありますので、ご参考程度で確認ください。

※作業環境:UEバージョン5.3.2 Windows11 VSCode

効果音をつける

敵に魔法が当たったり、プレイヤーが魔法を発射したりするときに、効果音が鳴るようにしていきます。

サウンドファイルを準備する

効果音(WAVファイル)を準備して、インポートします。

発射音とプレイヤー敗北音をつける

魔法を発射した時と、プレイヤーが敵と接触した時に、効果音が鳴るようコードを編集していきます。

PlayerCharacter.h

インクルードを追加します。

#include "Engine/TimerHandle.h"

// 追加↓
#include "Sound/SoundBase.h"
// ここまで↑

#include "Magic.h"

「public:」内にプロパティを追加します。

    UPROPERTY(EditAnywhere, BlueprintReadOnly)
	UPaperFlipbook* RunFlipbook;

// 追加↓
    UPROPERTY(EditAnywhere, BlueprintReadOnly)
	USoundBase* MagicShootSound;

	UPROPERTY(EditAnywhere, BlueprintReadOnly)
	USoundBase* DieSound;
// ここまで↑

PlayerCharacter.cpp

インクルードを追加します。

#include "Kismet/KismetMathLibrary.h"

// 追加↓
#include "Kismet/GameplayStatics.h"
// ここまで↑

#include "Enemy.h"

「APlayerCharacter::Shoot(){}」内にコードを追加します。

        GetWorldTimerManager().SetTimer(ShootCooldownTimer, this, &APlayerCharacter::OnShootCooldownTimerTimeout, 1.0f, false, ShootCooldownDurationInSecond);

// 追加↓
		UGameplayStatics::PlaySound2D(GetWorld(), MagicShootSound); // 発射音を再生する
// ここまで↑

	}

「APlayerCharacter::OverlapBegine(){}」内にコードを追加します。

        if (IsAlive)
		{
			IsAlive = false;
			CanMove = false;
			CanShoot = false;
// 追加↓
			UGameplayStatics::PlaySound2D(GetWorld(), DieSound); // 敗北効果音を再生する
// ここまで↑
			PlayerDiedDelegate.Broadcast();
		}

敵が消滅するときに音を鳴らす

敵が魔法に当たって消えるときに、効果音を鳴らすようコードを編集していきます。

Enemy.h

インクルードを追加します。

#include "PaperFlipbookComponent.h"

// 追加↓
#include "Sound/SoundBase.h"
// ここまで↑

#include "PlayerCharacter.h"

「public:」内にプロパティを追加します。

	UPROPERTY(VisibleAnywhere, BlueprintReadWrite)
	APlayerCharacter* Player;

// 追加↓
	UPROPERTY(EditAnywhere, BlueprintReadOnly)
	USoundBase* DieSound;
// ここまで↑

Enemy.cpp

「AEnemy::Die(){}」内にコードを追加します。

	EnemyFlipbook->SetFlipbook(DeadFlipbookAsset);
	EnemyFlipbook->SetTranslucentSortPriority(1);

	EnemyDiedDelegate.Broadcast();

// 追加↓
	UGameplayStatics::PlaySound2D(GetWorld(), DieSound); // 消滅音を再生する
// ここまで↑

}

保存して、リフレッシュ&コンパイルします。

ブループリントに効果音を割り当てる

ブループリントで効果音を割り当てていきます。

「BP_PlayerCharacter」を開きます。

「Details」の「Player Character」項目を確認します。

対応するコード

    UPROPERTY(EditAnywhere, BlueprintReadOnly)
	USoundBase* MagicShootSound;

	UPROPERTY(EditAnywhere, BlueprintReadOnly)
	USoundBase* DieSound;

「Magic Shoot Sound」と「Die Sound」にサウンドファイルを割り当てます。

次に、「BP_Enemy」を開きます。

「Details」の「Enemy」の項目を確認します。

対応するコード

	UPROPERTY(EditAnywhere, BlueprintReadOnly)
	USoundBase* DieSound;

「Die Sound」に効果音を割り当てます。

効果音の実装完了

保存して、テストプレイします。

敵を倒したとき、魔法を発射したとき、プレイヤーが敵に接触したときに、効果音が鳴っていればOKです。

2Dゲーム制作練習終了

ここまで読んでいただき、ありがとうございます!

今回の記事で、このシリーズは完結となります

最低限の機能しか付けていませんが、2Dゲーム制作の第一歩は進めたかなと思います。

当サイトでは、Unreal Engineを使ったゲーム開発における疑問点や、問題解決などを投稿しています。

すこしでも悩み解決の糸口になれば幸いです。

これからも、より良いゲーム開発の日々をお過ごしください!

前後記事

他の記事を探す

他の記事も気になる方は、以下の記事の目次を確認ください。

タイトルとURLをコピーしました