9 Nisan 2012 Pazartesi
Softimage ICE - Ders Notları - 01
Merhaba,
Çok bilinen/kullanılan bir program olmamasına, autodesk'in de bu durumu değiştirmek için en ufak çabası olmamasına rağmen Softimage oldukça güçlü, modern araçlar içermektedir. Bunlardan en yenisi is 7 sürümüyle birlikte lansmanı yapılan ICE eklentisidir. Yine maalesef çok fazla kaynak yok bu konuda, digital tutors ve i3dTutorial gibi eğitim sitelerinin derleri de yetersiz kalıyor maalesef. Oturup deneye yanıla bir şeyler yapmaya bakıyor iş. Tekbaşına da zor oluyor haliyle. Bu yüzden bu başlık altında kendi çalışma notlarımı paylaşmaya karar verdim. Belki konu ile ilgili birileri de katılımcı olur ya da en azından ICE 'a ilgi duyan birilerine de yardımcı olurum/oluruz.
Başlayalım o halde.
Softimage ICE, node tabanlı bir vfx arayüzüdür. Birçok açıdan Houdini'ye benzediğini söylenebilir ( ..pek emin değilim ama !? ). ICE ile parçacık animasyonları ( su, ateş vb. ), rigged body, soft body, cloth ve son 3 versiyonu ile birlikte Topology ( procedural modelling ) ve bunlara bağlı animasyonlar da yapılabilmektedir. Hatta yine birkaç sürüm öncesinde eklenmiş olan rigging kısmı da, klasik bone sisteminin yerine geçebilecek araçlar sunmaktadır.
Peki bütün bunlar nasıl yapılır ?
ICE Tree ( node bağlantılarının tümü ) temelde 3 kısıma ayrılır.
1 - Getters : Veriyi ICE Tree'ye almak için kullandığımız node'lar
2 - Modifiers : Alınan veriyi değiştirmek için kullanılan nodelar.
3 - Setters : Değiştirilen veriyi objeye göndermek için kullanılan node'lar.
Yani yapılan iş, veriyi alıp, işleyip geri göndermekten başka bir şey değil. Böyle söyleyince kolay görünüyor ama asıl önemli olan şey bu verilerin cinsi ve veriyi bir cinsten başka bir cinse çevirmek. Burada işler biraz karışıyor. Şöyle bir arayüze bakalım.
Explorer'dan "sphere" objesini sürükleyip, ICE Tree'ye bırakınca sol üstteki "Get sphere" nodunu elde ediyoruz. Şimdi, objeyi ICE Tree'ye aldık, ama hangi özelliğini kullanacağımızı daha belirtmedik. Bunun için soldan ikinci olan "Get Data" noduna bakalım. Her nodun sol tarafındaki slotlar veri girdisi ( Input ) için, sağ tarafındakiler ise veri çıktısı ( Output ) için kullanılır. "get Data" nodunun Input kısmında "Source" ve "In Name" slotu bulunmakta. Ayrıca get nodu kırmızı durumda. Yani bize eksik birşeyler olduğunu söylüyor.
"Get Data" noduna çift tıkladığımızda özelliklerine giriyoruz ve buradan hangi "veriyi almak" istediğimizi seçiyoruz. 2 tane opsiyonumuz var, ya ilgili boşluğa o veriyi yazmak ya da "Explore" a tıklayıp çıkan menüden istediğimiz veriyi seçmek.
Şimdi Get Data nodu değişti ve Get .pointPosition halini aldı. Ayrıca daha önce siyah olan "Value" Portu sarı rengine dönüştü. Tam da bu noktada Bu renklerin ne anlama geldiği konusuna değinmek istiyorum. Tabiki hepsi değil, ama en azından data çeşitleri ve bunların renk kodlarına değinmek gerekiyor.
Scalar Data ( Açık yeşil ) : Tek veri taşıyan veri türü. Örneğin XYZ uzayında sadece X aksisi. Bu veri türü virgüllü sayıları da kapsar. ( 1,316 gibi )
3D Vector Data : Bu veri türünde ise 3 tane veri taşınmaktadır. Örneğin, XYZ uzayında bir objeniz var diyelim. Ve bu obje X ekseninde : 2.5 , Y ekseninde : 3,6 Z ekseninde de : -4,5 noktalarında olsun. 3D Vector ile objenizin konumu şu şekilde görünecektir: 2.5,3.6,-4.5.
Boolen Data ( Açık turuncu ) : 1 ya da 0 verisini taşır. Genel de mantıksal durumlarda kullanılır ( TRUE, FALSE ).
Siyah : Input'dan gelen data hangi tür ise outputtan da aynı tür olarak çıkar.
Şimdi örneğimize geri dönelim. Get .pointPosition nodunun Value çıktısı sarı renkte. Yani sphere objesinin herbir vertex(point)i XYZ aksisinde belirlenmiş olarak kullanılır durumda. "Value" değerini "Add" nodunun "Value1) Inputuna bağlıyoruz ve siyah olan portlar anında sarıya dönüyor. Artık Add nodundaki "Value2" değerine girdiğimiz her değer de "vector data" olmak zorunda.
Value 2 portuna birşey bağlı olmadığı için, Add noduna çift tıkladığımızda XYZ koordinatlarını ayarlamamız için sliderlar çıkıyor. Bunlarla oynayarak objemizi oluşturan bütün vertexlerin yerlerini aynı anda değiştirebiliriz. Yanlız burada dikkat edilmesi gereken şey, objeyi oje olarak değil bütün vertexleri aynı anda transfor ettiğimiz için yerninden oynatabiliyoruz. Tabii şu anda bu ICE Tree'miz çalışmıyor, çünkü daha birbirine bağlanacak nodelar var.
Üstteki node dizilişinde Add nodunu Set Data noduna bağlamış olmamıza rağmen, Set Data nodu hala kırmızı. Bunun nedeni hangi veriyi "Set" edeceğini bilememesi.
Bir alttaki node dizilişine baktığımız zaman burada ise "get pointPosition" nodunun out nameinin "Set Data" nodunun "in name" noduna bağlı olduğunu görüyoruz. Ve böylece Seta data nodumuz maviye dönüyor. Ve Set Data nodumuz vertex pozisyonlarını set edeceğini biliyor. Ardından "Set Data" nodunun "Execute" output'unu ICE Tree nodunun "Port1" ine bağlıyoruz.
Böylece ilk ICE Tree'mizi oluşturmuş olduk. Add noduna çift tıklayıp XYZ değerleri ile oynayarak objemizin yerini ICE ile değiştirebiliriz artık.
Biliyorum çok fazla iş yaparak minik bir sonuç elde ettik ancak, böyleceICE'ın çalışma mantığını kavrayabileceğimiz önemli bir adım atmış olduk.
İleride görüşmek dileğiyle.
Emin
30 Aralık 2011 Cuma
23 Aralık 2011 Cuma
21 Aralık 2011 Çarşamba
18 Ağustos 2011 Perşembe
Atari Salonuna Geri Dönüş
Hatırlarım, ilk okuldan kaçma maceramı ilkokul 5. sınıfta arkadaşım Murat ile atari salonuna giderek yapmıştık. Sene 1993 'tü galiba. O günden üniversiteye girene kadar da aynı salona devam ettik. Hatta ailem bu alışkanlıktan kurtarmak için beni eve commodore 64 almışlardı. Şu an bilgisayarla bu kadar içli dışlı olmamı bu eski atari makinalarına borçlu olduğumu söyleyebilirim rahatlıkla.
Ne güzel olurdu şöyle bir tanesi evde olsa diye düşünürdük. Gerçekleşmesi pek mümkün değildi tabii ozamanlar. Ama şimdi zamanı geldi.
Arcade emülatörlerini bilmeyen kalmamıştır heralde. Küçük rom dosyalarını çalıştıran fantastik programlar. Ama bilgisayar klavyesinden oynayınca okadar eğlenceli olmuyor bu oyunlar. O yüzden imkan var ise bunlardan bir tane edinilmeli.
Yaklaşık iki aydır internetten bakınıyorum. Baya meraklısı varmış bu işin, o yüzden işim biraz daha kolay. İlk başta kendi modelimi kendim çizeyim dedim ki çizdim. Ama daha sonra kabinin kesim sürecinde problem çıkacağı ortaya çıktı. Bizdeki marangozlar koltuk, sandalye, masa vs. ürettiği için bu gibi işlere pek sıcak bakmıyor, sorun çıktığı zaman çözme eğiliminde olmuyorlar. O yüzden internetten teknik çizimleri eksiksiz kabin planları buldum. Hazır modelin üstünden gitmek daha mantıklı şu durumda. Şu adresteki teknik çizimden yararlanmayı düşünüyorum. Elvis's Arcade Cabinet olarak biliniyor ve birçok kabin yapan kişi bu çizimlerden yararlanmış. Sitesine de şurandan ulaşılabilinir.
Planlar hazır olduğuna göre artık diğer bir konu olan kontrol arabirimine geçebiliriz. Kontrol arayüzü için 2 adet metod var. Aslında 3 tane var ama biri diğerinin farklı bir versiyonu. Emülatörü 2 şekilde kontrol edebiliriz. Bunlardan biri klavye bir diğeri ise joypad. Klavyeden kontrol için klavyeyi söküp içine bazı ayarlamalar yapmak gerekiyor. Ancak 100'den fazla tuşu olan bir aletten bahsediyoruz burada. Elinizde havya (lehim aleti) birsürü kablo ile uğraşırken, işerin kontrolden çıkması çok kolay olabilir. İşte bu yüzden J-Pac adında bir devre kartı geliştirilmiş. Üstünde giriş pinleri var ve direkt olarak butonları buralara bağlayabiliyorsunuz.

