Unityで音を鳴らす基本――効果音を再生するスクリプト、音楽のループ再生:ゲーム開発初心者のためのUnity入門(10)(4/4 ページ)
Unityで3Dゲームを作るまでのいろいろな処理を解説する連載。今回は、マウスでクリックすると、大音響とともに爆発するサンプルを作る。また音声ファイルを使って効果音やBGMをループ再生する方法も併せて紹介する【Windows 10、Unity 5.4に対応】。
音声ファイルを使って、効果音やBGMをループ再生する
次に、先ほど爆発のアセットに付属していた効果音や、BGMを、音声ファイルを使って設定する方法を紹介しよう。
「83 Explosion Sound Effects」アセットのダウンロード
前回記事の動画19のシーンに効果音を指定する。
まずは効果音だけのアセットをAsset Storeからダウンロードしておく。検索欄に「83 Explosion Sound Effects」と入力すると「Import」画面が表示される(図14)。
このAssetsは有料で5ドルする。最初は「Buy now」と表示されているので、指示に従ってインポートしてほしい。筆者は既に購入済みであるため「Import」と表示されている。有料アセットを買うための設定は、「Asset Storeには有料のアセットもある」を参照。もちろん無料のアセットを探して使ってもらって構わないが、筆者は今回これを使った。
「Audio」の設定
インポートが終わったら、「Audio」の設定を行う。今回インポートしたのは爆発音に関するファイルだ。
Unityメニューの「GameObject」」→「Create Empty」と選択して空の「GameObject」を作成する。Inspectorから名前を「Sound」に変更しておく。次に「Add Component」から「Audio」→「Audio Source」と選択すると、「Sound」という名前の「GameObject」に「Audio Source」が追加される。
「Audio Clip」の項目の右隅にある「○に・」のアイコンをクリックして、「Select AudioClip」の画面から音声ファイルを指定する。どの音声ファイルがどんな音かを確認するには、先ほどImportしたファイルのあるフォルダに入り、直接音声ファイルをダブルクリックすると音を確認できる。
「Select AudioClip」の画面に表示された音声ファイルから、今回は「imphenzia-soundtrack-explosion-010-very-long-nuke-burning-air-slow-fade」という長たらしい音声ファイルを選択してみた(図15)。
音のループ再生
また「Audio Source」内に「Loop」という項目があるので、これにチェックを付けておく。チェックを付けていないと、音の再生が1回だけで終了してしまうので、注意してほしい。他の項目についてはデフォルトのままで問題ない。
これは、前回作成した動画19のSceneに対して行う処理なので、前回のElementalsプロジェクトファイルに対して行う。
これで、実行してみると動画2のようになる。
「Free Game Music」アセットでシーンにBGMを付ける
効果音だけではなくBGMも付けてみよう。先ほどと同じ方法で音声ファイルをインポートして「Audio Source」の「Audio Clip」に指定すると、BGMとして使うこともできる。動画3では、無料アセットの「Free Game Music」をAsset Storeからインポートしている。
次回は、一からAnimatorを作成
今回は、これで終わりだ。いかがだっただろうか。Unityは3Dキャラクターを動かすだけではなく、このような爆発シーンが容易に作成でき、効果音を入れることもできる。このような処理が、ほんの数行のコードを追加するだけで、実現できるとは、Unityの底力は計りしれないと筆者は感じた。Unity4では、いろいろ設定する画面が多くて大変だったが、Unity5.4では、Asset StoreのAssetsもUpdateされており、各種設定もかなり楽になっている。開発者の手間が軽減できて喜ばしいことだ。
次回からは、連載第7回で紹介した「Animator」を再び使っていく。通常Animatorでは、「Mecanim Locomotion Starter Kit」を使ってコードレスでAnimatorを設定するか、既に用意されている「Locomotion Controller」を使って動作を追加していくが、次回は、一からAnimatorを作成して馬を動かす処理を解説する。
参考文献
- 『Unity 4入門 最新開発環境による簡単3Dゲーム制作』(SBクリエイティブ刊)
■更新履歴
【2017/1/23】Windows 10、Unity 5.4に対応しました
著者プロフィール
薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所
薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。
1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。
2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。
Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。
Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。
Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。
Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。
Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Gear VRとは――UnityでAndroidアプリを開発するための環境構築
HMDの中でも比較的扱いやすいGear VRで体験できるVR/ARコンテンツをUnityで開発する方法を紹介する連載。初回は、Unityや、Androidアプリを開発するのに必要なAndroid Studioをインストールして、Gear VRコンテンツの開発環境を構築する。 - HoloLens用Unity 5のプロジェクトをUWPとして書き出しエミュレータで動かす
拡張現実(AR)用ヘッドマウントディスプレイ「HoloLens」のエミュレーターを使ってHoloLens用アプリの作り方を解説する本連載。今回は、HoloLens用Unity 5で簡単なUnityプロジェクトを作成し、それをUWPに書き出してHoloLens Emulatorに配置する方法について。 - UnityでWebカメラの画像をリアルタイムで複数テクスチャとして表示する&Kinectセンサーと連動させる
ゲーム開発環境Unity 5の「Personal Edition」では、Unity 4.6以前では有料だった機能が無料で使えるようになった。本連載では、Unity 5で無料になった機能の使い方について解説していく。初回はWebカメラと、「Kinect for Windows v2」を使ったサンプルを紹介する。