Crowd aracı ile yüzlerce canlıya animasyon

Kalabalık sahnelere animasyon yapmak için kullanılan araç hakkında resimli ders.

 CROWD- Kalabalık sahnelere animasyon

  Crowd kullanarak kalabalık nesnelerin animasyonunu hazırlamak çok kolay... Kuş yada Balık sürüsü,  Lambanın etrafında uçan sinekler, arı kümeleri gibi animasyonların yanında biped cismi ile hazırlanmış kalabalık insan topluluklarını da kontrol etmeniz mümkün. Sisteminizde Character Studio 3 bulunuyorsa  Crowd özelliklerini kullanabilirsiniz. 3Dsmax 3.1 versiyonu ile birlikte Cd içinde bulunmaktadır.

Bu dersimizde gezegenin etrafından uçup giden uçaklar yapacağız. Bu animasyonu başka yolalrla uğraşarak yapmanız mümkün fakat yüzlerce cismin olduğu sahnelerde bile Crowd kısa zamanda çok iyi sonuçlar vererek işinizi kolaylaştırır. öncelikle sahnemize tepeden görünüş penceresinden bir küre çiziyoruz.. daha sonra sağ taraftaki Helpers Menüsünden. Crowd ve bir adet Delegate çiziyoruz. Bu delegate cisminin özelliklerini değiştirdikten sonra kopyalayacağız ve aşağıdaki gibi altı tane olacak.

Delegate cismi seçili iken modifier menüsünden hızını değiştiriyoruz.  Constrain to XY plane seçeneği uçakların Z ekseninde gitmesini engeller bunu da iptal ediyoruz... Daha sonra Edit menüsünden Clone seçeneği ile altı tane kopya yapıp üst resimdeki gibi yerleştiriyoruz. Crowd cismini seçerek modify menüsünden New düğmesine basıyoruz. Bu kısımda oluşturacağımız Behavior(Haraket) özellikleri cisimlerin durumunu kontrol edecektir. işlerimizin büyük çoğunluğu bu menüde olacak.   New düğmesine bastıktan sonra  Avoid Behavior seçip Ok diyoruz. Avoid Behavior cisimlerin birbirine çarpışmasını engellemek için hazırlanmıştır. Bunu kullanarak uçakların gezegene çarpmasını engelleyeceğiz. Daha sonra alt tarafta gösterilen düğmeye basıp. gezegeni seçiyoruz. Sırada delegate cisimlerini Avoid özelliği ile ilişkilendirmek var. Aşağıda gösterilen Behavior Assignment düğmesine basıyoruz. Ekrana gelen pencerenin sağ tarafından Yeni takım oluşturuyoruz. New Team düğmesine basarak tüm Delegate objelerini seçip Ok diyoruz. takım özelliği delegate cisimlerini kolayca ilişkilendirmek için kullanılır. isterseniz takım yapmadan sağ tarafı kullanarak doğrudan ilişkilendirebilirsiniz. Az önce yapmış olduğumuz Avoid isimli haraketi kullanacak olan cisimleri sağ taraftan seçiyoruz. Biz takım yaptığımız için Delegelerle tek tek uğraşmayacağız. (Bundan sonra Delegate yerine Delege diyeceğim, anlamı aynı zaten :)
Team0 a ve Avoid hareketine tıklayıp ortadaki oklara bir kez tıklıyoruz. Böylece sıfır numaralı takım Avoid isimli hareketten etkilenecek yani gezegene çarpmayacaktır. OK düğmesine tıklayıp pencereyi kapattıktan sonra. Crowd cismi seçili iken modify penceresinde alt taraftaki Solve düğmesine basıyoruz ve animasyon tamamlanmış oluyor.   Zaman çubuğunu kaydırdığınızda animasyonu göreceksiniz. Uçaklarımızı temsil eden Delege cisimleri gezegenin yanından geçip gidiyorlar. Buraya kadar olan kısımda Crowd çalışma mantığını anlamış olduk. Uçaklar uzaya dağılıp gidiyor... şimdi de gezegenin arkasında bir hedef yapalım ve uçaklar bu hedefe doğru gitsinler.   Crowd cismini seçip New düğmesine tekrar basıyoruz ve Seek(Aramak) seçeneğini seçip Ok diyoruz. Daha sonra bu haraketi sıfır numaralı takım ile ilişkilendireceğiz. Aşağıdaki düğmeye tekrar basıyoruz.

