Oyun Seslendirilmesi: Audio Mixer Kurulumu ve Ses Katmanları
Oyun sesini düzgün yönetmek, oyuncu deneyiminin kalitesini doğrudan etkiler. Müzik, efekt ve diyalog aynı anda çalışırken, her biri bağımsız olarak kontrol edilebilmeli. Audio Mixer devreye giriyor.
Audio Mixer, oyunun tüm ses kaynaklarını merkezi bir noktada toplar ve seviye, efekt, filtreleme gibi işlemleri yapmanı sağlar. Ses katmanları (groups) sayesinde müzik, efekt ve diyaloğu ayrı ayrı kontrol edebilirsin.
Unity Editor'de sağ tıkla Create Audio Audio Mixer. Yeni bir mixer dosyası oluşacak. Buna "GameMixer" adını ver.
Mixer penceresinde Groups bölümüne bak. Master grubu zaten var. Sağ tıkla Add Child Group. Üç grup oluştur:
- Music
- SFX (Sound Effects)
- Dialogue
Bu gruplar, oyunun tüm ses kaynağını organize etmek için kullanılacak.
Sahnede bir GameObject oluştur ve AudioSource bileşeni ekle. AudioSource Inspector'ında Output alanına tıkla ve "GameMixer > Music" seç. Böylece bu ses kaynağı Music grubundan çıkacak.
C# ile ses seviyelerini çalışma zamanında değiştirebilirsin:
1using UnityEngine;2using UnityEngine.Audio;34public class AudioManager: MonoBehaviour5{6public AudioMixer audioMixer;78public void SetMusicVolume(float volume)9{10audioMixer.SetFloat("MusicVolume", Mathf.Log10(volume) * 20);11}1213public void SetSFXVolume(float volume)14{15audioMixer.SetFloat("SFXVolume", Mathf.Log10(volume) * 20);16}17}Mixer'da her grup için Exposed Parameter ekle. Music grubunu seç Volume parametresini sağ tıkla Expose to Script. Adını "MusicVolume" yap. SFX için de "SFXVolume" yap.
Kodu bir GameObject'e ekle ve audioMixer alanına GameMixer'ı sürükle. Şimdi SetMusicVolume(0.5f) çağırırsan müzik seviyesi %50 olur.
Script çalıştığında, Mathf.Log10 desibel cinsinden doğru ses dönüşümünü sağlar. Örneğin volume=0.5 için -6dB çıktısı alırsın.
Audio Mixer, oyun sesinin profesyonel görünmesini ve kontrol edilebilmesini sağlar. Başında biraz karmaşık görünse de, bir kez kurulduktan sonra tüm ses yönetimi çok daha kolay hale gelir.
0 yorum