Ana sayfa Yazılım Xpresso ile Robot Hareketlerinin Kontrolü

Xpresso ile Robot Hareketlerinin Kontrolü

0
Bir önceki sayıda Cinema 4D yazılımında “Set Driver” özelliğini kullanarak  parmak, akrep kuyruğu gibi eklemli hareketlerin nasıl yapılabileceğini görmüştük. XPresso aracının olukça geniş ve yararlı kullanım şekilleri vardır. Yazılım bilgisine sahip olan arkadaşlarımız, XPresso”nun işleyiş mantığını iyi kavradıkları zaman, çok farklı türdeki animasyonları XPresso aracılığıyla gerçekleştirebilirler.
Ama daha çok modelleme ve animasyonla ilgilenen arkadaşlarımızın da anlayıp uygulayabileceği düzeyde XPresso uygulamaları, çalışmalarımızda bize bir çok kolaylıklar sağlıyacaktır.

Bu çalışmamızda XPresso aracılığıyla robot kolu, bacağı gibi parçaların nasıl hareket ettirilebileceğini uygulayarak öğreneceğiz.

 

 

Bu çalışmamızda bir insan bacağı benzeri basit bir robot bacağını silindir ve küp nesneleri ile oluşturarak işe başlıyabiliriz. Resim 1″de Robot bacağı”nın Front ve Perspektif penceresinden görünümünü görmekteyiz. Resim 2″de ise robot bacağının parçalarının koramsal dizilişinin nasıl olacağı gösterilmiştir.

 

 

İki “Null Object” oluşturalım. Adlarını “Sağ Bacak Ekseni” ve “Diz Ekseni” olarak değiştirelim. Sağ Bacak Ekseni nesnesini seçip, Functions menüsünden “Transfer” komutunu verelim. Attributes (özellikler) penceresi, Options (seçenekler) sekmesinde; Transfer to seçeneğinin yanındaki link penceresine “Kalça” nesnesini sürükleyip bırakalım. Kalça nesnesinin akis değerleri;

(pozisyonu, rotası) aynen Sağ Bacak Ekseni nesnesine aktarılmış olur. Aynı işlemi Diz Ekseni Null nesnesi ile Diz nesnesine uygularız. Resim 3″deki gibi koramsal dizini oluştururuz. Böylece sağ bacağın kalçadan ve dizden hareket ettirilmesi için bize gerekli olan dizini oluşturmuş olduk.

Yeni bir “Null Object” oluşturarak ismini “Sağ Bacak Kontrol” olarak değiştirelim. Oluşturduğumuz bu nesneyi seçerek; Object penceresinden; Tags / Cinama4D Tags / XPresso komutuyla bir XPresso tag (etiket) atarız.

Sağ Bacak Kontrol seçiliyken; Attributes penceresinde, User Data sekmesinden “Manage User Data” komutunu seçtiğimizde bir pencere açılır. Add Data düğmesine basarak istediğimiz kadar data ekliyebiliriz. kalçadan Topuğa doğru bir döndürme hareketi için (twist) Rota, bacağı yanlara doğru açmak için Bacak Yana, bacağın ileri ve geriye doğru adımı için Bacak Kontrol, Diz Kontrol, Bilek Yana ve Bilek Yukarı gibi datalar(veriler) ve girilen verileri sıfırlamak için Sıfırla adlı bir data oluştururuz.  Sıfırla verisinde; Data Type: Boolean seçilir. Diğerlerinde Data Type: Float, Interface: Float Slider seçilir.

 

 

Resim 4″de kırmızı oklarla gösterilen yerlerde her datanın ismini, Interface: Float Slider”ını (arayüzü) ayarlarız. Min ve Max değerlerini ben Unit / Percent olarak ayarladım. Eklemlerin hareket-dönme oranlarına-sınırlılıklarına göre ; Unit / Degree olarakda ayarlıyabilirsiniz. Bu ayarlar sonradan da istenilen sonucu alabilmek için değiştirilebilir.
Manege User Data penceresini kapattığımızda  Attributes penceresinde User Data sekmesinin eklendiğini ve oluşturduğumuz dataların (Float Slider) sürgüler-kaydırma çubukları biçiminde yer aldığını görebiliriz. Sürgülerdeki sarı çizgiden tutup sağa sola sürüklediğimizde veriler değişecektir ama henüz robot bacağına bir etkisi yoktur. Bundan sonraki aşamada XPresso aracılığıyla oluşturduğumuz bu kontrol sürgülerini robot bacağı ile ilişkilendireceğiz.

XPresso Tag”ın üzerine iki kere tıklıyarak, XPresso Editör (düzenleme) penceresini açalım. Sağ Bacak kontrol, Sağ Bacak Ekseni, Diz ve Bilek nesnesini tutup XPresso Editör penceresine sürükleyip bırakırız. Bu pencerede Resim 6″da sürüklediğimiz nesnelerin pencere simgesi şeklinde -sol tarafında mavi, sağ tarafında kırmızı dörtgen olan- yer aldığını görebiliriz.  Kırmızı dörtgen; verileri ileten bir arabirim görevi görürken, mavi dörtgen ise alıcı durumundadır.


 

 

 

öncelikle Robot”un bacağını kalçadan topuğa doğru “H” ekseninde döndüreceğiz. Sağ Bacak Kontrol simgesinin kırmızı dörtgenine tıkladığımızda açılan pencereden User Data /Rota komutunu verelim (Resim 7).
 

 

 

Rota verisi yanındaki kırmızı benekle pencerede yerini alır. Bu Resim 5″te oluşturulmuş olan sürgülerden “Rota” sürgüsü ile doğrudan bağlıdır.

