该项目的目的是同时测试和演示来自 Unity DOTS 技术堆栈的多个新包。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

61 行
1.6 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
public enum SoundMixerGroup
{
Music,
SFX,
Menu,
_Count
}
[CreateAssetMenu(fileName = "Sound", menuName = "A2/Audio/SoundDef", order = 10000)]
public class SoundDef : ScriptableObject
{
public List<AudioClip> clips;
[Range(-60.0f, 0.0f)]
public float volume = -6.0f;
// public float gain = -60.0f; // could be a lower floor on rolloff func
[Range(0.1f, 100.0f)]
public float distMin = 1.5f;
[Range(0.1f, 100.0f)]
public float distMax = 30.0f;
[Range(-20, 20.0f)]
public float pitchMin = 0.0f;
[Range(-20, 20.0f)]
public float pitchMax = 0.0f;
[Range(0, 10)]
public int loopCount = 1;
[Range(0, 10.0f)]
public float delayMin = 0.0f;
[Range(0, 10.0f)]
public float delayMax = 0.0f;
[Range(1, 20)]
public int repeatMin = 1;
[Range(1, 20)]
public int repeatMax = 1;
public SoundMixerGroup soundGroup;
[Range(0.0f, 1.0f)]
public float spatialBlend = 1.0f;
[Range(-1.0f, 1.0f)]
public float panMin = 0.0f;
[Range(-1.0f, 1.0f)]
public float panMax = 0.0f;
public AudioRolloffMode rolloffMode = AudioRolloffMode.Linear;
public void OnValidate()
{
if (distMin > distMax)
distMin = distMax;
if (pitchMin > pitchMax)
pitchMin = pitchMax;
if (delayMin > delayMax)
delayMin = delayMax;
if (repeatMin > repeatMax)
repeatMin = repeatMax;
if (panMin > panMax)
panMin = panMax;
}
}