Gaz simülasyonları da sıvı simülasyonları gibi genelde FumeFX, Turbulence FD, X-Particles gibi eklentilerle çalışır. Gaz simülasyonları partiküllerle de etkileşime girebileceği gibi temelde voxel denen sabit hareketsiz fakat değer alıp veren 3d pixeller üzerinden oluşturulur. Temelde kübik bir konteyner oluşturulur ki bütün simülasyon bu konteyner içinde gerçekleşir. Konteyner kendi içinde sanal voxellere bölünür. Örneğin 100cmx100cmx100cm ölçülerindeki bir konteyner için voxel boyutunu 1cm olarak ayarlarsak toplamda konteynerin içinde 1.000.000 voxel bulunur. Her bir voxel Fuel, Burn, Temperature, Velocity vb. değerleri alır ve komşu voxellere aktarır. Olay bundan ibarettir. Diğer simülasyonlardan farklı olarak ortaya çıkan şey katı bir mesh/cisim değil volume/volumetric denen hacimsel, render edilebilir bir varlıktır. Şimdi belli başlı parametrelere göz atalım :
Container/Sim. Area :
Buradan temel konteyner ölçü ayarlarını yapabiliriz. Genişlik, yükseklik, derinlik, voxel size/spacing, adaptive vb.
Voxel Size, Spacing aynıdır. Değer düştükçe çözünürlük/kalite artar, hesaplama yavaşlar.
Adaptive, bütün konteyneri hesaplamak yerine simülasyondan değer alan voxelleri içine alan dinamik bir konteyner oluşturarak sadece ilgili bölümlerin hesaplanmasını sağlar.
Eklentiye göre başlıklar birbiriyle çok farklı ve alakasız olabildiği için bu noktadan sonra yanlış yönlendirmemek adına bir süre ana başlıksız, parametre tabanlı ilerleyelim. Karşınıza çıkınca aha buldum diye üstüne atlayın :
Yanma (combustion) en basit haliyle yanıcı (fuel) ve yakıcı (burn) maddelerin tutuşma sıcaklığında (temperature,heat) kimyasal reaksiyona girmesidir. Simülasyon tarafından baktığımızda eklentiye göre ateş, duman vs ortaya çıkarmak için değişken bazı temel değerler veya kombinasyonlar istenebilir. Fuel+Heat, Burn+Heat vb. Nihayetinde bütün eklentilerde ısı olmadan simülasyon ortaya çıkmaz. Birçoğunda heat-temperature birbirini ikame eden kelimeler olarak kullanılsa da esasen farklı şeylerdir.
Ignition Temp. : Tutuşma sıcaklığı. Fuel'in tutuşması gereken minimum sıcaklığı belirler.
Buoyancy : Akışkanın yükselme enerjisi diyebiliriz. Değer arttıkça duman veya alev daha yukarıya daha hızlı erişebilir. Negatif değerler tersine etki verir. Direction parametresi varsa yönünü belirler.
Vorticity : Akışkana girdap tipi kıvrımlı hareket ekler. Varsa Radius değeri girdabın yarıçapını belirler. Detay almak için Voxel Size'ı düşürmek gerekir.
Diffusion : Bu parametre Temperature, Fuel, Smoke gibi parametrelerin heterojenliğini ya da değişkenliğini saçılım/bulanıklaştırma (blur) yoluyla yumuşatır. Değerler daha homojen, stabil hale gelir ve değer varyasyonunun azalmasıyla daha düz kıvrımsız türbülanssız yükselen bir simülasyon ortaya çıkar.
Diffusion yok vs var :
Dissipation : Enerjinin yitimi, dağılması. Ateş, duman vs daha erkenden solarak kaybolur.
Advection : En basit haliyle simülasyondaki doğal bulanıklaşmayı önler ve kıvrımları vs. daha keskin hale getirir.
Propagation : Simülasyonun genişlemesini kontrol eder. Patlamalar bu değere animasyon verilmesiyle oluşturulup kontrol edilebilir.
Shading : Tek cümleyle anlatacak olursak, gaz simülasyonlarının shading'i Fire, Smoke parametrelerine hesaplanan kanalların (burn, velocity, temperature, density vb.) atanması ve bu kanallara ramp eklenmesiyle oluşturulur. Genelde eklentinin içinde dahilidir. Örneğin ateş için Density kanalına sarıdan kırmızıya doğru bir Ramp atarsak yoğunluğun fazla olduğu (simülasyonun kaynak noktası) yerler sarı, az olduğu (kaynaktan uzak noktalar) yerler kırmızı olur.
Aşağıdaki youtube kanalından sıvı ve gaz simülasyon parametrelerini görsel olarak daha detaylı inceleyebilirsiniz.
Selametle kalın.
Comentários