Her işin muhakkak bir teorik yanı var ve teori, kendi üzerinden pratik sonuca ulaştırır. Yalnız oyun geliştirmenin teorik yanı, diğer bazı dallara göre sanki biraz ağır basıyor; çünkü teoriyi bilmeden bazı şeyleri anlamak çok zor.
Şimdi oyun geliştirmeye ilişkin herkesçe bilinen bir takım "temel" teorik kavramlara ve bunların anlamlarına değinmeye çalışacağım.
KOORDİNAT SİSTEMİ Oyunlarda görülen 3B nesnelerin hepsinin konumlandığı, döndüğü, hareket ettiği vs. bir 3B alan vardır. Bu 3B alan, koordinat sistemi olarak bilinir. 3B lafından da anlaşılacağı üzere 3 boyutludur. x, y ve z eksenlerinden oluşur.

Yukarıdaki şekilde, DirectX in (daha doğrusu Direct3D nin) kullandığı koordinat sistemi yapısı görülüyor. Lisede 3B geometri gördüyseniz ve koordinat sistemine ilişkin, hatırınızda birkaç şey kalmışsa, dikkatinizi birşey çekecektir: z ekseninin yönü. Bu tip koordinat sistemine Left-Handed (yani Sol-El) koordinat sistemi denir. Sol elinizi, baş parmak ileri bakacak şekilde tam olarak açtığınızda, diğer parmakların baktığı yön +x, avuç içinizin baktığı yön +y ve başparmağın baktığı yön ise +z eksenini gösterir. Bu koordinat sistemine monitörünüzden bakıyorken, x ekseni ekranınıza paralel olduğunda z ekseni, ekrandan uzaklaşan eksendir.

VERTEX Vertex (vörteks diye okunur, çoğulu da Vertices (vörtisız)), bir 3B ortamın en küçük geometrik elemanıdır. Bizim bildiğimiz NOKTA ile eşdeğerdir; fakat bazı farklar içerir. 3B ortamda 4 koordinatla temsil edilir: x, y, z ve w. w bileşeniyle şimdilik ilgilenmeyeceğiz; daha sonraki çalışmalarda işimize yarayacak. Kafa karışıklığı olmaması açısından x, y ve z ile ilgileneceğiz. Bir Vertex sadece xyzw koordinat bileşenlerinde oluşmaz. Koordinatlarından ziyade Diffuse (renk), Normal (yani Dikme vektörü) ve UV çiftleri (texture döşeme koordinatları, ilerde değineceğiz) gibi parametreleri de vardır; bu parametreler kod içerisinde, gerektiğinde tanımlanır ve kullanılır.
 Yukarıdaki şekilde x bileşeni 1, y bileşeni 4 ve z bileşeni de 3 olan "Siyah Diffuse renkli" bir P noktası var. Bunu temsil ederken P (1, 4, 3) ibaresi kullanılır. Renkten de bahsettim; çünkü 3B nesneler noktalardan oluşur ve nesneleri renkli kılan, nesnelere ait Vertexlerin rengidir.
LINE Çizgi anlamına gelen bu sözcüğün geometrideki anlamı da aynıdır. Vertex'in kendisi 3 koordinat ekseninin tüm parametrelerini içermesine rağmen boyutsuzdur. Ama vertexler kullanarak en fazla 3 boyutlu geometrik elemanlar elde etmek mümkündür. İşte bunlardan ilki "line"dır, tek boyutludur ve yalnızca 2 vertex'ten meydana gelir. Eukleides (Öklid)'in de dediği gibi: "2 noktadan yalnızca 1 doğru geçer".
FACE Vertexleri kullanarak meydana getirebileceğimiz en küçük 2 boyutlu yapı olarak bilinir, yani bizim bildiğimiz üçgene karşılık gelir. 3B nesneleri "3B" yapan şey, vertexlerin meydana getirdiği "face"lerdir ve içi renkle doldurulabilir en küçük yapılardır (vertexler renklendirilebilir ama boyutsuz oldukları için içleri renkle dolmaz).
POLYGON (ya da POLY) 3B nesneleri 3B yapan şeyin faceler olduğunu söylemiştim. Bütün 3B nesneler üçgenlerden meydana gelir. Bir üçgen, en fazla 3 farklı üçgen ile komşu olarak farklı geometrik nesneler meydana getirir. İşte bu meydana gelen geometrik yapıların her biri "polygon", yani çokgen olarak bilinir. Bu çokgenlere örnek olarak Kareyi göstermemiz gerekse, bunun, hipotenüslerinden komşu olan 2 ikizkenar dik üçgenden oluştuğunu söyleyebiliriz. Örneğin aşağıdaki şekilde, düzgün olmayan bir beşgenin üçgenlerden nasıl meydana getirildiğini görebilirsiniz:

MESH En önemli kavram olan Mesh (meş diye okunur), bağımsız olarak kontrol edilebilen, başlı başına bir 3B modeli temsil eder. 3ds max, Milkshape, Maya gibi programlar yoluyla çizdiğiniz 3B modeller, örneğin bir insan, araba vs. modelleri "Mesh" adını alır. Mesh'ler bağımsız olarak kontrol edilebilir, yani bir mesh'i yerinden oynattığınızda, o mesh'e ait tüm vertexler de mesh ile beraber hareket edebilir.
Gelecek yazımda renklendirme elemanları ile devam edeceğim.
|