Team0 ve Seek seçeneklerine tıklayıp ortadaki oklara bir kez basıyoruz. (beş tane ok var diye beş kere tıklamayın:)
Böylece pencerenin sağ tarafına haraket ve takım ekleniyor.
  Bu pencereyi kapatıp Solve düğmesine bastıktan sonra aşağıdaki gibi animasyonumuzu izleyebiliriz. Eğer sahnede çok fazla Delege varsa bunların birbirinin içinden geçtiğini göreceksiniz. Bu çarpışmaları önlemek için bir tane daha Avoid haraketi yapabiliriz. New diyerek yeni Avoid yaptıktan sonra sağdaki Multiple düğmesine basıp tüm delegeleri seçin. Eğer alttaki Display Hard Radius seçeneğini işaretlerseniz uçakların çevresindeki çarpışma alanını göreceksiniz. isterseniz HardRadius seçeneğini değiştirerek bu alanı büyütürsünüz böylece birbirlerinin yanından bile geçmezler. Diğer Avoid  ve Seek haraketi gibi bunuda Takım0 ile ilişkilendiriyoruz. Böylece takım0 elemanları hiçbir delegeye çarpmıyor (Burda bir anlam karışıklığı olabilir çünkü takımdaki bir delege Aynı zamanda Avoid seçeneğinde de bulunuyor ama bunun olaya  bir etkisi olmuyor.) Solve düğmesine bastığınızda artık uçakların birbirine ve gezegene çarpmadan hedefe gittiklerini görebilirsiniz. Artık uçakları hazırlama zamanı geldi çünkü delegeler render sırasında görünmüyorlar. mecburen bir cisim çiziyoruz. delege sayısı kadar uçak yaptıktan  sonra bunları yine Crowd sayesinde hizalayabiliriz.   Hizalama için aşağıdaki düğmeye basıyoruz. Gelen pencerede Objects olarak kutuları seçiyoruz. isterseniz farklı farklı uçaklar da yapabilirsiniz. Bundan sonrasının Crowd ile fazla ilgisi yok sadece uçakları Delegelere link ile bağlamaya yarıyor. Yukardaki Align ve Link düğmelerine bastıktan sonra uçaklarımız delegelerle aynı hizaya gelip link ile otomatik olarak bağlanacak.   Render etmeden önce delegeleri Hide ile gizleyebilirsiniz. Zaten renderde görünmüyorlar. New düğmesini kullanarak farklı haraketleri istediğiniz cisimlere ekleyebilirsiniz. Daha sonraki bir derste de Biped ile Delegeler arasındaki ilişkiyi inceleyeceğiz. Crowd içindeki bazı haraketlerin Türkçe karşılığı

Avoid: Bir cisim yada cisim grubundan sakınma.
Seek: istenilen bir hedefi arayarak haraket.
Orientation: Delegelerin rasgele haraketi diyebiliriz.
Path follow: Tanımlı bir yolda ileri geri veya devamlı gidebilirler.
Repel: Seek haraketinin tersi diyebiliriz, delegeleri iten bir kuvvet.
Scripted: Kendi yazdığınız koda göre haraket sağlar.
Space warp: Rüzgar, Yerçekimi gibi space warpların etkisini sağlar.
Speed vary: Rasgele hızlarda haraket sağlar.
Surface arrive: Seek gibi, fakat hedefe ulaşınca durmalarını sağlayabilirsiniz.
Surface Follow: Delegelerin yüzeyde kalmasını sağlar, sudaki tahtalar gibi.
Wall Repel: Delegeleri istenen bir grid cismine çarpmaktan korur.
Wall seek: Grid objesi ile seek olayı.
Wander: Rasgele yönlere haraket sağlar.

iyi çalışmalar...

Ekleyen: drekon

Teşekkürler
KEMALBUDAK34KEMAL BUDAK

Değerli paylaşım için teşekkürler


https://kemalbudak.tumblr.com/
2012-12-04 10:22:55
  • Offline
  • Erkek

Kapalı

Topic closed automatically because it`s been more than a year!