トップ 一覧 検索 ヘルプ RSS ログイン

unity_soundの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!サウンドを鳴らす
サウンド形式として、aif/wav/mp3/ogg形式をAssetとしてインポートできます。
サウンド自身はGameObjectとしてシーンに配置する必要があります。3Dサウンド情報を持つため、メインカメラからの位置で音が遠ざかったり近づいたりします。
{{ref_image unity_sound_001.png}}
GameObjectとしてサウンドをシーンに配置すると、InspectorウィンドウでAudio Sourceの「Play On Awake」をOffにしておきます。
こうすることで、実行時にサウンドが鳴らないようになります。

!!スクリプトの記述
GameObject名を「helicopter_32bit」とします。

 private GameObject m_sound1;
 	
 // Use this for initialization
 void Start () {
   m_sound1 = GameObject.Find("helicopter_32bit");
 }
とすることで、GameObjectとしてのサウンドが「m_sound1」として読み込まれます。
後は、再生したいタイミングで
 m_sound1.audio.Play();
とすると、音が鳴ります。
 m_sound1.audio.Stop();
でサウンドを停止します。

 「audio」は「AudioSource」のクラスになります。
音が常に同じ最大の大きさで出るようにしたい場合は、
 m_sound1.transform.position = GameObject.Find("Main Camera").transform.position;
のように、「Main Camera」名で指定されるカメラのGameObjectの位置にあわせるようにするか、「Main Camera」のカメラの子としてHierarchyウィンドウでサウンドを割り当てるとよいです。

!!AudioSourceの関数/変数
!Play
サウンドを再生する。
 m_sound1.audio.Play();
!Stop
サウンド再生を停止する。
 m_sound1.audio.Stop();
!volume
サウンドの再生音量を指定 (0.0 - 1.0)。
 m_sound1.audio.volume = 0.5f;
!isPlaying
再生されているかどうかをtrue/falseで取得。
 if (!m_sound1.audio.isPlaying) {
   m_sound1.audio.Play();
 }
上記は、MonoBehaviourのUpdate関数内で呼ぶことで
繰り返し再生されることになる。