Parçacık Sistemi: Etkin Kullanım İpuçları ve Performans
Parçacık sistemi (particle system), ateş, duman, yağmur veya patlamalar gibi binlerce küçük öğeyi verimli şekilde yönetir. Yanlış ayarlanırsa oyun donabilir; doğru kullanırsa görüntü çarpıcı olur.
Saniyede kaç parçacık oluşturulacağını belirler. Çok yüksek ayarlamak FPS düşürür.
1ParticleSystem ps = GetComponent<ParticleSystem>();2var emission = ps.emission;3emission.rateOverTime = 50; // Saniyede 50 parçacıkÇıktı: Sabit, kontrollü yayın hızı. Düşük değer = hafif etki, yüksek = yoğun.
Her parçacık ne kadar süre görünür kalacak. Kısa = hızlı kaybolma, uzun = kalıcı görüntü.
1var main = ps.main;2main.startLifetime = 2f; // 2 saniye yaşarAynı anda ekranda olabilecek maksimum parçacık. Bu sınırı aşarsa eski parçacıklar silinir.
1var main = ps.main;2main.maxParticles = 1000; // En fazla 1000 parçacıkParçacık sistemini yeniden oluşturmak pahalıdır. Önceden oluştur, devre dışı bırak, gerekince aç.
1ParticleSystem ps = Instantiate(particlePrefab);2ps.gameObject.SetActive(false);34// Kullanırken:5ps.gameObject.SetActive(true);6ps.Play();78// Bittikten sonra:9StartCoroutine(DisableAfterDelay(ps, 3f));1011IEnumerator DisableAfterDelay(ParticleSystem p, float delay) {12yield return new WaitForSeconds(delay);13p.gameObject.SetActive(false);14}- Billboard: En hızlı, standart seçim
- Stretched Billboard: Hızlı hareket eden parçacıklar için
- Mesh: Karmaşık şekiller, daha yavaş
Kameradan uzakta olan parçacık sistemini düşür.
1if (Vector3.Distance(Camera.main.transform.position, transform.position) > 50f) {2emission.rateOverTime = 10; // Uzaksa az parçacık3} else {4emission.rateOverTime = 50; // Yakınsa normal5}6[/cod]78## Pratik Örnek: Patlamaya Yanıt Ver910[kod]11public class ExplosionEffect: MonoBehaviour {12public ParticleSystem explosionPS;1314public void Explode(Vector3 position) {15explosionPS.transform.position = position;16explosionPS.Play();17}18}Kullanım:
1ExplosionEffect effect = GetComponent<ExplosionEffect>();2effect.Explode(hitPoint);- Emit rate ve lifetime dengeli tut
- Object pooling ile bellek tasarrufu sağla
- Uzak nesneler için LOD kullan
- Profiler ile FPS etkisini kontrol et
Doğru ayarlanmış parçacık sistemi oyunun görsel kalitesini ve performansını ikisi birden artırır.
0 yorum