Skip to content

AudioSource Component ​

音声Assetを再生します。ループ・音量・距離減衰を制御できます。

設定する手順 ​

  1. Audio Clipを設定し、必要ならPlay On Awakeを有効にします。
  2. SceneViewまたはGameViewで結果を確認します。
  3. 編集中のSceneまたはPrefabを保存します。

項目の説明 ​

項目C#名型操作定義時の初期値意味
クリップClipAudioClip?読取・変更{}再生するAssetまたはClip名です。Asset欄では対応する種類を指定します。
有効Enabledbool読取・変更trueこのComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
開始時再生PlayOnAwakebool読取・変更true有効化・生成時に自動再生します。
ループLoopbool読取・変更false末尾に到達したら先頭へ戻って再生します。
音量Volumefloat読取・変更1.0f再生音量の倍率です。0で無音になります。
空間ブレンドSpatialBlendfloat読取・変更0.0f0は2D音声、1は3D音声です。中間値では両方を混ぜます。
最小距離MinDistancefloat読取・変更1.0f距離減衰を始める距離です。
最大距離MaxDistancefloat読取・変更500.0f距離減衰の基準になる最大距離です。
減衰RolloffModeAudioRolloffMode読取・変更AudioRolloffMode::Logarithmic距離に対して音量を落とす方式です。
ピッチPitchfloat読取・変更1.0f音の再生速度と音程の倍率です。

Inspectorの設定と使い方 ​

「Editor / C#」は両方から変更できる設定、「Editorのみ」は公開C# APIのない編集操作です。「Editor表示のみ」は計算結果や統計などの確認欄です。「C#のみ」は、このInspectorに編集欄のない操作です。

設定・操作編集場所C#の入口意味・使い方
クリップ・有効・開始時再生Editor / C#Clip / Enabled / PlayOnAwake音声Assetを指定します。PlayOnAwakeは自動再生するかのbool設定で、即座に音を鳴らす関数ではありません。今鳴らすときはPlayやPlayOneShotを使います。
ループ・音量・ピッチEditor / C#Loop / Volume / PitchLoopは繰り返し、Volumeは音量倍率、Pitchは再生速度・高さの倍率です。同じ効果音を重ねたいときはPlayOneShotを使います。
空間ブレンド・距離・減衰Editor / C#SpatialBlend / MinDistance / MaxDistance / RolloffMode空間ブレンド0は2D、1は3D側の再生です。3DではAudioListenerとの距離による減衰を使います。最小・最大距離と減衰方式を組み合わせ、遠距離で聞こえる範囲を調整します。
Inspectorの試聴Editorのみ—編集用の再生確認です。Play中のAudioSourceの再生所有とは区別します。ゲームコードからの再生はPlay・Pause・UnPause・Stopを使います。

初期値はEngineのComponent定義時の値で、C++表記を含みます。C#へ貼り付ける実行例ではありません。既存Sceneの保存値や既定Assetがある場合はそちらが優先されます。数値の編集範囲はInspectorで制限される場合があります。

C#から使う ​

操作型はAudioSourceです。 GameObjectから取得する基本操作はGameObjectの操作を参照してください。以下には基本プロパティだけでなく、公開関数・追加の設定API・継承した共通操作も掲載します。

実用例:プレイヤーが範囲へ入ったときに音を鳴らす ​

AudioSourceへ音声を設定し、CollisionのShape.IsTriggerを有効にします。Playerタグを持つ相手との接触で一度再生します。

cs
using NEMEngine;

public sealed class TriggerSound : MonoBehaviour {

    private AudioSource? source;

    void Start() {
        // 自動再生を止め、侵入時だけ音を鳴らす
        source = GetComponent<AudioSource>();
        if (source == null) return;
        source.PlayOnAwake = false;
        source.Loop = false;
        source.Stop();
    }

    void OnCollisionEnter(Collision collision) {
        // Playerが範囲へ入ったときだけ効果音を重ねて再生
        if (source == null || collision.gameObject == null || !collision.gameObject.CompareTag("Player")) return;
        AudioClip? clip = source.Clip;
        if (clip != null) source.PlayOneShot(clip);
    }
}

選択値(Enum) ​

型・各値の詳説使える値
AudioRolloffModeLinear / Logarithmic

AudioSource ​

