Parçacık Akışı, olaylarda malzeme kullanımına belirli bir sınırlama getirir. Özellikle, herhangi bir standart Malzeme operatörü aracılığıyla veya Şekil Örneği operatörünün bir parametresi olarak bir olaya atanan bir malzeme, parçacıklarla birlikte bir olaydan diğerine geçmez. Bu, Parçacık Akışı sisteminin genel esnekliğini azaltır ve bazı geçici çözümlerin kullanılmasını gerektirir: Ya genel olaya bir Malzeme operatörü atayın ya da etkilenen tüm olaylara bir Malzeme operatörü atayın.
Particle Flow, sistemdeki malzemelerin genel işlenmesini iyileştirmek için olay işlevselliğini artırır. Hala parçacıkların olaylar arasında malzeme taşımasına izin vermez, ancak malzeme atamasını ve miras alınmasını basitleştiren çeşitli araçlar sunar.
Parametrik ve Sentetik Malzemeler #
Parçacık Akışı olaylarına malzeme ataması bağlamında, bir malzeme parametrik veya sentetik olarak sınıflandırılabilir.
Bir malzeme, standart Malzeme operatörlerinden herhangi birini kullandığınızda parametrik olur. Operatörde, Malzeme Düzenleyicisinden bir malzeme tanımlamak için bir düğme bulunur. Bu malzeme, parçacıklar bu olayda bulundukları süre boyunca kullanılmak üzere Malzeme operatörünü içeren olaya referans olarak iletilir. Tekrar ediyorum, bu parametrik bir malzemedir; bir Malzeme operatöründe parametre olarak atanır.
Örneğin, standart Şekil Örneği operatörünü kullandığınızda bir malzeme sentetiktir. Operatörün Malzeme Edinme özelliği açık olduğunda, referans geometriye atanmış malzemeyi alır ve mevcut olaya atar. Ayrıca, operatör bir nesne grubuna Parçacık Geometrisi Nesnesi olarak atıfta bulunuyorsa, operatör gruptaki tüm malzemeleri toplar ve olaya atanacak yeni bir Çoklu/Alt Nesne malzemesi oluşturur. Bu durumda, diğer malzemelerden yeni bir malzeme sentezlenir.
Küresel bir olayın başlık alanına tıklarsanız, Particle Flow parçacık sisteminin tamamıyla ilgili parametreleri görebilirsiniz. Ayrıca yerel bir olayın başlık alanına tıklayarak malzeme işleme ile ilgili araçları ve olaya atanmış malzemeyi de görebilirsiniz.
Örnekleri inceleyelim #
Malzeme araçlarının nasıl çalıştığını görmek için basit örnek dosya MaterialInheritance01.max’i ( ParticleFlowSamples klasöründeki eğitim dosyalarıyla birlikte gelir ) açın. Sahne, dört olaya sahip basit bir Parçacık Akışı sistemine sahiptir. Malzeme operatörleri içermez; görünüm alanındaki parçacıkların renkleri, her olayda farklı bir Görüntüleme operatörü tarafından tanımlanır, böylece animasyonu oynattığınızda parçacıkların olay değiştirdiğini renk değişiminden anlayabilirsiniz.
Şimdi, Olay 01’e bir Malzeme Statik operatörü ekleyin, seçin ve Malzeme Düzenleyicisinden (ilk yuva) Çoklu/Alt Nesne malzemesini bir örnek olarak atayın (varsayılan mod) ve alt malzemeler arasında geçiş yapmak için Malzeme Statik parametrelerini ayarlayın. Olay haritanız şöyle görünecektir:

Şimdi animasyonu oynatırsanız, başlangıçta parçacıkların hepsinin farklı renklerde olduğunu, ancak daha sonra bir blok halinde farklı bir renge geçtiklerini görürsünüz. Bunun nedeni, sonraki üç olayın Malzeme operatörüne sahip olmaması ve bu nedenle görüntü alanlarında Görüntü rengini kullanmasıdır.
Olay 01’in parametrelerini görüntülemek için Olay 01’in başlık çubuğuna tıklayın ve ardından “Aşağı Akış Malzemeleri” düğmesine tıklayın. Particle Flow, üç olayı bir malzeme ile güncellediğini bildirir. Animasyonu tekrar oynatın; parçacık renkleri artık tüm olaylarda tutarlı. Ayrıca, diğer olayları seçerseniz, “Mevcut Malzeme” düğmesinin artık ilk olaydakiyle aynı malzemeyi gösterdiğini gözlemleyebilirsiniz.
Şimdi de daha karmaşık bir örnek olan MaterialInheritance02.max’e ( ParticleFlowSamples klasöründeki eğitim dosyalarına dahildir ) bakalım . Bu örnekte, ortak bir akışa yakınsayan iki parçacık akışı bulunmaktadır. Başlangıç olayları, Material Static operatörleri tarafından tanımlanan farklı malzemelere sahiptir. Parçacıklar ikinci olaya (Olay 02) ulaştıklarında, malzemelerini kaybederler. Bu durumda neler yapabileceğinize bakalım.

