原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】サウンドの途中再生、一時停止

自己肯定感

unity1weekやゲームコンテストなどで自作ゲームを投稿する直前になると「こんなゲームどこが面白いんだろう?」病が発症する皆さんこんにちは。普段から自己肯定感低めで生活しているので制作中はゲーム作りに熱中して「このゲームは面白い!」と自信満々で盛り上がっているものの、いざ完成して熱が冷めると急に自信が無くなって作ったことを後悔したりします。まぁ、それでも投稿するけど。

 

ゴジラ小口

ロゴの「-1.0」の箇所が「小口」にしか見えないのですが、取り合ず話題になっているので映画館で鑑賞してきました。

ネットの評判通り「三丁目の夕日+ゴジラ」みたいな映画で、ゴジラの活躍(破壊)よりも人間ドラマの方に力点が置かれています。
この為、ゴジラが小笠原諸島海域からわざわざ東京へやってきて大暴れする理由は分からないし、「大怪獣ゴジラ」という既存生物を超越した存在を人々があっさりと受け入れるし、ゴジラに対処する方法も無理がありすぎるし、で「シンゴジラ」のような「大怪獣ゴジラを相手に人々がどうやって立ち向かい、倒していくか」を期待して観ると肩透かしに感じるかもしれません。

とは言え、重点の置かれた人間ドラマの方は「戦争のトラウマからの脱却」をテーマにしっかりと描かれていますし、ベタながらお涙頂戴のストーリーは心を打つものがあると思います。おそらく「シンゴジラ」よりも「ゴジラ-1.0」の方が好き、という方は多いでしょう。
何より監督が山崎貴というだけあって「大怪獣ゴジラ」のVFXシーンは必見で、海上でゴジラから追われる場面などはそのままUSJでアトラクション化できそうなぐらい迫力があり、恐らく過去一「怖いゴジラ」に仕上がっています。

これから日本だけでなく全米でも公開されるそうですが、多分「シンゴジラ」よりは評価を集め、集客するのではないでしょうか。私は「シンゴジラ」の方が好きですが。

 

サウンドの途中再生/一時停止

UnityでBGMやSE(効果音)などの音を再生するには「AudioSource」コンポーネントを使用します。

AudioSourceコンポーネントのAudioClipプロパティにmp3やoggなどの音源ファイルを指定してPlayメソッドをコールすればゲーム内に音楽を再生することができるのですが、イベントシーンなどでBGMのサビの部分から音楽を鳴らしたいケースでは、Timeプロパティにて再生開始の時間を指定することができます。
この時、指定は秒単位なので例えば1分30秒の所から再生を開始したい場合には以下のようなコードになります。

AudioSource AudioCtl;

AudioCtl.time = 90.0f;
AudioCtl.Play();

ゲームの一時停止機能を実装する場合、当然音楽も一時停止する必要があるので、そういった場合にはAudioSourceのPauseメソッドをコールします。
一時停止を解除する場合にはUnPauseを使用します。

AudioSource AudioCtl;

// 一時停止
AudioCtl.Pause();


// 一時停止解除
AudioCtl.UnPause();

ここで一時停止解除の時にUnPauseではなくPlayをコールすると、先程のtimeプロパティに指定した時間から再生が開始されます
また、これらの動作は「AudioSource」コンポーネントがアタッチされたGameObjectがアクティブ状態であることが前提です。
逆にGameObjectが非アクティブとなった場合には楽曲の再生は強制終了します。

 

非アクティブ状態でも音を鳴らしたい

非アクティブ時にも動くようにするには、メインメニューの「Edit」-「Project Settings」-「Player」を選択。
PlayerSettingsのInspectorウィンドウで中央にあるタブの左から2番目「Setting for PC, Mac & Linux Standalone」を選択。
「Run In Background」チェックボックスをONにします。

しかし、この設定はプロジェクト全体にかかわる設定です。この設定をONにすると、例えばコルーチンなどの処理も非アクティブ時に止まらなくなります。
全体への影響を考えて設定を変更する必要があります。

 

宣伝

今回展示した数学的脱出ゲーム「W.T.」は現在アーリーアクセス版リリース中です。

store.steampowered.comストーリー全5章中4章までを遊ぶことができます
完成版は来年春リリース予定ですが、アーリーアクセス版の感想を完成版にフィードバックして行きたいので、何卒ご協力の程、よろしくお願いいたします。

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。