Dersler RSS Ders : 3D

Profili Göster

Flash ve 3D Programlama: Papervision 3D Kavramları

Tuncay Özbal Tarih: 7/09/2008 Yorum: 3 adet

Okunma : 1524 Tutanlar: Bu yazıyı 6 kişi tuttu.

Papervision kullanımını anlatmaya çalışacağım bu ilk dersimizde konuya basit ve yumuşak bir giriş yapacağız.

Papervision nedir? Papervision; Actionscript tabanlı açık kaynak runtime bir 3DEngine dir. 3D sahne anlık olarak kullanıcının bilgisayarında hesaplanır.İstersek kullancının klavye veya mouse undan aldığımız bilgilerle etkileşimli sahneler oluşturabiliriz.

Tabiki bu işi yapan başka bir çok Engine daha vardır.(Away3D,Sandy,Alternativa…) Ancak döküman ve kaynak bakımından Papervision tercih sebebidir.Bir çok blog sitesinde açık kaynak projeleri inidirip inceleyebilirsiniz.Bu konuda hazırlanmış makaleleri okuyabilirisniz ancak Türkçe kaynak bulma şansınız pek olmayacaktır.Zaten bu makalenin yazılma nedenide bu :).

Papervision a başlamandan önce biraz 3D Engine ve 3D sahne nedir nelerden oluşur bunlardan bahsedelim.

3D Engine Kavramına Giriş:

Bir buçuk saatlik Shrek gibi bir filmin render edilmesi (render:hesaplamak.ışık,gölge, parlama vs gibi olguları matematiksel hesaplamalar ile grafiğe dönüştürmek) günlerce hatta haftalarca sürmektedir. Hatta tek bilgisayarda değilde onlarca bilgisayarda.Ancak Fifa2008 gibi bir oyunu 6 saat aralıksız hiç bir bekleme yapmaksızın 3D bir sahnede oynayabiliyoruz.Hemde mouse ve klavye etkileşimli olarak.

Böyle düşününce çok şaşırtıcı gelebilir.Ama durum şudur:

Film bir kez hesaplanır ve gösterilir.Dönüştürülen format artık bir izleme formatıdır(video veya resim).Bunun için inanılmaz detaylı hesaplanırve hiç bir performanstan kaçınılmaz.Örneğin karakter ormanda ilerlediği bir sahne hesaplanıyor.

Bakış açımızdan sadece karakter ve 5 ağaç görünüyor. Bu sahne film için hesaplanıyorsa sadece 5 ağaç değil tüm orman baştan aşağı hesaplanır. Bu yüzden bu tür film ve animasyonlar onlarca farklı sahnede ayrı ayrı tasarlanıp hesaplanır.

Gelelim 3D Grafik motorlarına.

Burda her hesaplama yeniden yapılacağından sadece 5 ağaç hesaplanır.Hatta o ağaçların kullanıcının görmediği kısımlarıda hesaplamaya katılmayarak hzı kazandırılmaya çalışılır.Eğer işlemci üzerine düşen hesaplamıyı zamanında yapamazsa ortaya garip görüntüler çıkar.Örneğin Fifa oynunu oynarken oyuncuların bacakları bazen topun içinden geçer vsvs.

Programcılarda düşük konfigürasyonlu bir bilgisayardada aynı rahatlıkla hesaplama yapabilmek adına daha akıllıca kod yazmak zorundadır.Örneğin her veri tipinin RAM de kapladığı boyut farklıdır.Bit cinsindendir ama kapsamlı bir projede bu bitler birleşerek performansı olumlu veya olumsuz etkiler.Bizde webde çalışan uygulamalar hazırlayacağımızdan bu konuya ayrıca değineceğiz.Örneğin işi biten Eventları remove etmekte performansı artıracaktır.

Papervision Temel Birimler

Vertex:3D bir sahnede vektörel en küçük noktadır.En temel olarak X,Y,Z ve doğrultusunda değeri vardır.Bu değerler vertex in koordinat sistemindeki yerini belirler.Vertexleri kullancı göremediğinden renginin,boyunun vs. önemi yoktur.