Olay 01’i seçin ve “Aşağı Akış Malzemeleri” düğmesine tıklayın. Olay 02, Olay 03 ve Olay 04’e atanan malzemeyi inceleyebilirsiniz; animasyonu oynatın; sonuç olarak, Olay 01’den sonraki tüm olaylar Yeşil malzemeyi miras almıştır. Bu iyi sonuç vermez çünkü Olay 05’ten gelen parçacıklar da Yeşil malzemeyi almıştır. Bu durumu bir şekilde düzeltmemiz gerekiyor. Buradaki amaç, iki doğum olayından kaynaklanan parçacıkların orijinal malzemelerini korumasını sağlamaktır.
Öncelikle şunları deneyin: 05 numaralı olayı (mavi malzemeyle başlayan olay) seçin ve “Aşağı Akış Malzemeleri” düğmesine tıklayın. Hatırlarsanız, 01 numaralı olayda düğmeye tıkladığınızda yazılım “3 olaydaki malzemeler güncellendi” şeklinde bir rapor vermişti. Şimdi, 05 numaralı olayda rapor farklı: “Tüm olaylarda geçerli malzemeler var.” Bu, aşağı akış olaylarındaki malzemelerin değiştirilmediğini gösteriyor. Animasyonu oynatırsanız veya aşağı akış olaylarını incelerseniz, hala 01 numaralı olaydaki yeşil malzemeyi tuttuklarını görebilirsiniz. Neden?
“Aşağı Akış Malzemeleri” düğmesine tıkladığınızda, eklenti mevcut olaydan sonraki tüm olayları bulur ve her bir aşağı akış olayı için Malzeme Güncellemesi’ni tetikler. Bir olaydaki malzeme, Malzeme Miras parametrelerine göre güncellenir. Miras türü “Yok” ise veya olay kendi malzemesini tutan bir operatöre sahipse (herhangi bir Malzeme operatörü veya malzeme edinimi olan bir Şekil Örneği operatörü), olaydaki malzeme zaten tanımlı olduğundan olay malzemesini güncellemez. Miras türü “En Yüksek Öncelik” olarak ayarlanmışsa, olay yukarı akış olaylarını arar (Olay 02’nin yukarı akış olayları Olay 01 ve Olay 05’tir), Malzeme Önceliği değerlerini kontrol eder ve en yüksek önceliğe sahip olaydan bir malzeme miras alır. Bu durumda, hem Olay 01 hem de Olay 05 aynı Malzeme Önceliğine sahiptir: 0 (sıfır). Bu nedenle sonuç belirsizdir: Olay 02 bulduğu ilk yukarı akış olayını seçebilir. Event 05’ten malzeme miras alımını zorlamak için, Event 05’teki Malzeme Önceliği değerini 1 olarak değiştirin ve tekrar Aşağı Akış Malzemeleri düğmesine tıklayın. Artık aşağı akış olaylarının Mavi malzemeye sahip olduğunu görebilirsiniz.
Belirtilen hedef hâlâ ulaşılamaz durumda: Olay 01’den gelen parçacıklar, Olay 02’ye ulaştıklarında maddelerini Yeşil’den Mavi’ye değiştiriyorlar. Bu yüzden başka bir şey yapmamız gerekiyor.
Miras türü için son seçenek Malzemeleri Birleştir’dir. Malzemelerin aşağı doğru düzgün bir şekilde yayılması için kullanılması gereken tür budur. Olay 02’yi seçin ve Miras’ı Malzemeleri Birleştir olarak ayarlayın. Şimdi, yukarı akıştan birleştirilmiş bir malzeme çekmek için Geçerli Olay Malzemesi düğmesine tıklayın. Şimdi, Olay 02’deki Geçerli Malzemeye bakarsanız, Yeşil veya Mavi malzeme değil, Malzeme #10 gibi bir şeyle etiketlenmiş yeni bir malzeme olduğunu göreceksiniz. Malzemeyi Malzeme Düzenleyici’ye sürüklediğinizde, “Mavi” adlı tek bir alt malzemeye sahip Çoklu/Alt Nesne malzemesi olduğunu görebilirsiniz.
Neden? Hem Olay 01 hem de Olay 05 standart bir malzemeye sahip olup, olay ayarlarına göre Olay 05 daha yüksek önceliğe sahiptir. Her iki malzeme de standart malzeme olduğundan (Çoklu/Alt Nesne malzemelerinin aksine), her ikisi de sentetik Çoklu/Alt Nesne malzemesindeki ilk yuvayı Olay 02 için ayırmaya çalışır. Ancak Olay 05, daha yüksek öncelik değeri nedeniyle öne geçer.
Malzeme çakışmasını çözmek için, Olay 01 ve Olay 05’teki malzemelerden birini ayarlamak gereklidir. İşte nasıl yapılır: Olay 05’te Malzeme Statik operatörünü seçin ve Alt Malzeme Kimliği Ofseti değerini 1 olarak değiştirin (varsayılan değer 0’dan). Malzeme Kimliği Ata seçeneğinin otomatik olarak açıldığını (daha sonra açıklanacak bir nedenden dolayı) gözlemleyin, ancak malzeme efektini görünüm penceresinde görmek için Görünüm Penceresinde Göster seçeneğini de açmanız gerekir. Ayrıca, operatörün dinamik adının Malzeme Statik 02 (Mavi)’den Malzeme Statik 02 (Mavi >> 1)’e değiştiğini, bunun da Kimlik Ofsetinin uygulandığını gösterdiğini unutmayın.
05 numaralı etkinliği seçin ve Geçerli Malzeme düğmesindeki malzemeyi inceleyin (Malzeme Düzenleyici’ye sürükleyin). Malzeme, iki alt malzemeye sahip gerçek bir Çoklu/Alt Nesne malzemesidir: İlk yuva boştur ve ikinci yuva Mavi malzeme ile doludur. Artık 01 ve 05 numaralı etkinliklerden gelen malzemeleri çarpışma olmadan birleştirmek mümkündür.
Olay 02’yi seçin ve Geçerli Malzemeyi Güncelle düğmesine tıklayın. Geçerli Malzeme düğmesindeki malzemeyi inceleyin: Birleştirilmiş malzemenin Yeşil ve Mavi olmak üzere iki alt malzemesi vardır. Bu malzemeyi Olay 03 ve Olay 04 olaylarına yaymak için Sonraki Malzemeler düğmesine tıklayın.
Şimdi animasyonu oynatırsanız, Event 01’den kaynaklanan parçacıklarda hala bir tutarsızlık görebilirsiniz: Event 01’den ayrıldıktan sonra maviye dönerler. Bunu düzeltmek için, Statik 01 (Yeşil) malzemesinde Malzeme Kimliği Ata ve Görünüm Alanında Göster seçeneklerini açmanız gerekir. Yeşil malzemenin alt malzemeleri olmasa da, alt malzeme indekslerine ihtiyaç duyulur çünkü daha sonra parçacıklar olaydan ayrılır ve Çoklu/Alt Nesne malzemeleri tarafından yönetilmeye başlar.
Arayüz #
Bu bölümde, bir etkinlik başlık çubuğuna tıklayarak erişebileceğiniz malzeme miras alma kontrollerinin yanı sıra, malzeme kullanan operatörlere eklenen yeni bir parametre olan Alt Malzeme Kimliği Ofseti açıklanmaktadır.

