Unity'de Partikül Sistemi ile Boyama Nasıl Yapılır?

Unity Çeşitli ve dinamik araç seti ile tanınan Engine, sürükleyici deneyimler yaratmanın sayısız yolunu sunar. Bunların arasında Parçacık Sistemi, yağmur ve duman simülasyonundan karmaşık animasyonlar oluşturmaya kadar görsel efektler için çok yönlü bir araç olarak öne çıkıyor. Bu sistemin daha az araştırılan bir kullanımı da Unity sahnesinde resim yapmaktır. Bu eğitimde Unity'deki yüzeylerdeki boyama eylemini simüle etmek için Parçacık Sisteminin yenilikçi bir uygulaması tanıtılmaktadır.

Önkoşullar

1. Sahneyi Ayarlamak

  • Unity'i başlatın ve bir yeni 3D proje oluşturun (henüz yapmadıysanız)
  • Hiyerarşi penceresinde sağ tıklayın ve 3B Nesne -> 'Plane' öğesini seçin. Bu tuval görevi görecek.
  • Tutarlılık için düzlemin konumunu (0, 0, 0) olarak ayarlayın.

2. Parçacık Sistemini Oluşturmak

  • Hiyerarşi penceresine sağ tıklayın ve 'Effects' -> 'Particle System' seçeneğini seçin.
  • Parçacık Sistemini "ParticlePainter" olarak yeniden adlandırın.
  • "ParticlePainter" nesnesini düzlemin biraz üstüne konumlandırın.

3. Boyama için Parçacık Sistemini Yapılandırma

  • "ParticlePainter" nesnesi seçiliyken Denetçi penceresine gidin.

'Particle System' altında aşağıdaki değişiklikleri yapın:

  • 'Duration': 1
  • 'Start Lifetime': 'Infinity' (bu, parçacıkların ölmemesini sağlar)
  • 'Start Speed': 0 (parçacıklar hareket etmemelidir)
  • 'Emission' -> 'Rate over Time': 100 (boya yoğunluğu tercihine göre ayarlayın)
  • 'Shape''ye gidin ve "Circle"'i seçin. Fırça boyutunu kontrol etmek için yarıçapı daha küçük bir değere ayarlayın.
  • 'Renderer' altında, Malzemeyi boyayı temsil edecek özel bir malzeme veya renkle değiştirin.

4. Boya Teknisyeninin Komut Dosyasını Yazma

Artık parçacıkların ne zaman ve nerede yayıldığını kontrol etmek için bir komut dosyası eklenecek.

  • Varlıklar penceresine sağ tıklayın, 'Create' -> 'C# Script' seçeneğini seçin ve "ParticlePainterScript" olarak adlandırın.
  • Bir düzenleyicide açmak için komut dosyasına çift tıklayın, aşağıdaki kodu içine yapıştırın ve ardından komut dosyasını kaydedin:
using UnityEngine;

public class ParticlePainterScript : MonoBehaviour
{
    private ParticleSystem painterParticles;
    private bool canPaint = false;

    void Start()
    {
        painterParticles = GetComponent<ParticleSystem>();
    }

    void Update()
    {
        PaintMechanic();
    }

    void PaintMechanic()
    {
        if (Input.GetMouseButton(0))
        {
            if (!canPaint) 
            {
                painterParticles.Play();
                canPaint = true;
            }
        }
        else
        {
            painterParticles.Stop();
            canPaint = false;
        }

        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        
        if (Physics.Raycast(ray, out hit))
        {
            transform.position = hit.point;
        }
    }
}
  • "ParticlePainterScript" dosyasını Unity düzenleyicisindeki "ParticlePainter" nesnesine ekleyin.

5. Kamerayı Ayarlama

Yukarıdan aşağıya görünüm için ana kamerayı ayarlayın:

  • Konumu (0, 10, 0) ve Döndürmeyi (90, 0, 0) olarak ayarlayın.

6. Sahneyi Test Edin

  • Oynat düğmesine tıklayın.
  • Sol fare düğmesini basılı tutun ve imleci düzlemin üzerine getirin. Boya benzeri bir etki yaratacak şekilde parçacıklar yayılmalıdır.

Sorular:

  1. Boyama için neden geleneksel doku boyama yöntemleri yerine Parçacık Sistemini kullanmalısınız?: Parçacık Sistemi dinamik, gerçek zamanlı geri bildirim sunar, son derece özelleştirilebilirdir ve benzersiz görsel efektler sağlayabilir. Ayrıca bazı durumlarda, özellikle de geçici boya efektlerinde, performans açısından daha uygun olabilir.
  2. Bu yöntemle birden fazla renk boyanabilir mi?: Evet, birden fazla parçacık sistemi oluşturarak veya parçacık rengini zamanla ayarlayarak çeşitli renk efektleri elde edilebilir.
  3. Fırça boyutu dinamik olarak nasıl değiştirilebilir?: Parçacık Sisteminin şeklinin 'radius' değerini komut dosyası aracılığıyla gerçek zamanlı olarak ayarlayarak, fırça boyutu dinamik olarak değiştirilebilir.

Çözüm

Bu eğitimin sonunda Unity Parçacık Sisteminin yeni ve benzersiz bir uygulaması keşfedildi. Oyun mekaniği, sanatsal araçlar veya yenilikçi deneyimler için Unity çok yönlü yetenekleriyle şaşırtmaya devam ediyor.

Önerilen Makaleler
Unity'de Basınçlı Yıkama Köpüğü Etkisi Yaratın
Unity'de Hafif Kurabiyeler Nasıl Yapılır?
Unity'nin Kullanıcı Arayüzü Sistemiyle Çalışmak
Unity için Temel İşlem Sonrası İpuçları
Unity Oyunlarına Zombi Nasıl Eklenir?
Unity Asset Store Paketinin İncelenmesi - Planet Shader ve Gölgeleme Sistemi
HP/Progress/Stamina Bar Kullanıcı Arayüzü - Unity Asset Store Paket İncelemesi