宣言・詳説種類・操作役割
public AudioClip? Clipプロパティ(読取・変更)再生するAssetまたはClip名です。Asset欄では対応する種類を指定します。
public bool Enabledプロパティ(読取・変更)このComponentの処理を有効にします。GameObject全体のアクティブ状態とは別です。
public static AudioSource FromEntity(GameObject gameObject)関数既にComponentを持つGameObjectから操作用の参照を作ります。Componentを追加する操作ではありません。
public bool IsPlayingプロパティ(読取専用)再生中か(pause 中は false)
public bool Loopプロパティ(読取・変更)末尾に到達したら先頭へ戻って再生します。
public float MaxDistanceプロパティ(読取・変更)距離減衰の基準になる最大距離です。
public float MinDistanceプロパティ(読取・変更)距離減衰を始める距離です。
public void Pause()関数再生位置を保持して一時停止
public float Pitchプロパティ(読取・変更)音の再生速度と音程の倍率です。
public void Play()関数Clipを主再生として先頭から再生
public bool PlayOnAwakeプロパティ(読取・変更)有効化・生成時に自動再生します。
public void PlayOneShot(AudioClip clip, float volumeScale = 1)関数指定Clipを重ねて一度だけ再生
public AudioRolloffMode RolloffModeプロパティ(読取・変更)距離に対して音量を落とす方式です。
public float SpatialBlendプロパティ(読取・変更)0は2D音声、1は3D音声です。中間値では両方を混ぜます。
public void Stop()関数停止(voice 破棄)
public void UnPause()関数一時停止中の再生を再開
public float Volumeプロパティ(読取・変更)再生音量の倍率です。0で無音になります。
public static int componentTypeIDプロパティ(読取専用)組み込みComponentの接続識別子です。通常のゲームコードではGetComponentで取得します。

継承する共通操作:Component ​

宣言・詳説種類・操作役割
public T AddComponent<T>() where T : Component関数ComponentまたはScriptを追加し、操作する参照を返します。
public T? GetComponent<T>() where T : class関数component access(owner GameObjectへの委譲)
public T? GetComponentInChildren<T>(bool includeInactive = false) where T : class関数子階層から指定型のComponentを探します。
public T? GetComponentInParent<T>(bool includeInactive = false) where T : class関数親階層から指定型のComponentを探します。
public T[] GetComponents<T>() where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public void GetComponents<T>(List<T> results) where T : class関数同じGameObjectにある指定型のComponentをすべて取得します。
public T[] GetComponentsInChildren<T>(bool includeInactive = false) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(bool includeInactive, List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public void GetComponentsInChildren<T>(List<T> results) where T : class関数子階層にある指定型のComponentを収集します。
public T[] GetComponentsInParent<T>(bool includeInactive = false) where T : class関数親階層にある指定型のComponentを収集します。
public void GetComponentsInParent<T>(bool includeInactive, List<T> results) where T : class関数親階層にある指定型のComponentを収集します。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public bool HasComponent<T>() where T : class関数指定型のComponentを持つかを調べます。
public void RemoveComponent<T>() where T : Component関数指定型のComponentを取り除きます。
public bool TryGetComponent<T>(out T component) where T : class関数Componentを検索し、見つかったかをbool、結果をout引数で返します。
public GameObject gameObjectプロパティ(読取専用)このComponentを所有するGameObjectです。
public Transform transformプロパティ(読取専用)所有GameObjectのTransformです。

継承する共通操作:Object ​

宣言・詳説種類・操作役割
public static void Destroy(Object? target)関数参照先の個体だけを安全地点で破棄する
public override bool Equals(object? obj)関数2つの値が等しいかを調べます。
public override int GetHashCode()関数同じ値を検索Keyに使うためのHashを返します。
public static GameObject Instantiate(Prefab original)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static GameObject Instantiate(Prefab original, Vector3 position, Quaternion rotation, GameObject? parent)関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static T Instantiate<T>(T original, Vector3 position, Quaternion rotation, GameObject? parent) where T : Object関数Prefabまたは指定したGameObject・Componentを複製して参照を返します。生成できない場合は例外です。nullを返す前提で処理しないでください。
public static bool operator ==(Object? lhs, Object? rhs)関数等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static implicit operator bool(Object? value)関数暗黙の型変換を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。
public static bool operator !=(Object? lhs, Object? rhs)関数不等値比較を行います。引数型と戻り値型で、成分ごとの演算か対象参照の比較かを確認してください。

使用時の注意 ​

3D再生にはAudioListenerが必要です。Editor Pauseと音声側のPauseを区別します。

Play中の変更は実行用Worldへ反映します。Scene編集のUndoと実行中の値の変更は別です。保存方法は編集と実行時変更を参照してください。

関連項目 ​

現行版マニュアル · 8ea58ba2 · 2026-10-28確認