3D ses
- Oyun Geliştirme kursu
- Orta seviye
- Ders 28/83
- 4 dk
Spatial Blend ile 3D ses ve mesafe azalmasını öğrenirsin.
3D ses ve Spatial Blend
AudioSource bileşenindeki Spatial Blend ayarı, sesin iki boyutlu (2D) mi yoksa üç boyutlu (3D) mi duyulacağını belirler. Değer 0.0 iken ses 2D'dir; yani oyuncunun nesneye olan mesafesinden bağımsız olarak her iki kulaklıktan eşit güçte duyulur.
AudioSource source = GetComponent<AudioSource>();
// Sesi tam 3D konumsal sese çevirme
source.spatialBlend = 1.0f;Değer 1.0 yapıldığında ses tamamen 3D olur ve nesnenin sağında/solunda olmasına göre dinamik olarak yönlenir.
Mesafe azalması (Rolloff) eğrileri
3D seste kaynaktan uzaklaştıkça ses şiddeti azalır. minDistance sesin tam güçte duyulduğu en yakın mesafeyi, maxDistance ise sesin tamamen sessizleştiği dış sınırı belirler.
source.minDistance = 2.0f;
source.maxDistance = 25.0f;
source.rolloffMode = AudioRolloffMode.Logarithmic;Bu azalma eğrisi (Rolloff Mode), sesin fiziksel olarak gerçekçi (Logarithmic) veya doğrusal (Linear) biçimde sönümlenmesini ayarlar.
Uygulama 3D ses ayarlarını yazdır
blend değişkenine "3D", rolloff değişkenine "Logarithmic" ata. Ekrana SpatialBlend: 3D | Rolloff: Logarithmic yazdır.
Başlangıç kodu
using System;
class Program
{
static void Main()
{
// blend ve rolloff değerlerini tanımlayıp yazdır
}
}Örnek çözüm
using System;
class Program
{
static void Main()
{
string blend = "3D";
string rolloff = "Logarithmic";
Console.WriteLine("SpatialBlend: " + blend + " | Rolloff: " + rolloff);
}
}Beklenen çıktı
SpatialBlend: 3D | Rolloff: Logarithmic
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kullanıcı arayüzü buton sesi veya arka plan müziği gibi mesafeden bağımsız 2D seslerde Spatial Blend değeri kaç olmalıdır?
- 1.0 (Tam 3D)
- 0.5 (Yarı 3D)
- -1.0 (Ters yönlü)
- 0.0 (Tam 2D) Doğru cevap
Açıklama: Spatial Blend 0.0 değeri sesi tamamen 2D yapar ve dünya mesafelerinden etkilenmeden eşit seviyede duyulmasını sağlar.
2 Spatial Blend değerini ayarla
source.____ = 1.0f;
source.spatialBlend = 1.0f;
Açıklama: AudioSource bileşenini 3D ses moduna almak için spatialBlend özelliği 1.0f değerine ayarlanır.
3 3D ses kavramları
| Kavram | Anlamı |
|---|---|
Spatial Blend |
Sesin 2D/3D konumsal dağılım oranı |
minDistance |
Sesin tam duyulduğu en yakın mesafe |
maxDistance |
Sesin tamamen duyulmadığı sınır mesafe |
Rolloff |
Mesafe bazlı ses şiddeti düşüş eğrisi |