イラスト、モデリング、Unity、VR関連

unityとかblenderとかvr関連の作業メモ

サウンドマネージャー2

オブジェクトにアタッチして使用、即座にならすか任意のタイミングで鳴らすかなどはパラメータで調整

ボリュームなどの共通で使用するパラメータはstatic変数で管理

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

public class AudioPart : MonoBehaviour{
  [SerializeField] AudioClip AClip;
  [SerializeField] bool Is3D = false;
  [SerializeField] bool IsLoop = false;
  [SerializeField] bool IsPlayOnStart = true;
  public static float BGMVolume {get;set;} = 1.0f;
  public static float SEVolume  {get;set;} = 1.0f;
  AudioSource Audio;

  void Start(){
    var audio = gameObject.AddComponent();
    audio.clip = AClip;
    audio.volume = (!Is3D && IsLoop) ? AudioPart.BGMVolume : AudioPart.SEVolume;
    audio.loop = IsLoop;
    audio.spatialBlend = Is3D ? 1 : 0;
    audio.maxDistance = 70; //1マスごとの距離は5
    audio.playOnAwake = false;
    audio.rolloffMode = AudioRolloffMode.Linear;
    Audio = audio;
    if(IsPlayOnStart) audio.Play();

  }

  public void Play(){
    Audio.Play();
  }


}