18 Ağustos 2013 Pazar

Derslere Ara

Arkadaşlar öss nedeniyle derslere 1 yıl ara veriyorum birdahaki yaz tatiline kadar kısaca.Sitedeki tüm derslerden ozamana kadar faydalanabilirsiniz ancak yenisi gelmeyecektir.Birdahaki yaza bomba gibi başlayıp bir video serisi çekmeyi planlıyorum haydi sağlıcakla kalın kendinize iyi bakın takipçilerim görüşmek üzere.

UNİTY3D HAKKINDA SORULARINIZI FACEBOOK SAYFAMIZDAN SORABİLİRSİNİZ ARKADAŞLARIMIZ YANITLAYACAKTIR.

https://www.facebook.com/groups/unity3dplatform/

5 Ağustos 2013 Pazartesi

Arraylara Giriş Ders 1

Bugün unity3d array kullanımı üzerine temelden birkaç bişey anlatacağız.

Öncelikle array oluşturmayı görelim değişken belirler gibi array açabiliyoruz.

var ilkarray = new Array();

Böylece içinde hiçbir değer bulundurmayan bir array oluşturmuş olduk.arrayları bir değişken gibi düşünebilirsiniz tek farkı içinde birden çok değişken barındırıyor olması ve bunlara ulaşmak için 0 dan başlayarak [] bu işaretlerin içine sayılar yazmaktır.Örnek olarak;

// ilk olarak arrayın ne kadar eleman barındırıcağını belirleyim 5 tane olsun
ilkarray.length = 5;

// şimdi arrayın ilk elemanını belirleyelim

ilkarray[0] = "Hello world"; 


Evet gördüğünüz gibi ilk elemanı belirlerken [1] yazmadık 0 yazdık çünkü arrayların değerleri 0 dan başlar.Böylece ilkarray.[x] şeklinde x e değer vererek atamalar yapabilir bunları istediğiniz yerde kullanıp değiştirebilirsiniz.Arraylar programlamaya başlarken gereksiz gibi gözüksede programlamanın temel parçalarından biridir ve çok gereklidir.

4 Ağustos 2013 Pazar

PlayerPrefs Sınıfı

Arkadaşlar bugün oyunlarımızdaki değişkenlerin değerlerini kaydetmeye yarayan playerprefs sınıfını ele alacağız.Bu sınıf hiçbir ek dosyaya .ini dosyasına yada .xml dosyasına gerek kalmadan direk bilgisayarın hafızasına değişkenlerimizin değerlerini atayarak bir nevi oyunumuzda save özelliği yaratmış olur.Bu değerler daha sonra silinebilir düzenlenebilir yada yeniden oluşturulabilir.Bu classta get ve set olmak üzere iki adet komut vardır.  


Set komutu bir değişkeni hafızaya kaydetmemize yarar.Eğer değişkenimiz integer ise SetInt float ise SetFloat
String ise SetString ile hafızaya bilgi aktarımı yapabiliriz bir  integerin hafızaya kaydedilmesi örnek:


Burdada görüldüğü gibi "deger" değişkenini kaydettik hafızaya.


Burda gördüğümüz gibi Setint le yani bir tam sayı değeri için yaptığımızdan Getİnt le o değeri bilgisayarın hafızasından alabiliyoruz bunu nasıl kullanışlı hale getirebiliriz.



Böylece oyundan çıkarken değeri kaydetmiş oluruz ve getintle oyun başlayınca çağırarak bir nevi save yapmış oluruz yaratcılığınıla bunu geliştirmek sizin elinizde görüşmek üzere.

19 Temmuz 2013 Cuma

Bir Oyunda Düzenin Önemi