Maddi Miras grubu #
- Miras almak
- Bir malzemenin, önceki olaylara bağlı olarak mevcut bir olaya nasıl atandığını ve mevcut olayın sonraki malzemeleri nasıl etkileyebileceğini tanımlar. Açılır listeden seçim yapın:
- Bu olay, önceki olaylardan herhangi bir materyal devralmaz.
- En Yüksek Öncelik: Tüm doğrudan yukarı yönlü olaylar arasından en yüksek önceliğe sahip olanı seçer ve bu olaydan malzeme temin eder.
- Malzemeleri Birleştir, yukarı akış olaylarındaki malzemelerden çoklu/alt nesne malzemesi sentezler. Farklı malzemeler ve alt malzemeler arasında bir çakışma olursa, en yüksek önceliğe sahip varlık geçerli olur.
- Malzeme Önceliği
- Devralma (Inherit) seçeneği için En Yüksek Öncelik ve Malzemeleri Birleştir seçenekleri tarafından kullanılan öncelik değerini ayarlar (bkz. önceki bölüm).
Malzeme grubunu güncelle #
Bu grup, Particle Flow olaylarında malzeme ayarlamaya yönelik araçlar içerir.
- Güncel Olaylar Materyali
- Önceki etkinliklerden materyaller çekerek mevcut etkinlik materyallerini günceller.
- Aşağı Akış Malzemeleri
- Sonraki tüm etkinliklerdeki materyalleri günceller.
- Tüm etkinliklerde kullanılan malzemeler
- Sahnedeki tüm PFlow sistemlerindeki tüm olaylardaki materyalleri günceller.
- Mevcut Malzeme
- Etkinlik tarafından kullanılan materyali gösterir. Bu salt okunur bir özelliktir; incelemek için bu düğmeden Materyal Düzenleyici’ye bir materyal sürükleyebilirsiniz, ancak Materyal Düzenleyici’den bu düğmeye bir materyal bırakamazsınız.
Ek Parametre: Malzeme/Doğum Grubu/Şekil Örneği operatörleri #
- Alt Malzeme Kimliği Ofseti
- Çoklu/Alt Nesne materyaliyle materyal kalıtımı kullanılırken, Materyal operatörleri, Doğum Grubu operatörü ve Şekil Örneği operatörü, bu değeri Materyal Kimliği değerine ekleyerek, Particle Flow’un materyalin alt materyallerinden hangisini miras alacağını ve böylece materyaldeki alt materyal kimliğine bağlı olarak olaydaki parçacıklara uygulayacağını belirlemek için kullandığı bir alt materyal kimliği oluşturur.