Sağ Bacak Ekseni ve Diz simgesinde, mavi ve kırmızı dörtgene tıklıyarak, Bilek simgesinde ise sadece mavi dörtgen simgesine tıklıyarak; Cordinates/Rotation/ Rotation.H seçilir. Fare ile Rota”nın kırmızı beneğine bastırıp hareket ettirdiğimizde, kırmızı benekten bir bağlantı çizgisi çıkacaktır. Mavi beneğin üstüne getirerek bıraktığımızda bağlantı işlemimizi gerçekleştirmiş oluruz. Kalça-Diz ile Diz-bilek arasındaki dönme hareketini azaltma veya arttırmak için; XPresso editör penceresinde, boşluğa komut tuşuna basarak tıkladğımızda açılan pencereden; New Node / XPresso / Calculate / Range Mapper seçildiğinde, Xpresso Editör penceresinde Range Mapper penceresi oluşur. Range Mapper penceresini üzerine tıklayıp seçiliyken; Attributes penceresinde; Input Upper Ve Output Upper değeri “1” dir. Bunun anlamı “1” değerinde bir değeriniz varsa çıktınız da “1” değerindedir. Output değerini “-1” yaparsanız tersine bir hareket elde edersiniz. 2, 3 veya daha fazla bir değer girerseniz aynı yönde ama artan bir hareket elde edersiniz. Resim 10″daki gibi benekleri birbirine bağlıyalım. Objects penceresinde, Sağ Bacak Kontrol null nesnesini seçip, Attributes penceresinde; Rota sürgüsündeki sarı çizgiden tutup sağa sola hareket ettirdiğimizde bacağın “H” ekseninde döndüğünü görebiliriz.

 

 

önceden oluşturduğumuz diğer verileri etkin hale getirmek için; Sağ Bacak Kontrol, Sağ Bacak Ekseni, Diz Ekseni ve Bilek nesnesini yine XPresso Editör penceresine sürükleriz. Sağ Bacak Kontrol penceresinde kırmızı dörtgendeki User Data içindeki; Bacak_kontrol, Bacak Yana, Diz kontrol, Bilek Yana, ve Bilek Yukarı veri girişlerini etkin hale getiririz.

Sağ Bacak Ekseni penceresinde; Rotation.B ve Rotation.P, Diz Ekseni Penceresinde; Rotatin.B ve Global Rotation.B, Bilek penceresinde; Rotation.B ve Rotation.P seçilir ve resim 12″de görüldüğü gibi kırmızı benekler mavi beneklere bağlanır.

 

 

Attributes penceresinde; oluşturulmuş olan sürgülerin hepsi seçilerek, üzerlerine komut tuşuna basılıyken tıkladığımızda açılan pencereden (Resim 13) “Add To Hudd” komutunu verdiğimizde; sağ bacakla ilgili tüm hareket sürgülerimiz View pencerimizde belirir. Animasyon yaparken Sağ Bacak Kontrol nesnesini her seçtiğimizde bu kontrol sürgüleride belirecektir (Resim 14).

Şimdi bu sürgüleri sağa sola kaydırarak robot bacağına değişik hareketleri yaptırabiliriz (Resim 15).

 

 


Değerleri Sıfırlama :

Sürgüleri sağa sola sürüklerken verilen değerlerin hepsini kolay  bir şekilde sıfırlıyabiliriz.  Bu küçük örneği benzeri veri giriş sürgülerine uyarlıyabiliriz.
Sağ Bacak Kontrol nesnesi seçilerek yeni bir XPresso Tag oluşturalım. Var olan XPresso Tag”da da bu işlemi yapabiliriz, ama XPresso penceresi daha sade olsun diye ayrı bir Tag”da yapmayı tercih ettim. Bu Tag”a iki kez tıklıyarak XPresso Editör penceresini açarız. Sağ Bacak Kontrol nesnesini XPresso Editör penceresinin içine sürükleriz. Kırmızı dörtgenden; User Data / Sıfırla komutu seçilir.

 

 

XPresso editör penceresinde komut tuşuna basarak tıkladığımızda, açılan pencereden “Empty XGroup” seçilir (Resim 16). XGroup adlı bir boş pencere açmış oluruz. Bu pencerenin -XGroup penceresinin içine Sağ Bacak Kontrol nesnesini sürükleriz.  Bu nesnenin penceresindeki mavi dörtgene tıklayarak, User Data içindeki “Sıfırla” hariç tüm verileri sırasıyla seçeriz. XGroup penceresinin mavi dörtgenine tıklıyarak, “Enable” komutu seçilir (Resim 17).

 

 

XGroup penceresi seçiliyken, Attributes penceresinde; Active”nin yanındaki kutucuğu seçerek etkinleştirelim (Resim 18).
 

 

 

XGroup penceresinin içine komut tuşuna basılı tutarak açtığımız pencereden, New Node/Xpresso/General/Constant seçilir (Resim 19). Constant Value (değeri) “0”dır.

Resim 20″de görüldüğü gibi kırmızı benekler mavi beneklere bağlanır.Artık çalışmanızı, kontrol sürgülerini hareket ettirerek, daha sonra da Sıfırla”nın üzerine tıklayarak  test edebilirsiniz.Robot”un bir bacağı üzerine yaptığımız bu uygulamayı, diğer bacak, kollar, beden, boyun, kafa ve gözler için de uyarlıyabiliriz.

Bir sonraki uygulama çalışmamızda buluşmak üzere.

 

BİR CEVAP BIRAK

Please enter your comment!
Please enter your name here