Oyun yapımı dersleri 4 - Unity3D kodlama
CODING (Kodlama = Bilgisayar Dili konuşmak) Unity3D ile oyun örneklerine başlamadan bilgisayar dilini anlamamız gerekiyor.
Bilgisayar dili diyince olayı karışık zannetmeyin. Kesinlikle Çoook KOLAY. ve gördüğüm en kolay program arabirimi Unity3D sisteminde mevcut.
KODLAMA MANTIĞI:
İlk defa otobüse veya metroya bindiğiniz günü hatırlayın. Duraktan birsürü araç geçiyor, hangisi doğru, soracak biri de yoksa kabus gibi olur. Şimdi size bildiğim en basit yöntemle kod yazmayı öğreteceğim. 10 dakika herşeyi unutup bunu okuyun.
DERS-1 : Bilgisayar hafızasından minik bir parça kullanacağız; bu parçanın ismi : Değişken .
Değişken (Variable) : iyi bir programcı değişkenlere hakim olan kişidir. En basit hali ile değişkeni bir kutu olarak düşünebiliriz. "Kutu ne işe yarar": içine eşyalar koyulur.
Şimdi evinizde böyle bir kutu olduğunu düşünün. içersine eşyalar koyuyorsunuz. ve üzerindeki bu ismi silip değiştirebiliyorsunuz, yani kutunun içi değişiyor.
Herhalde evinizde böyle bir kutu olsa üstüne "Değişken" yazmayacaktınız. Diyelim ki içine Oyuncaklarınızı koymak istediniz bu durumda kutunun üstüne ne yazardınız. şunlardan birini seçin.
* Ördek kutusu
* Oyuncak
* Gereksiz eşya
Ben olsam Oyuncak yazardım. çünkü daha kısa ve içindekileri doğru ifade ediyor. "ördek kutusu" diyenler büyük hata yapmış oldu çünkü kutuya sadece ördek koymayacağız. Bu sebeple daha genel bir isim yazmamız gerekiyor. "Gereksiz eşya" yazabilirsiniz ama buradaki sorun da şu: kutuyu kapatırsanız içinde ne olduğunu hatırlamak zor olacaktır.
Kısa ve anlamlı bir isim, Dikkat: Türkçe özel harfler sıkıntı çıkarabilir: Ö,Ç,Ş,İ,Ü,Ğ . bunları kullanmıyoruz.
DERS-2 : Bilgisayar dili Yukardan aşağı okunur, sağdan sola doğru bakılır. Kilit noktası bu.Bu soru çok önemli, bunu cevaplayan bilgisayar dilini %60 anlamış sayılır:
? =1+2+3
Cevap nedir ... ben söyliyeyim 6
Dikkat ederseniz bize ilkokulda anlatıldığı gibi sorunun cevabını en sağa yazmıyorum. En büyük problem burada başlıyor. Bilgisayar İnsan gibi bakmadığı için işlemleri böyle sola doğru yapar. Bunu tüm işlemlerde böyle yapacağız, işlemin sonucu herzaman solda biter.
soru:
A = 1 + 2 * 3 * 0
Basit bir matematik işlemi, bu sefer araya çarpma işlemi koydum. cevap nedir ?
cevap: A değişkeni içersine 1 geldi.
Çünkü bir sayıyı SIFIR ile çarparsanız sonuç sıfır olur.
Şu aşamada programlamayı anlamaya başlamış olmalısınız, veya bilgisayarın fişini çekip ufka doğru bakıyor olabilirsiniz.
Sizi rahatlatmak için bir soru daha sorayım: (Dikkat edin yukarıdan aşağı doğru okuyacaksınız).
soru:
A=1+2
A= A + 3
Bu satıra bakan biri için sonuç nedir ?
Toplamanın sonucu A değiişkeninin içine gider. En başta anlattığım kutu olayını unutmayın. "A=" dediğimizde sanki kutuya birşey koymuş gibi düşünün.
Cevap: A değişkeni içine 6 geldi
Her zaman aşağıya doğru tek tek satırlara bakıyoruz, soruyu görünce gidip yukarıya bakmayın. Değişkenin içindeki bilgi her zaman sağdaki işlemin sonucu olur.
ilk defa kodlama öğreniyorsanız elinize bir kağıt alın ve her satırda olan işlemi kağıt üzerinde çözün.
Hatta yukarıdaki satırların üzerini kapatacak bir kağıt koyun. Robot gibi düşünün insan gibi değil, ikide bir yukarı bakmayın. bilgisayar heryeri göremez,tek satırı görür. Eğer bu kısma kadar anladıysanız bilgisayar dili %70 oranında tamamdır.
DERS-3: ŞART (Bilgisayar dilinde en önemli şey)
Bundan sonrası insan mantığı için tamamen yeni bir konu. Eğer sıkılırsanız yukarıdaki 2 satırlık soru gibi kendiniz 4 satırlık bir soru yazın. Aşağıdaki yorumlarda beni zorlayacak sorularınızı merakla bekliyorum.
yeni konumuz şartlı işlem:
if(Soru)
{
// Eğer sorunun cevabı "Evet" ise bu kısımdaki işlem yapılır,
// aksi halde aşağıdan devam edilir.
}
Soru:
A=2
if (A <4)
{
A = A * 10
}
Bu satıra bakan biri için A değişkeni nedir ?
Aklınıza şöyle bir soru gelebilir, A=2 dedik ya bunu bilgisayar görmüyor mu ! neden 4 ile kıyaslıyoruz.
Çünkü biz daha yeni öğreniyoruz, ve bilgisayar gibi tek tek satırlara bakınca ne olacağını öğrenmeye çalışıyoruz. Bilgisayar açısından durum çok vahim, çünkü bir satır yukarıya bakmayı düşünmez. işin aslı bilgisayar düşünmez. işlemi gösterilen sıra ile yapar ve A değişkeninin içerisine 20 sayısını koyar.
Bundan sonraki dersleri Unity3D üzerinde uygulamalı olarak göstereceğim. Sizden ricam ilk dersteki Top zıplatan kod dosyasının içine şunu yazın.
public class kodYaz : MonoBehaviour{
public int AtmaGucu=100;
void OnMouseDown() {
gameObject.GetComponent ().AddForce (Vector3.up*AtmaGucu);
}
}
Sarı ile gösterdiğim iki kelime hariç hiçbirşeyi değiştirmeyin. Çünkü Bilgisayar kafası da imla kurallarına dikkat eden insanlar gibi fazla hassastır ve bir nokta veya virgül eksik diye arıza çıkarır.
Bundan sonraki derslerde kullandığım ".CS" dosyasını da buradan vereceğim. Tek tek kodları yazmanız gerekmeyecek, fakat olayın mantığını anlamadan o dosyayı nereye koyacağınızı şaşırabilirsiniz.
Bu dersi yeni görenler: bu 4.ders. ilk dersleri okumayı unutmayın.
DERS-1 (install): https://www.tr3d.com/dersler/ders/2n0/
DERS-2 (apk üretmek): https://www.tr3d.com/dersler/ders/2n3/
DERS-3 (PARA): https://www.tr3d.com/dersler/ders/2n8/
20-12-2018 . Necmi Demirkeser
Hazırlayan: drekon (Necmi Demirkeser)
Kapalı
Eklediğim Dersler
Ders Kategorileri
Yeni Dersler (Tutorials)
- Armor Modelleme
Ekleyen: Dereli - Ücretsiz Zbrush Dersi.
Ekleyen: BurakB - Corona Render ile Salon Görselleştirme
Ekleyen: barcelona1988 - Tek Bir Resimle Nasıl Sinematik Görüntü Ala Biliriz?
Ekleyen: PixlandPictures - After Effects - Script kullanmadan karakter rigleme
Ekleyen: PixlandPictures - 3dsmax landscape_ Making of Part1
Ekleyen: altıneldiven - Oyun yapımı dersleri 5 - Unity3D Sahne Duzeni
Ekleyen: drekon