目次

001 最も基本的な音の再生(5.4.1)

手順

  1. 使用するサウンドデータをUnityのAssets以下に入れる。
  2. シーンにSphereなどGameObjectを追加する。
  3. 空のGameObjectにAudioSource コンポーネントを追加する。
  4. Audio Clip プロパティに好きなサウンドデータを割り当てる。
  5. スクリプトを書いてGameObjectに割り当てる。
Touch.cs
using UnityEngine;
using System.Collections;
 
/// <summary>
/// 球をタッチしたら、SE再生
/// </summary>
public class Touch : MonoBehaviour
{
    void Update ()
    {
        Ray ray;
        RaycastHit hit;
        if(Input.GetMouseButtonDown(0))
        {
            Camera mainCamera = GameObject.FindWithTag("MainCamera").GetComponent<Camera>();
            ray = mainCamera.ScreenPointToRay(Input.mousePosition);
            if(Physics.Raycast(ray, out hit, 100))
            {
                AudioSource audioSource = GetComponent<AudioSource>();
                audioSource.Play();
            }
        }
    }
}

ボリュームの変更

audioSource.volume = 1.0f; // 0.0f - 1.0f

ステレオPan位置の設定

0.0が初期値。-1.0で左、1.0で右から聞こえる様になります。

audioSource.panStereo = 0.0f; // -1.0f - 1.0f

Pitchの変更

1.0が初期値。負数を指定すると逆再生になる。

audioSource.pitch = -1.0f; // 逆再生。

と思ったら何も音がならなかったので、以下の様に対応。

/// <summary>
/// Pitch変更に対応。逆再生するために、Pitchが負数の場合は再生開始位置を終了位置まで移動させる
/// </summary>
{
    int samples = audioSource.clip.samples;
    if(audioSource.pitch < 0.0f)
    {
        audioSource.timeSamples = samples - 1;
    }
    else
    {
        audioSource.timeSamples = 0;
    }
}
audioSource.Play();