Tabii bu parçayı yurtdışından getirmeniz gerekiyor. Fiyatı da kargo masraflarıyla biraz pahalıya maloluyor.
Ben ise diğer yöntem olan joypad hacking yöntemini kullanmaya karar verdim. Piyasada 10-15 tl gibi bir fiyata playstation joypad'i görünümlü joypadler var. Pek kaliteli değiller ama bize içindeki kontrol devresi gerektiği için bu bir sorun teşkil etmiyor.

İşe başlamadan önce gerekli olan malzemeleri yazayım.
- İnce uçlu havya
- Lehim teli
- Sıcak silikon tabancası
- Bolca ince kablo
- multimetre ( şu elektrik ölçmede kullanılan hesap makinasına benzeyen alet )
- Pense, kargaburun, yankeski, maket bıçağı

Sarı ile işaretlediğim yerlere dikkat edin. Burada bir yuvarlak yüzey var ve bunlar 2'ye bölünmüş. İşaretli olmayan diğer yarısı topraklamayı sağlıyor ve bunların hepsi birbirine bağlı. Böylece lehimleme işi yarıya iniyor. Sadece işaretli olan yerlere lehimleme yapıp bir tane topraklama için lehimleme yapmamız yeterli. Yani 4 tane d-pad için, 4 tane sağ tuş takımı, 4 tane öndeki tuşlar için, 1 tane de topraklama için. Toplamda 13 tane, 24 değil. Yuppi. Bu arada lehimleme yapacağınız alan siyah iletken bir madde ile kaplı. Sivri uçlu birşeyle yavaşça kazırsanız alttaki bakır yüzeye ulaşabilirsiniz. Ama çok bastırmamak lazım, çünkü bakır yüzeyi de yerinden çözebiliriz.
Sol tarafı lehimledim. Şu şekilde gözüküyor;

Burada dikkat etmek gereken şey, kesinlikle lehimin, yuvarlağın diğer tarafına kaçmaması. Bir de daha düzgün durması için mavi ile işaretli olan yerlerdeki deliklerden geçirdim kabloları. Size de böyle yapmanızı tavsiye ederim. Ayrıca kırmızı ile işarekleriğim yerlerle lehim yapacağım yerler birbirine bağlantılı. Bu kısımlardan lehimleme işlemini doğru yapıp yapmadığımızı multimetre ile kontrol edebiliyoruz.

Son olarakta lehimlediğim yerleri ve devrenin altında kalan yerleri sıcak silikon ile silikonladım. Bölyece daha sağlam oldu. Bu arada ön kontrol devresinde bir tane lehimlenmiş yüzey görünüyor. Oraya bir tane daha kablo bağladım daha sonra. Boş olmasına aldırmayın.
Kaydol:
Kayıtlar (Atom)








