voiceover vca and volume slider added to Unity and FMOD

This commit is contained in:
Timur Nizamov
2026-01-21 15:51:17 +02:00
parent 389707b5f7
commit aeee055e18
15 changed files with 32 additions and 23 deletions

View File

@@ -2551,7 +2551,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: ebe1ab889a9bed940995d4f47bc743ef, type: 3}
m_Name:
m_EditorClassIdentifier:
target: 2
target: 5
--- !u!1 &3847096334227967442
GameObject:
m_ObjectHideFlags: 0
@@ -3539,8 +3539,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -2000.1, y: 34.7}
m_SizeDelta: {x: 117.7, y: 49.6}
m_AnchoredPosition: {x: -2404.8, y: 34.7}
m_SizeDelta: {x: 220, y: 49.6}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2306375091028476275
CanvasRenderer:
@@ -3570,7 +3570,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 'Music:'
m_text: 'Voiceovers:'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: d564a6b9a8a781b438125b614edcc297, type: 2}
m_sharedMaterial: {fileID: 2467261418627247352, guid: d564a6b9a8a781b438125b614edcc297,
@@ -4890,7 +4890,7 @@ GameObject:
- component: {fileID: 9123126080211807181}
- component: {fileID: 2844805864736818914}
m_Layer: 5
m_Name: Music Slider
m_Name: Voiceover Slider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0

View File

@@ -8,7 +8,8 @@ public class SliderToVCA : MonoBehaviour
Ambiences,
Music,
SFX,
UI
UI,
Voiceovers
}
public VCATarget target;
@@ -40,6 +41,8 @@ private float GetInitialValueFromAudioManager()
return AudioManager.Instance.SFXVolume;
case VCATarget.UI:
return AudioManager.Instance.UIVolume;
case VCATarget.Voiceovers:
return AudioManager.Instance.VoiceoverVolume;
default:
return 0.5f;
}
@@ -76,6 +79,10 @@ private float GetInitialValueFromAudioManager()
case VCATarget.UI:
AudioManager.Instance.SetUIVCA(value);
break;
case VCATarget.Voiceovers:
AudioManager.Instance.SetVoiceoverVCA(value);
break;
}
}
}

View File

@@ -20,6 +20,7 @@ public class AudioManager : MonoBehaviour
private VCA sfxVCA;
private VCA uiVCA;
private VCA ambienceVCA;
private VCA voiceoverVCA;
[SerializeField]
[Header("Volume")]
@@ -40,6 +41,9 @@ public class AudioManager : MonoBehaviour
public float UIVolume = 0.5f;
[Range(0, 1)]
public float VoiceoverVolume = 0.5f;
[Range(0, 1)]
private Bus masterBus;
private Bus ambientBus;
private Bus musicBus;
@@ -109,18 +113,19 @@ public class AudioManager : MonoBehaviour
_instance.sfxBus = RuntimeManager.GetBus("bus:/SFX");
_instance.uiBus = RuntimeManager.GetBus("bus:/UI");
_instance.masterVCA = RuntimeManager.GetVCA("vca:/Master");
_instance.musicVCA = RuntimeManager.GetVCA("vca:/Music");
_instance.ambienceVCA = RuntimeManager.GetVCA("vca:/Ambiences");
_instance.sfxVCA = RuntimeManager.GetVCA("vca:/SFX");
_instance.uiVCA = RuntimeManager.GetVCA("vca:/UI");
_instance.voiceoverVCA = RuntimeManager.GetVCA("vca:/Voiceovers");
_instance.masterVCA.setVolume(_instance.MasterVolume);
_instance.musicVCA.setVolume(_instance.MusicVolume);
_instance.ambienceVCA.setVolume(_instance.AmbienceVolume);
_instance.sfxVCA.setVolume(_instance.SFXVolume);
_instance.uiVCA.setVolume(_instance.UIVolume);
_instance.voiceoverVCA.setVolume(_instance.VoiceoverVolume);
_instance.dialogueCallback = new EVENT_CALLBACK(DialogueEventCallback);
@@ -156,6 +161,11 @@ public class AudioManager : MonoBehaviour
UIVolume = value;
uiVCA.setVolume(UIVolume);
}
public void SetVoiceoverVCA(float value)
{
VoiceoverVolume = value;
voiceoverVCA.setVolume(VoiceoverVolume);
}
private void Awake()