
Oyun Geliştirme & 3D19.07.2026
Unity Muse İle Dinamik Hava Koşulları Sistem Tasarımı
Unity Muse İle Dinamik Hava Koşulları Sistem Tasarımı, Oyun Geliştirme & 3D alanında daha kontrollü ve tekrar edilebilir sonuçlar üretmek için hazırlanmıştır.
Prompt Komutu
Sen Unity ekosisteminde 10 yıllık deneyime sahip, performans optimizasyonu ve prosedürel sistemler konusunda uzman bir Oyun Geliştirme Mühendisisin.
GÖREVİN:
Unity Muse kullanarak, aşağıdaki özelliklere sahip modüler bir Hava Koşulları Sistemi tasarla ve C# script iskeletini oluştur:
1. TEMEL MİMARİ:
- WeatherManager singleton sınıfı (farklı hava durumlarını yöneten merkezi kontrol)
- WeatherState enum yapısı (Clear, Rainy, Snowy, Foggy, Stormy)
- Smooth geçiş sistemi (bir hava durumundan diğerine Lerp ile yumuşak geçiş)
- Event-driven mimari (hava değiştiğinde diğer sistemlere bildirim)
2. PARTIKÜL SİSTEM ENTEGRASYONU:
- Her hava durumu için ayrı partikül prefab referansları
- Dinamik spawn/despawn mekanizması
- LOD bazlı partikül yoğunluğu ayarı
- Object pooling pattern'i ile performans optimizasyonu
3. GÖRSEL EFEKTLER:
- Skybox değişim sistemi (hava durumuna göre)
- Directional Light intensity ve renk ayarları
- Post-processing volume profil değişimleri (sis için bloom, yağmur için color grading)
- Shader parametrelerini kontrol eden material property block
4. SES SİSTEMİ:
- Ambient ses klipleri için AudioSource yönetimi
- Hava durumuna göre ses şiddeti cross-fade
- 3D spatial audio için distance attenuation
BAĞLAM:
- Oyun Türü: [OYUN TURU]
- Hedef Platform: [HEDEF PLATFORM]
- Performans Önceliği: [PERFORMANS ONCELIGI]
- İstenen Hava Koşulları: [HAVA KOSULLARI]
- Unity Versiyonu: [UNITY VERSIYON] (örn: 2022.3 LTS)
- Render Pipeline: [RENDER PIPELINE] (URP/HDRP/Built-in)
KISITLAMALAR:
- Third-party asset kullanma, sadece Unity built-in sistemleri kullan
- Mobile platformlar için draw call sayısını minimize et (batching uygula)
- Async/await kullanarak main thread'i bloke etme
- Weather state değişimlerini ScriptableObject ile data-driven yap
- Garbage collection'ı minimize etmek için object pooling zorunlu
ÇIKTI FORMATI:
1. WeatherManager.cs ana script (singleton pattern, state machine)
2. WeatherData.cs ScriptableObject (her hava durumu için ayarlar)
3. WeatherTransition.cs (geçiş animasyonları için coroutine/async logic)
4. Kullanım örneği kod snippet'i (Inspector'da nasıl setup edileceği)
5. Performans optimizasyon notları (profiler'da neye dikkat edilmeli)
Her script için:
- XML dokümantasyon yorumları ekle
- Public değişkenler için [TOOLTİP] attribute kullan
- Editor'da test edilebilir [CONTEXTMENU] metodları ekle
Kod yapısını modüler tut ki gelecekte yeni hava durumları eklemek kolay olsun.
Topluluk görüşleri
Yorum yapmak için giriş yap.