破壊されたオブジェクトから・指定した場所から音再生!PlayClipAtPointの説明と使い方

  • 破壊されたオブジェクトから音を鳴らしたい!

という悩みを解決します。

結論として【PlayClipAtPoint】メソッドを使うことで、実質的に破壊されたオブジェクトから音を鳴らすことができます。

厳密には破壊されたオブジェクトから、音が出ているように見せかけることができます。

目次

【PlayClipAtPoint】メソッドの説明

オブジェクトが破壊されたときに音を【PlayClipAtPoint】メソッドを使って鳴らすとしましょう。

オブジェクトが破壊

好きな座標に新しいオブジェクトを生成

それが音源を再生

新しいオブジェクトが破壊される

このようにして音を再生します。

破壊されるオブジェクトから音がなりません。ただなっているように見せかけることができるのが、【PlayClipAtPoint】メソッドです。

指定した場所にオブジェクトをつくって、そいつに音を再生させて、用済みになったら破壊します、そんな残酷なやつが【PlayClipAtPoint】です。

【PlayClipAtPoint】メソッドの使い方

// 音源を格納
public AudioClip clip;

// これで再生
AudioSource.PlayClipAtPoint(clip, transform.position);

clipには音源を格納している状態で、このように使うことができます。

実際に【PlayClipAtPoint】を使ってみる

Unityエディタの状況

このようにCubeにスクリプトがアタッチされている状態とします。

スクリプト例

スクリプト例

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CubeController : MonoBehaviour {

    // 音源格納する変数
    public AudioClip clip;

    // Use this for initialization
void Start () {

        // オブジェクト破壊
        Destroy(gameObject);

        // 音再生
        AudioSource.PlayClipAtPoint(clip, transform.position);
}

    // Update is called once per frame
void Update () {

    }
}

Destroy(gameObject); オブジェクト破壊
AudioSource.PlayClipAtPoint(clip, transform.position); 新しいオブジェクトを作成して、音を再生して、自らを破壊

 AudioSource.PlayClipAtPoint(clip, transform.position);

音を再生したい箇所に、上のスクリプトを書いてください。

音源を格納

音源を変数に格納

【音源をclipにドラッグ&ドロップ】

再生したい音源を設置してください。

実行

PlayClipAtPointで音源を再生

なにかHierarchyに新しいオブジェクトが発生しました。このオブジェクトが音源を再生してくれています。

すぐ消えちゃうの、せつない( ・∇・)

まとめ

  • 【PlayClipAtPoint】で破壊されるオブジェクトから音がなっているように見せかけれる
  • オブジェクトを作る→音を再生する→そのオブジェクトを破壊が【PlayClipAtPoint】の流れ

破壊されるオブジェクトだけじゃなくて、ほかに用途がありそうですね。

ちなみに【Unity2Dサンプルゲーム】爆弾を避けよ!~11~でも【PlayClipAtPoint】が使われています。

ゲームの中でどのように使っているかを知りたい人はご覧してね。

あわせて読みたい
【Unity2Dチュートリアル】爆弾を避けよ!~11~ 前回の【Unity2Dサンプルゲーム】爆弾を避けよ!~10~の続きです。 効果音を鳴らしていきます。 前提条件 こんな感じです。 この記事の「爆弾を避けよ!」の作成の...

破壊されたオブジェクトから・指定した場所から音再生!PlayClipAtPointの説明と使い方でした。

さぎのみや(@saginomiya8)でした。

あわせて読みたい
【Unity2D&3Dサンプルゲーム】動画よりわかりやすく記事でゲームを作ろう【チュートリアル】 ▼この記事を先に見ておきましょう▼ https://miyagame.net/basis-cs/ 当サイトではUnityでのサンプルゲームを作成することができます。Unityでゲームを作っていきましょ...
PlayClipAtPointの説明と使い方

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次