3D’ye Giriş
Bir objenin 3 boyutlu görünümü her zaman 2 boyutludan daha fazla ilgi çekmiştir. Diğer taraftan görsellik adına yapılan her işlem gerçekçiliği biraz daha yaklaştıkça, daha fazla ilgi görüyor. Tabii burada işin bir bölümü 3’cü boyuta düşüyor. Peki, nedir bu üçüncü boyut(3D)?
Flex veya Flash içerisinde bir objeyi oluştururken objeyi konumlandırmak için x ve y koordinatlarına belirli bir değer girilir. Girilen değerler objenin belirli bir düzlemde yerini belirlemektir. Yani bir kare çizip bu karenin x ve y özelliklerine verdiğiniz değerler bu objenin sahne üzerindeki konumunu belirler. Üçüncü boyut ise objenin sahne üzerinde oluşturduğu derinliktir, bu özelliğe verilen isim ise z boyutudur. Yani objenin z özelliğine verilen değer objeye derinlik katarak yapay bir üçüncü boyut oluşturur. Yukarıdaki açıklamayı şu şekilde de düşünebilirsiniz,
x = yatay
y = dikey
z = derinlik (hem içeri, hem dışarı doğru)
3’cü boyut temelde bundan ibarettir. Tabii burada anlatılacak birçok detay var ama hepsini peşinen vermek bu işlemi zorlaştıracaktır. Bunun yerine örneklerle devam edeceğim. İlk olarak bir objeyi kendi ekseni etrafında nasıl döndüreceğimize değineceğim.
Her ne kadar 3D’nin Flash Player üzerinde kullanımı daha öncelere dayansa da esas yapı Flash Player 10 ile kurulmuştur. Objeyi kendi etrafında döndürmek için Flash Player 10 ile yeni gelen 3 özelliği kullanacağız; rotationX, rotationY, rotationZ. Bu özellikler objenin x, y ve z eksenlerin dedönmesini sağlayacaktır. Aşağıda bunun basit bir örneği yer almaktadır. Kullanılan kod ise gayet basit, yapmanız gereken tek şey obje adından sonra yukarıdaki herhangi bir özelliğe değer vermek olacaktır.
Tabii yukarıdaki gibi düz kare olunca pek bir şeye benzemiyor. Yukarıda kullandığımız özelliklerin aynısını birde bir resim üzerinde nasıl kullanılabileceğine denemek için aşağıdaki örneği oluşturdum. Slider componentleri yardımı ile resmi kendi ekseni etrafında döndürebilirsiniz. Yukarıdaki örnekten daha iyi gözüküyor.
Görüntü objelerine ait olan ve kullanmadığımız özellik ise z özelliği. Burada bu özelliği denemek için sahneye rastgele harfler ekleyeceğiz. Eklenen harfleri bir Sprite objesinin içerisine toplayıp, harflere tıklandığında tüm harflerin hareket etmesini sağlayacağız. Eğer ActionScript kullanıyorsanız buradaki kodlara zaten yabancı değilsinizdir. Kullanmadığınız tek özellik ise z yani objenin derinliğini belirleyen değerdir.
Örnekte oluşturulan harflere rastgele pozisyonları Math sınıf yardımı ile veriyoruz.
-
txtField.x=Math.random()* 450;
-
txtField.y=Math.random()* 300;
-
txtField.z=Math.random()*1000;
Daha sonra her bir harfe olay dinleyicisi ekliyoruz, bu sayede her bir harfe tıklandığında gereli işlemi yapabiliriz;
-
tfHolder.addEventListener(MouseEvent.MOUSE_DOWN, moveHolder);
Son olarak ta moveHolder() fonksiyonunu hazırlıyoruz. Fonksiyon içerisinde yaptığımız tek işlem tıklanan objenin pozisyonuna göre ana taşıyıcının konumlandırmasını yeniden yapıyoruz, böylece tıklanan harf sahnenin ortasına geliyor.
-
function moveHolder(e:Event):void {
-
Tweener.addTween(holder,{time:0.75, x:-e.target.x+275, y:-e.target.y+200, z:-e.target.z+100});
-
}
Kodların sonucu ise şu şekilde olacaktır.
Kapanış
Flash içerisinde 3 boyutlu görseller hazırlamak Flash Player 10 ile basit bir hal aldı. Tabii buradaki yapının tamamı bu kadar değil. Bir sonraki makalelerde ise focalLength ve fieldOfView gibi özelliklerin 3 boyutlu objeler üzerindeki etkisine değineceğim.
Kaynak Kodlar
http://enginyoyen.com/blog/tr/wp-content/uploads/2009/05/3dyegiris.rar
Kolay Gelsin
Engin!
One Response to “3D’ye Giriş”
Leave a Reply


z eklemesi 3d motorlarına olan ihtiyacı karşılıyamadı ne yazık ki… isteseler yaparlar, belki de açık kaynak mantığını ayakta tutmaktır amaç..