RandomAudioPlayer(ランダム音声再生)

確認済のバージョン: 2017.3

-

難易度: 初級

このスクリプトは、ユーザーによって割り当てられたオーディオクリップのリストから、サウンドをランダムに取得して再生できるようにするものです。Ellen プレハブでも各種サウンドの制御に使用されています(Ellen の子ゲームオブジェクト「SoundSources」の中を確認してみてください)。例えば、*FootstepSource** を見ると、設定された 4 種類の足音のリストからランダムに取得した音に、ピッチ(音の高さ)のランダム化処理を付加して再生していることが分かります。また特定のタイル用のオーバーライドも含まれています。Ellen が石のタイルの上を歩いた時の足音と草の上を歩いた時の足音は異なっています。 タイルマップ以外のゲームオブジェクトにオーバーライドを追加したい場合は、以下の「AudioSurface」の項をご覧ください。

スクリプト

スクリプト側では、RandomAudioPlayer は PlayRandomSound 関数を持っており、サウンドの再生が必要な時に、この関数が別のスクリプトによって呼び出されます([例]足音は PlayerController 内の PlayFootstep 関数によってトリガーされますが、この関数自体は、足が地面と接触するフレームのアニメーションクリップによって呼び出されます。)

この関数は、オーバーライドサウンドを選択するために引数として TileBase を取ることができます([例]足音に現在プレイヤーの立っている面を使用したり、弾丸の衝突には衝突した場所のタイルを使用するなど)

AudioSurface

AudioSurface は、タイルマップ以外のすべてのゲームオブジェクトに追加できるスクリプトです。特定のゲームオブジェクトに、Audio Player でオーバーライドサウンドを再生するかを設定することができます。(例えば石のボックスなら、「Tile」オプションを「Alien」タイル⦅石の建造物のタイル⦆に設定した AudioSurface を使用すれば、上を歩いた時に通常の「地面」のサウンドではなく「石の足音」のサウンドがトリガーされるようになります。)