Unity事例ノート

UNITY

サウンド再生のPlayとPlayOneShotの違い

Unityでサウンド再生するスクリプトとして、Play()とPlayOneShot()があります。

Playは再生時に音の重複ができず、PlayOneShotは重複が可能です。

連射のショット音などは、どうしても音が重複するので、PlayOneShotが適しています。

一方、BGMのようにサウンドを最後まで鳴らす際には、Playが向いています。

2つの再生方法について、スクリプトを書いてみましょう。

サウンドデータの準備

音楽ファイルを、インポートします。

プロジェクトビューの中で右クリックして、新しいアセットをインポート。

今回はLaserBeamというmp3ファイルを用意しました。

空のオブジェクトを作成します。

GameObject(空のオブジェクト)に、AudioSourceコンポーネントを追加します。

オーディオクリップに音のファイルを入れ、ゲーム開始時に再生のチェックを外します。

SoundManage.csを作成し、GameObjectに追加します。

Play()のスクリプト

SoundManage.csを記述します。

プレイして音を確認します。

左クリックで連打してみると、音が重ならず、頭出しで再生されています。

Play()は、BGMのようにサウンドをループ再生したい場合などに適しています。

PlayOneShot()のスクリプト

続いて、PlayOneShot()を試してみます。

SoundManage.csを開いて追記します。

左クリックを連打してみると、一曲すべて終了するまで、音が重複して鳴っていることがわかります。

また、PlayOneShot()は、オーディオクリップを指定する必要があります。

PlayOneShot()は、効果音などの短いサウンドを再生する場面に適しています。

この記事の監修・専門指導

枚方市のプログラミング専門スクール
フタバゼミ 枚方くずは校

この記事で解説したUnityやC#の技術も、当校では直接個別指導しています。「むずかしいことをおもしろく」をモットーに、初心者から本格開発までサポート。樟葉駅から徒歩1分、まずはお気軽に体験会へお越しください。

SCHOOL教室案内