Polygon: 3 vertex in birleşmesiyle oluşan üçgendir.bu üç noktanın arasındaki alanı kullanarak 3d modeller oluşturulur.Polygonlar birlerşerek modeli, cisimi oluşturur.

Sahne: Modellerin üzerinde bulunduğu birimdir.Papervisionda sahneye obje ekleyip istersek sahneden çıkartabiliriz. Bunun addChild ve removeChild komutlarıyla yapacağız.

Viewport: Great White sürümüyle gelen bu obje MovieClip sınıfından miras alınmıştır.Bu objeninde gelmesiyle Papervision gerçek bir 3D Engine olmaya bir adım daha yaklaşmıştır. Viewport bakış açısı demektir.Ve biz sahneyi bu bakış açısına konumlandırırız.MovieClip olduğundan Flashta sahneye bu eleman eklenir.Viewport’a katmanlar ekleyerek bu katmanlara efektler verebiliriz.Efektsiz katmadan bulunmayan objeler bundan etkilenmeyeceğinden kompleks çalışmalar hazırlanabilir.

Renderer:Hesaplayıcı.Hesaplayıcı sahneyi hesaplayıp bize sunar.Papervisionda farklı farklı hesaplayıcılar vardır.Projeye uygun olanı seçip kullanacağız.

Kamera: Papervisionda bir çok kamera vardır.İlerde farklarını anlatamaya çalışacağım.Gerçek dünyadaki kamera ile aynı işi yapar.Sahnede görüntülere bakmamızı sağlar. Kamera nereye bakarsa biz onu görürüz.X,Y,Z koordinatlarında değerleri vardır.

Tüm kameralarda Zoom özelliği vardır. Bildiğimiz kameralardaki zoom ile aynı görevdedir.Görüntüyü büyütür(yaklaşır).FreeCamera gibi gelişmiş kameralarda rotationX,rotationY,rotationZ gibi dönüş açıları vardır.Bu sayade örneğin: sahneye tersten bakabiliriz veya bir obje etrafında dönebiliriz.

3DObje:Polygonlardan oluşmuş 3D cisimlerdir.Papervision ile sahneye standart bazı objeleri oluşturabiliriz.Örneğin küp,silindir,küre,düzlem vs vs. Daha kompleks modelleri bu objelerle oluşturamıyacağımızdan bazı 3D dosya formatlarını Papervision ile kullanbiliriz.Bu formatlardan bazıları: Dae,Ase,KML,Skp,Md2 dir. 3DSMax, Google Sketchup, Swift3D, Maya,Blender , … gibi 3D modelleme yazımlarında hazırlanan modeller Papervisionda çağrılıp kullanılabilir.Kısa zaman sonra Papervision un kendi modelleme yazılımı webde çalışır olacaktır. G-Nero Bu sayede sahnemizi görerek konumlandırabileceğiz.

Kaplama: Objelerin yüzeylerini kapsarlar.Görselliğin en etkin olduğu birimdir.Kullancılar bu birimi direk görürler.Bir resmi,movieclibi, videoyu, BitmapData yı, rengi kaplama olarak kullanbiliriz.Daha gelişmiş bir çok kaplama çeşidide vardır.

Işık:Gerçek hayattaki ışıkla aynı görevi yapar.Işığa duyarlı kaplamalar ile parlama vs gibi etkiler oluşturulabilir.Ya da gölge vs oluşturulabilir.Örnek

Gelelim Papervision u nasıl kullanacağımıza.

Bunun için öncelikle proje dosyalarını indirmeniz gerekmektedir.Eğer sisteminizde kurulu bir SVN programı kurulu ise http://papervision3d.googlecode.com/svn/trunk/ adresinden indirebilirsiniz.

Bu detaylı bir işlem olduğundan ben paketleyip web sayfasına koydum. Burdan indirebilirsiniz.Papervision

