beğenmedimbeğendim (+5 puan almış, 2 kişi oylamış)

papervision 3d kavramları

kategori: yazılar
tasarlabi yazmış,

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 :).

( öncelikle kaynak )

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

Hazırlayan: Tuncay Özbal  (TUNCAYS)


« çalışmalarınızı tortoiseSVN’de depolayın   |   adobe air baÅŸlangıç »



Yorumlar

Kullanıcı girişi yaparak ya da zorunlu olan * alanlarını doldurarak yorum yapabilirsiniz.

İsminiz *

Email adresiniz *

Web sitesiz

Mesajınızı buraya yazabilirsiniz:

Toplam 1 yorum var.

  1. Zihni BABUZ | 11 Eylül 2008, 18:03

    Tuncay hocam bilgiler çok yararlı teşekkürler:]