Blog Yazıları

Unity Temel Component'ler

Unity içinde bilinmesi gereken bazı temel component'ler vardır. Bu component'ler sık kullanılan component'ler arasında gelmektedir. Bunlar hakkında kısaca tanımlamalar yapalım:
  • Collider: Nesneler üzerinde fiziksel olarak belli sınırlamalar tanımlama için kullanılır.
  • Audio Source: Nesne için ses özelliği getirir.
  • Renderer: Nesnelerin render edilmesinde sorumlu component.
  • Rigidbody: Nesneye gerçek dünyayı taklit etmek suretiyle fiziki özellikler veren component. Örnek olarak, nesnenin belli bir ağırlığı ve yerçekime bağlı olması gibi.
  • Animator: Nesne için animasyon özelliği sağlayan component.
  • Audio Listener: Ses verisi almaya dayalı bir component.   
  • Light: Nesneyi bir ışık kaynağı olarak kullanabilmek. Bu ışık kaynağının özellikleri programcıya bağlı olarak değişebilir.
Devamını Oku »

Unity Çalışma Mantığı

Hierarchy paneline bakılırsa, SampleScene adında örnek bir sahne eklenmiş olarak yeni proje başlatılmış. Bu sahne içerisinde Main Camera adında bir object var. Main Camera nesnesine çift tıklanırsa aşağıdaki gibi bir görünüm olacaktır.
Unity Çalışma Mantığı
Main Camera Etkin Olduğunda
Yukarıda görüldüğü gibi, sahneden biraz uzaklaşmakta bir beyaz çizgili bir dikdörtgen yapısı görünmektedir. Bu çizgi içerisinde kalan dikdörtgen alan viewport, yani oyuncunun oyunu oynarken göreceği alanı göstermektedir.

Çizgi üzerinde duran dört tane küçük beyaz kutucuklardan birisini imleç kullanarak viewport boyutunu ayarlayabiliriz.

Scene panelinde zoom-in ve zoom-out yapmak için mouse scroll ya da Alt + RMB kullanmak yeterlidir.

Bir sahneyi içinde yer alan nesneler oluşturur. Bu nesnelere GameObejcts denir. GameObject olarak kastedilen şeyler, bir GUI, NPC, butonlar, ses kaynakları gibi birçok şey olabilir.

Bir diğer bilinmesi gereken kavram ise component kavramıdır. Component sayesinde GameObject'lerin sahnede nasıl davranması gerektiği ayarlanabilir. Component'e örnek olması amacıyla, eğer Main Camera nesnesine tıklarsanız Inspector panelinde çeşitli ayar segmentleri görülecektir.

Inspector panelini incelersek, ilk olarak nesne hakkında genel bazı ayarlar mevcut. Sonrasında ise Transform adında bir component. Bu component neredeyse tüm nesnelerde bulunmaktadır. Component içerisinde üç temel ayar bulunmaktadır. Bunlar sırasıyla; position, rotation ve scale.
  • Position: Nesne konumunu temsil eder.
  • Rotation: Nesnenin bulunduğu konuma bağlı olarak aldığı açıyı temsil eder.
  • Scale: Nesne boyutlandırmasını temsil eder.
Var olan component'ler dışında farklı isteğe bağlı component'ler, Add Component ile eklenebilir.

Aşağıdaki grafik, GameObject ve component kullanımını daha iyi bir şekilde özetleyecektir.
GameObject ve Component Mantığı
GameObject ve Component Mantığı
Devamını Oku »

Unity Geliştirme Ortamını Tanıma

Unity oyun motorunda geliştirme yapmadan önce, onu tanımak gereklidir. Bunun için bir proje oluşturulup, sonrasında bölümleri kısaca inceleyelim. Bölümler aşağıda listelenmiştir:
  • Hierarchy
  • Scene
  • Inspector
  • Project
Bu dört bölüm, en başta bilinmesi gereken bölümlerdir. Bunun dışında başka pencereler de mevcuttur.
Unity Ekran Görüntüsü
Unity Ekran Görüntüsü
Sarı renkte gösterilen panel Hieararchy bölümüdür. Bu bölümde oyun nesneleri ve sahne değişkenleri yer almaktadır. Bir nesne eklemek istersek bu kısma sürükle-bırak yapmak yeterli olacaktır.