İlk dersimiz burada bitiyor.Dosya içerisindeki örnek projeyi inceleyebilirsiniz. anlamaya çalışmanız sizi zorlayacaktır.

Bu yüzden sadece incelemenizi tavsiye ederim. İleriki derslerde daha iyisini yapabilecek duruma geleceksiniz.

İyi çalışmalar

aç-kapa İçeriğin rss beslemesi kullanımda değil Yorumlar

Profili Göster
Orhan Veli YILDIZ 6/10/2008

Çok Güzel olmuş. Elinize sağlık. Tam ilgilendiğim bölüm. Web de 3D =) Merakla takip edeceğim. Derslerinizi.

Profili Göster
Erdoğan HANCIOĞLU 13/01/2009

Temelden işe başlayanlar(ben) için bire bir, teşekkürler Tuncay hocam diğer dersinizide okudum Sn Mehmet KARACA ile vermiş olduğunuz örnekler çok güzel. Konuyla ilgili derslerinizin devamını dilerim.(Örneğin; APIlerinde kullanıldığı örnekler)

Profili Göster
Tarık Yasin Coşkun 15/02/2009

Gayet güzel açıklamışsın tuncay eline sağlık

aç-kapa Yazarın Diğer Yazıları

Makale

İlişkili makale bulunamadı.

yeni bir tane ekleyin

Haber

İlişkili haber bulunamadı.

yeni bir tane ekleyin

yeni üyelik | şifremi unuttum

aç-kapa Yarışma 6. İstanbul Uluslararası Animasyon Festivali (IAFISTANBUL) Yarışması

6. İstanbul Uluslararası Animasyon Festivali (IAFISTANBUL) Yarışması

13-22 Kasım 2009 tarihleri arasında düzenlenecek 6. İstanbul Uluslararası Animasyon Festivali için film yarışması başvuruları başlamıştır. Herkese ...
Kategori: Yarışma

aç-kapa Yarışma Türk Kızılayı Hedef25 Ulusal Fotoğrafçılık Yarışması

Türk Kızılayı Hedef25 Ulusal Fotoğrafçılık Yarışması

YARIŞMANIN AMACI Toplumun genç yaş grubunda Kan Bağışı Bilincine ilişkin farkındalık oluşturmak YARIŞMANIN KONUSU Bir ömürlük umuttur kan SEÇİCİ K...
Kategori: Yarışma

aç-kapa Yarışma SKF Türk 7.Ulusal Fotoğraf Yarışması

SKF Türk 7.Ulusal Fotoğraf Yarışması

Konusu: 2010 yılını Avrupa Kültür Başkenti olarak kutlayacak olan İstanbul’un katılmcılar gözüyle görsel bir belgesini ortaya çıkarmak amacıyla ...
Kategori: Yarışma

aç-kapa Kongre 4. Ulusal Tasarım Kongresi: Tasarım veya Kriz

4. Ulusal Tasarım Kongresi: Tasarım veya Kriz

Türkiye’deki tüm tasarım araştırmacıları, akademisyenleri, tasarımın pozitif katkısı üzerine kafa yoran herkes "tasarım veya kriz" baş...
Kategori: Kongre

aç-kapa Yarışma 3. Uluslararası Ekslibris Yarışması: İstanbul 2010

3. Uluslararası Ekslibris Yarışması: İstanbul 2010

İstanbul Ekslibris Dernegi, Feyziye Mektepleri Vakfı ve Işık Üniversitesi, kitaplar için mülkiyet işareti olarak kabul edilen ve üzerinde estetik dege...
Kategori: Yarışma

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 248 (1 kayıtlı, 247 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

bbajed ...

Blog Bölümü Blogevi.com'a Taşınıyor

Selam arkadaşlar MMIstanbul’da , tasarımcı ve programcıların blog yazılarını "feedleyerek" MMIstanbul okurlarını MMIstanbul ...

7.500'üncü üyemiz Cem Koç!

Neler Yapılabilir?

500 Hatası Hakkında!

Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)

coldfusion mysql ubuntu