Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ゲーム用のサウンド | ゲームを改良する
Unityでの格闘ゲーム

bookゲーム用のサウンド

メニューを表示するにはスワイプしてください

オーディオリスナー

Audio Listener は、Unity におけるゲームの「耳」として機能するコンポーネント。通常はメインカメラやプレイヤーキャラクターにアタッチされ、シーン内のすべての音声をキャプチャする。各シーンに Audio Listener は1つだけ配置する必要がある。

機能: すべてのオーディオソースをリスニングし、プレイヤーが聞く音を決定する。3D空間オーディオをキャプチャし、プレイヤーが音の方向や距離を認識できるようにする。

オーディオソースによるBGM(バックグラウンドミュージック)

Audio Source コンポーネントは、Unityでオーディオクリップを再生するために使用されます。これは、BGM用の専用オブジェクトや、効果音を発するシーン内のオブジェクトなど、任意の GameObject にアタッチできます。

機能Audio Source はオーディオクリップを再生し、さまざまなパラメータで制御および設定が可能です。

Audio Source コンポーネントの主なパラメータ

AudioClip:この Audio Source で再生されるオーディオファイル。

Output:このオーディオソースが音声をルーティングする Audio Mixer Group。指定がない場合はデフォルトのオーディオ出力を使用。

Mute:チェックを入れるとオーディオソースがミュートされ、音が再生されません。

Bypass Effects:このオーディオソースに適用されたエフェクトをバイパスし、エフェクトなしで再生。

Bypass Listener EffectsAudio Listener に適用されたエフェクトを無視。

Bypass Reverb Zones:シーン内のリバーブゾーンの影響を受けないようにします。

Play On Awake:チェックを入れると、シーン開始時に割り当てられたオーディオクリップが自動的に再生されます。

Loop:チェックを入れると、オーディオクリップがループ再生され、停止するまで繰り返し再生されます。

Priority:オーディオソースの優先度を決定。値が小さいほど優先度が高く、複数のオーディオソースが同時に再生される場合に有効。

Volume:オーディオソースの音量を調整。例:0.263は元の音量の約26%で再生。

Pitch:オーディオクリップのピッチを調整。デフォルト値は1。値を下げると音が遅く低くなり、上げると速く高くなります。

Stereo Pan:オーディオのステレオパンを調整。-1で完全に左、1で完全に右、0で中央。

Spatial Blend:2Dと3Dオーディオのミックス比率を決定。0で完全に2D(リスナーの位置に影響されない)、1で完全に3D(リスナーの位置に影響される)。

Reverb Zone Mix:シーン内のリバーブゾーンにミックスされるオーディオソースの量を調整。デフォルト値は1。

まとめ

Audio Listener:シーン内のすべての音声をキャプチャし、通常はメインカメラにアタッチ。

Audio Source:オーディオクリップを再生し、さまざまなパラメータで再生方法や聞こえ方を設定可能。

主なパラメータ:AudioClip、Output、Mute、Bypass Effects、Play On Awake、Loop、Priority、Volume、Pitch、Stereo Pan、Spatial Blend、Reverb Zone Mix。

これらのコンポーネントは連携してUnity内のオーディオ体験を管理・制御し、ゲームに没入感とダイナミックなサウンド環境を提供します。

攻撃音の再生

private void Update()
{
    if (isAttacking)
    {
        RaycastHit2D rayCastHit = Physics2D.Raycast(transform.position, Vector2.right * transform.localScale.x, range, enemyLayer);
        if (rayCastHit)
        {
            if(rayCastHit.transform.TryGetComponent(out IGetAttacked getAttacked))
            {
                // Play attack sound
                attackAudioSource.Play();
                
                // Apply damage to the enemy
                getAttacked.GetAttacked(damage);
                
                // Play attack effect
                attackEffect.transform.position = rayCastHit.point;
                attackEffect.Play();
                
                // Stop attacking
                isAttacking = false;
            }
        }    
    }
}

AudioSourceの使用方法の説明

Raycastによる検出:レイキャストを使用して、プレイヤーの攻撃が敵に当たったかどうかを検出。レイキャストはプレイヤーの位置から、向いている方向にattackRangeで指定された範囲で発射。

ヒット判定:レイキャストがenemyLayer内のオブジェクトに当たった場合、スクリプトはそのオブジェクトがIGetAttackedインターフェースを実装しているかを確認。

攻撃音の再生:ヒットが検出され、敵が攻撃可能(IGetAttackedインターフェースを実装)な場合、攻撃音が再生される:attackAudioSource.Play()

まとめ

PlayerAttackクラスでは、AudioSourceがプレイヤーが敵に攻撃を成功させた際に効果音を再生し、その再生はレイキャストがヒットした後のattackAudioSource.Play()メソッド内でUpdateによってトリガーされる。これにより即時の聴覚フィードバックが得られ、ゲームの没入感が向上する。

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  5

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  5
some-alt