Kırmızı renkte gösterilen panel oyun sahnesinin yer aldığı Scene panelidir. Oyunun nasıl görüneceğine bu panelde karar veriyoruz. Gerektiğinde yan sekmede, Game sekmesi, oyunun nasıl göründüğünü önizleyebiliyoruz.

Turuncu renkli kısımda Inspector olarak adlandırılmaktadır. Bu kısım için ayarlar kısmı diyebiliriz. Daha net olmak gerekirse, bir oyun nesnesine ait spesifik ayarlar bu panel üzerinden gerçekleştirilecektir. Örneğin, bir nesnenin yer çekimine duyarlı olmasını istiyorsak, bu ayar Inspector panelinden gerçekleştirilmelidir.

Alt kısımda yer alan, mavi renkli bölge, Project sekmesidir. Bu kısımda varolan projenin dosyaları yer almaktadır. Bu kısımda asset denilen, oyun görüntü dosyalarını vs. ekleyebiliriz. Aynı zamanda font, ses ve texture dosyaları da buradan eklenip, görüntülenebilir.
Devamını Oku »

auto - C++11

auto, C++11 standartı ile gelmiş bir özelliktir. auto ile tanımlanan değişken belli bir tipe sahip olmamaktadır. Değişken tipi verilen veriye göre belirlenmektedir.
auto x = 4;
Yukarıdaki koda göre, x değişkeninin veri tipi integer olmaktadır, çünkü atanan değer bir integer. Eğer char tipinde bir değer atasaydık o zaman değişken tipi char olarak belirlenecekti.

auto ile yapılabilecekler bununla da sınırlı değil. Bir lambda fonksiyonunu auto değişkenine atayabiliriz. Sonrasında o auto değişkeni bir fonksiyon olarak kullanabiliriz.

Peki neden auto kullanılmalı? Bunun en büyük sebeplerinden bir tanesi, yazılması uzun olan veri tipleri ile alakalıdır. Bu sayede kodun okunabilirliği arttırılmış oluyor.

Ancak dikkat edilmesi gereken bazı noktalar var. Bunlardan birisi, auto değişkeni değer atama olmadan tanımlanamaz. Mutlaka en başta bir değer atanmalı. Bir diğer husus ise auto değişkeni başlatıldıktan sonra değeri değiştirebiliriz, ancak değişken veri tipi değişemez.
Devamını Oku »

Vektör

Vektör, birçok anlama gelmekle birlikte genelde geometrik durumlarda kullanılmaktadır. Grafik programlamada vektörlerin belli bir boyutu vardır. Vektörler aynı zamanda boyutlara sahiptir. Örneğin, iki-boyutlu vektörler, üç-boyutlu vektörler vs. Genelde kullandığımız vektör boyutları 2 ile 4 arasında değişmektedir.

Geometrik olarak, vektör iki kavramdan oluşmaktadır. Uzay içinde konum ve yön kavramlarıdır. Bir vektörün konumu onun uzaydaki yerini belirtir. Ayrıca vektör, yön olarak tayin edilebilir.

Vektörler, sayısal olarak temsil edilebilir. Örneğin, iki boyutlu bir vektör iki tane sayı ile temsil edilebilir. Yani vektörler, her boyut için bir sayı dizisidir.

Bir vektör içinde yer alan her sayı değerine bileşen(component) denir. Örneğin, bir vektörün ilk bileşeni X bileşenidir. İkinci bileşeni Y ve üçüncü bileşeni ise Z’dir. Dördüncü bileşen ise W olarak adlandırılır.

Vektörleri, yazıya dökerken şu şekilde belirtebiliriz.

(2, 6, 3);

yani;

x = 2
y = 6
z = 3

şeklinde düşünebiliriz. Ancak eğer oları bir denklem parçası olarak yazmak istersek, aşağıdaki gibi olmalı:


Devamını Oku »