add volume mixer
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!243 &-5985036292871575848
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Music
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 5bdfe230200494b4dba2d07588c7c60d
|
||||
m_Children: []
|
||||
m_Volume: 831694893cecc104e83cd13eec93d28c
|
||||
m_Pitch: 5aeb6a175f195024a87861062e2ec1b0
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: -5067953075322291121}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &-5067953075322291121
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 87ce651d7c89cfa44afcecbb0fff4abd
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: df4b34f13069a454cb0de1361d5c4099
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!241 &24100000
|
||||
AudioMixerController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: AudioMixer
|
||||
m_OutputGroup: {fileID: 0}
|
||||
m_MasterGroup: {fileID: 24300002}
|
||||
m_Snapshots:
|
||||
- {fileID: 24500006}
|
||||
m_StartSnapshot: {fileID: 24500006}
|
||||
m_SuspendThreshold: -80
|
||||
m_EnableSuspend: 1
|
||||
m_UpdateMode: 0
|
||||
m_ExposedParameters:
|
||||
- guid: 8e54073feec66d24c8b5b5321b86da6f
|
||||
name: MasterVolume
|
||||
- guid: 831694893cecc104e83cd13eec93d28c
|
||||
name: MusicVolume
|
||||
- guid: 97cc39ce50c2b85439b8361ceae3f4c6
|
||||
name: SFXVolume
|
||||
m_AudioMixerGroupViews:
|
||||
- guids:
|
||||
- 1647cf21931ffb4409abd5f86b5ba22b
|
||||
- 5bdfe230200494b4dba2d07588c7c60d
|
||||
- 306f67f3e059d2c4aaaef306930b737e
|
||||
name: View
|
||||
m_CurrentViewIndex: 0
|
||||
m_TargetSnapshot: {fileID: 24500006}
|
||||
--- !u!243 &24300002
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Master
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 1647cf21931ffb4409abd5f86b5ba22b
|
||||
m_Children:
|
||||
- {fileID: -5985036292871575848}
|
||||
- {fileID: 3079392121493439853}
|
||||
m_Volume: 8e54073feec66d24c8b5b5321b86da6f
|
||||
m_Pitch: f023bc3b372a9df469e34b83fc9efc66
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 24400004}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &24400004
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: bdd917cc2a7b59c45a66df37be3e3489
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: c9d36b6a18286a8449cc204da4cc3140
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!245 &24500006
|
||||
AudioMixerSnapshotController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Snapshot
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_SnapshotID: 8474d9129ecb5954ea867453e7561687
|
||||
m_FloatValues: {}
|
||||
m_TransitionOverrides: {}
|
||||
--- !u!243 &3079392121493439853
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SFX
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 306f67f3e059d2c4aaaef306930b737e
|
||||
m_Children: []
|
||||
m_Volume: 97cc39ce50c2b85439b8361ceae3f4c6
|
||||
m_Pitch: 9119b1dfcb88e4e4c917090c57fa1680
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 5127884578886668124}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &5127884578886668124
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 0f75e42fe6e091c4ca36a6aa676fff0f
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 45c4e84286ed5a345b779472c0df9874
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3490106d3e6edc143b9179d3107780dd
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 24100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -573,3 +573,4 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: ab14394efecbd6540af369ced75e81d0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::SoundSettingManager
|
||||
audioMixer: {fileID: 24100000, guid: 3490106d3e6edc143b9179d3107780dd, type: 2}
|
||||
|
||||
@@ -3979,17 +3979,6 @@ Transform:
|
||||
- {fileID: 1210745724}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1898647305 stripped
|
||||
MonoBehaviour:
|
||||
m_CorrespondingSourceObject: {fileID: 5836996391021161412, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
m_PrefabInstance: {fileID: 6325623361260993107}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3ba23d5f6c337c34caaac9a4d8aab191, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::MenuScreen
|
||||
--- !u!1 &1966866168
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -4329,6 +4318,10 @@ PrefabInstance:
|
||||
propertyPath: dialogueText
|
||||
value:
|
||||
objectReference: {fileID: 2063514703}
|
||||
- target: {fileID: 1410439939888368689, guid: 9f59bbee72927d649b032622c1c0f2f5, type: 3}
|
||||
propertyPath: audioMixer
|
||||
value:
|
||||
objectReference: {fileID: 24100000, guid: 3490106d3e6edc143b9179d3107780dd, type: 2}
|
||||
- target: {fileID: 5519027142145697695, guid: 9f59bbee72927d649b032622c1c0f2f5, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
@@ -4386,50 +4379,10 @@ PrefabInstance:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1704696510}
|
||||
m_Modifications:
|
||||
- target: {fileID: 818899427131401759, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1376587328550839904, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: UI
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2975696880262954876, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4155624016714589187, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -259.2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4264548731807291060, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4265459964761688869, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: 27
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4906462856215206936, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -195
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5101319162034548862, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5514935285560916770, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6476180199089286077, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: screens.Array.size
|
||||
value: 4
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6476180199089286077, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: 'screens.Array.data[3]'
|
||||
value:
|
||||
objectReference: {fileID: 1898647305}
|
||||
- target: {fileID: 6792308726050395253, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
@@ -4470,10 +4423,6 @@ PrefabInstance:
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7535213278904715570, guid: 6d1ef2b53d3ef0446852da522af66b73, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
|
||||
+34
-4
@@ -1,9 +1,12 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Audio;
|
||||
using UnityEngine.SceneManagement;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class SoundSettingManager : MonoBehaviour
|
||||
{
|
||||
public AudioMixer audioMixer;
|
||||
|
||||
float masterVolume;
|
||||
float musicVolume;
|
||||
float sfxVolume;
|
||||
@@ -28,21 +31,40 @@ public void ReloadReferences()
|
||||
MasterSlider.onValueChanged.AddListener(OnMasterValueChanged);
|
||||
SfxSlider.onValueChanged.AddListener(OnSfxValueChanged);
|
||||
MusicSlider.onValueChanged.AddListener(OnMusicValueChanged);
|
||||
|
||||
MasterSlider.value = masterVolume;
|
||||
SfxSlider.value = sfxVolume;
|
||||
MusicSlider.value = musicVolume;
|
||||
}
|
||||
|
||||
public void OnMasterValueChanged(float newValue)
|
||||
{
|
||||
masterVolume = newValue;
|
||||
SetVolumeFloat(newValue, "MasterVolume");
|
||||
}
|
||||
|
||||
public void OnSfxValueChanged(float newValue)
|
||||
{
|
||||
sfxVolume = newValue;
|
||||
SetVolumeFloat(newValue, "SFXVolume");
|
||||
}
|
||||
|
||||
public void OnMusicValueChanged(float newValue)
|
||||
{
|
||||
musicVolume = newValue;
|
||||
SetVolumeFloat(newValue, "MusicVolume");
|
||||
}
|
||||
|
||||
private void SetVolumeFloat(float sliderVal, string mixerGroup)
|
||||
{
|
||||
// Convert linear 0-1 to dB (-80 to 0 range)
|
||||
float dbValue = Mathf.Log10(sliderVal) * 20;
|
||||
if (sliderVal == 0)
|
||||
{
|
||||
dbValue = -80;
|
||||
}
|
||||
|
||||
audioMixer.SetFloat(mixerGroup, dbValue);
|
||||
}
|
||||
|
||||
#region Sound Settings Data Save/Load
|
||||
@@ -55,10 +77,18 @@ public void SaveSoundSettingsData(ref SoundSettingSaveData data)
|
||||
|
||||
public void LoadSoundSettingsData(SoundSettingSaveData data)
|
||||
{
|
||||
musicVolume = data.musicVolume;
|
||||
sfxVolume = data.sfxVolume;
|
||||
masterVolume = data.masterVolume;
|
||||
}
|
||||
musicVolume = data.musicVolume;
|
||||
sfxVolume = data.sfxVolume;
|
||||
masterVolume = data.masterVolume;
|
||||
|
||||
MasterSlider.value = masterVolume;
|
||||
SfxSlider.value = sfxVolume;
|
||||
MusicSlider.value = musicVolume;
|
||||
|
||||
SetVolumeFloat(masterVolume, "MasterVolume");
|
||||
SetVolumeFloat(musicVolume, "MusicVolume");
|
||||
SetVolumeFloat(sfxVolume, "SFXVolume");
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
+1
-1
@@ -1479,9 +1479,9 @@ Transform:
|
||||
m_LocalScale: {x: 1.7391305, y: 1.7391305, z: 1.7391305}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 5210793787358148244}
|
||||
- {fileID: 3172362146895278104}
|
||||
- {fileID: 8838351739978356113}
|
||||
- {fileID: 5210793787358148244}
|
||||
- {fileID: 4317687165807747350}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
||||
Reference in New Issue
Block a user