Unity3d de yeni bir proje açtınız ve birşeyler deniyorsunuz ya bir oyun yapma fikri geldi direk başladınız yada untynin özelliklerini yavaş yavaş çözüp küçük bir oyun yapmak peşindesiniz.Hemen klasörler açın yani scene için ayrı modeller için ayrı kodlar için ayrı klasörler açın ve projenizdeki asset leri oralarda saklayın çünkü düzen bir oyunun vazgeçilmezidir ve herşey biyerde kodla model alt alta üst üste script adları belirsiz ne nerde belli olmayan bir projeden adam olmaz.Yani herne yapıyorsanız yapın düzene herzaman çok önem verin scriptler ayrı klasörde modeller ayrı yerde ve scriptlerin isimleri tam yazıcağınız koda bağlı olsun hareket kodu yazarken adı hareket olsun değişik anlaşılmaz isimler yazmayın bunlar sizin farketmediğiniz ama oyun yapımındaki planlamaya büyük zarar veren ögeler ordaki düzeni ve işleyişi gördükten sonra projenize daha çok önem verirsiniz ve ortaya güzel birşey çıkar en azından bunu deneyin.

26 Haziran 2013 Çarşamba

Unitydeki Hazır Fizikler

Unityde kendimiz kodlayabildiğimiz gibi hazır unity fizikleride bulunmaktadır.Bunlar:

- Bouncy
- Ice
- Metal 
- Rubber
- Wood

İngilizcelerindende anlaşılacağı gibi Zıplama,buz etkisi,metal etkisi,plastik etkisi,odun etkisi diye ayrılıyorlar.


Burda Sphere Collider componentinde gördüğümüz Material kısmında "None(Physic Material)" denmekte yani hazır hiçbir fizik kullanılmamış diyor.Şimdi onun üzerine tıklıyoruz.

Görüldüğü üzere birçok seçenek karşımıza çıkıyor.Burdan istediğimizi seçip uyguluyoruz ve fiziğimiz elimizde oluyor.Çok hazırcı bir sistem ancak çok işimize yarayanda bir sistem.








20 Nisan 2013 Cumartesi

Rigidbody Componenti



Yeniden birlikteyiz bugünkü dersimizde bir classı sınıfı ve aynı zamanda unity3d de çok önemli bir yere sahip olan  nesnelerin fiziki yapısını içine alan rigidbodyi her yönüyle inceleyeceğiz.




Şekildeki gibi bir küp oluşturduktan sonra oyunumuzu başlattığımızda küpün yerinden oynamadığını sabit bir şeklide durduğunu yerçekimi kuvvetinden etkilenmediğini görüyoruz.
 Tahmin edebileceğiniz üzere rigidbody componenti ekleyerek yerçekimi etkisi yaratabiliriz küp objesi için
bunun için küp objesine tıklayarak şekildeki adımları takip edelim.



Oyunumuzu tekrar başlattığımızda küpün yerçekiminden etkilendiğini ve yere düştüğünü görürüz.Rigidbody sadece yerçekimini getirmez belli başlı fizik unsurlarınıda beraberinde getirir.



Gördüğümüz gibi rigidbody componentinde birçok seçenek bulunmakta bunlardan mass isimli en yukardaki seçenek objemizin ağırlığını belirlemizi sağlar.Drag sürükleme yavaşlatma anlamındadır ve nesneyi bir paraşüt açmış havasına sokar yavaş yavaş yere doğru indirir yani hava sürtünme kuvvetini artırır.Değeri ne kadar artılırsa sürtünme okadar artar.Angular Dragın farkı ise düşerken dönme açılarınıda düşürmek yavaşlatmaktır.
Use Gravityi bizim yapmaya çalıştığımız şeydir yani yerçekimi bu seçenekteki tiki kaldırırsak yerçekimi yokmuş gibi davranır objemiz.Kinematic özelliği ise daha çok animasyonlarda işe yarar ve insanların veya cisimlerin eklem yerlerindeki fizik olaylarının doğru çalışmasını sağlar.İnterpolate i şuan anlatmıycam kullamanız lüzumsuz olan bir seçenek.Collision Detection objenin diğer bir objeyle karşılaşığında çarpması yada devam etmesi seçeneklerini barındırır.





Resimdede gördüğümüz üzere rigidbodye panelden müdahale edebildiğimzi gibi script ler yardımı ile de müdahale edebiliriz.Resimdeki scriptte rigidbody.mass diyerek ilgili objenin rigidbody componenti altındaki mass seçeneğine müdahale etceğimizi söyledik.Ve değeri 10 yaparak cismi ağırlaştırdık.Diğer seçeneklerede müdahale edilebilir daha fazla script örneğini ve variablelara şurdan ulaşabilirsiniz.Görüşmek üzere.