Unity C# TPS Oyunu Yapımı (319 Sayfalık Çeviri Ders)

Yayınlandı: 07 Temmuz 2014 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

SON GÜNCELLEME: 6 Ağustos 2014 (Çeviri tamamlandı!)

Hepinize merhaba,

Uzun süredir güncellenmeyen sitemi bu proje ile güncellemiş olacağım. Proje, Unity3D ile C# dilini kullanarak basit bir TPS zombi shooter oyunu yapmak.

Ders toplamda 17 dersten oluşmaktadır ve 319 sayfa uzunluğundadır. Dersi anlamak için daha önceden Unity’de programlama deneyiminizin olması gerekiyor! Eğer programlama deneyiminiz yoksa çok ama çok iyi bir araştırmacı olmanız ve derste üzerinde durulmayan komutları kendi başınıza öğrenmeniz gerekiyor. Ben bazı yerlerde çevirmen eklemeleri yaptım ama bunun yetersiz olduğu durumlar olacaktır.

Çeviri her ne kadar tamamlanmış olsa da farketmediğim hatalar olabilir. Bunları lütfen bildirin.

Yazar: Ferdinand Joseph Fernandez

Çeviri: Süleyman Yasir Kula

Orijinal Kaynak: http://forum.unity3d.com/threads/unity-lesson-1-draft.103421/

Derste Adı Geçen Winrar Arşivi: https://www.dropbox.com/sh/26ogv2dfvwy4o10/AAAniN_NxQNpkyleAdXP0ucja?dl=0&preview=LessonAssets.zip (Alternatif link)

Bölüm 1 (Unity’e Giriş): https://www.dropbox.com/s/x8w5r9juitfdjlw/B%C3%B6l%C3%BCm1.pdf

Bölüm 2 (Basit Bir Level Tasarımı): https://www.dropbox.com/s/i99g3yp7fsmgpdy/B%C3%B6l%C3%BCm2.pdf

Bölüm 3 (Script Yazmaya Giriş): https://www.dropbox.com/s/wokrrjnih0ddea0/B%C3%B6l%C3%BCm3.pdf

Bölüm 4 (Player Scriptine Giriş): https://www.dropbox.com/s/pb09f1fnpz5zeh8/B%C3%B6l%C3%BCm4.pdf

Bölüm 5 (Kamera Scripti): https://www.dropbox.com/s/fzc7isdd7xlto66/B%C3%B6l%C3%BCm5.pdf

Bölüm 6 (Düşman Yapay Zekasına Giriş): https://www.dropbox.com/s/rym0706c08lac2q/B%C3%B6l%C3%BCm6.pdf

Bölüm 7 (Prefab Sistemi): https://www.dropbox.com/s/52q257peaweekhl/B%C3%B6l%C3%BCm7.pdf

Bölüm 8 (Düşmana Hasar Vermek): https://www.dropbox.com/s/lpdchq4312ti9fh/B%C3%B6l%C3%BCm8.pdf

Bölüm 9 (3D Modeller ve Animasyonlar): https://www.dropbox.com/s/1833xiwhtf57ghf/B%C3%B6l%C3%BCm9.pdf

Bölüm 10 (Ragdoll Sistemi): https://www.dropbox.com/s/c0ldjuqa9v9kna2/B%C3%B6l%C3%BCm10.pdf

Bölüm 11 (Düşmanın Hasar Vermesi): https://www.dropbox.com/s/exe9z5kzte78jt1/B%C3%B6l%C3%BCm11.pdf

Bölüm 12 (Düşmanların Spawn Olması): https://www.dropbox.com/s/r5u5o7nzn4h3im9/B%C3%B6l%C3%BCm12.pdf

Bölüm 13 (Oyunu Kazanmak): https://www.dropbox.com/s/j0bhqmsod7j3dyy/B%C3%B6l%C3%BCm13.pdf

Bölüm 14 (Ana Menü Oluşturmak): https://www.dropbox.com/s/wairefu2vyzzinv/B%C3%B6l%C3%BCm14.pdf

Bölüm 15 (Görsel ve Ses Efektleri Eklemek): https://www.dropbox.com/s/nfqdg1ctqpokiqt/B%C3%B6l%C3%BCm15.pdf

Bölüm 16 (Düşmanın Sağlık Paketi Düşürmesi): https://www.dropbox.com/s/2agaksvntmdrh67/B%C3%B6l%C3%BCm16.pdf

Bölüm 17 (Oyuna Roketatar Eklemek): https://www.dropbox.com/s/5txcxowr8crufry/B%C3%B6l%C3%BCm17.pdf


Bu döküman tamamen ücretsiz olarak sunulmaktadır ve kesinlikle hiçbir şekilde parayla satılamaz!
Dökümanın paylaşılması durumunda lütfen alıntı yaptığınızı belirtin!
İyi okumalar!

yorum
  1. Nurullah Ertaş dedi ki:

    Bu konu güncelmidir acaba? eposta yoluyla lütfen geri dönüş yapabilirmisiniz?

    Önerdiğiniz video veya başka kaynak varsa lütfen eposta yoluyla geri dönüş yapın.

    ertas73emrulla@gmail.com

  2. prodrmani dedi ki:

    Hocam ders 9 da Player dosyasındaki player’ın animator componentindeki controller değişmiyor. Nasıl yapabilirim?

    • yasirkula dedi ki:

      “Create-Animator Controller” ile oluşturduğunuz Animator Controller’ı sürükle bırak yaparak player’ın Animator component’indeki Controller değişkenine değer olarak verebilmeniz lazım. Yanlış bir şey sürüklemediğinizden emin olun. Bir hata alıyorsanız hata mesajını paylaşabilirsiniz. En kötüsü Controller değişkeninin sağındaki ufak yuvarlak ikona tıklayarak, Animator Controller’ı elle seçebilirsiniz.

  3. Fatih Ceb dedi ki:

    merhaba ustam bu link bende hata veriyor bunu nereden ve nasıl bulabilirim
    https://dl.dropboxusercontent.com/u/25260770/UnityLessons/LessonAssets.zip?dl

  4. Murat Gökak dedi ki:

    Merhaba yasir abi.Benim için 3d zor olduğu için (tek bir kişiyim) bana çok zor geliyor.Sizden tek ricam bunun birde 2d olanını yapmanız.Sadece benim için değil,başkaları içinde lazım.Ben aslında game maker isimli oyun motorunda iyice tecrübeliyim ama oda bir yere kadar yaani.

    • yasirkula dedi ki:

      Aslında 2D oyunlar için Game Maker (eğer aşinaysanız) bence daha mantıklı. Ama sanırım siz Unity’nin fizik, partikül vs. özelliklerinden faydalanmak istiyorsunuz. 2D için yakın zamanda bir ders fikrim yok açıkçası, sadece öncelerden paylaştığım eski ve basit bir Flappy Bird dersim vardı o kadar. O yüzden bu konuda internetteki diğer derslere odaklanmanızı öneririm. Ama bir sorunuz olduğunda sormaktan çekinmeyin tabi ki.

  5. Murat Gökak dedi ki:

    merhaba yasir abi,ben 2d oyun yapıyorum(unity 5 ile).Karakter animasyonlarını yapmaya çalışıyorum.Ben a’ya veya D’ye bastığımda animasyon başlıyor,ama elimi çektiğimde,(GetKeyUp),karakter animasyonu oynamaya devam ediyor.İşte kodlar.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class Karakter2 : MonoBehaviour {

    public float hiz;
    public Animator anim;
    public bool idle, run;

    void Start() {
    hiz = 4.5f;
    idle = true;
    run = false;
    }

    // Update is called once per frame
    void Update() {
    AnimasyonKontrolleri();
    if (Input.GetKey(KeyCode.A))
    {
    transform.position -= new Vector3(Time.deltaTime * hiz, 0, 0);
    transform.localScale = new Vector3(-1, 1, 1);
    run = true;
    idle = false;
    }
    if (Input.GetKey(KeyCode.D))
    {
    transform.position += new Vector3(Time.deltaTime * hiz, 0, 0);
    transform.localScale = new Vector3(1, 1, 1);
    run = true;
    idle = false;
    }
    if (Input.GetKeyUp(KeyCode.D) || Input.GetKeyUp(KeyCode.A))
    {
    run = false;
    idle = true;
    }
    }
    public void AnimasyonKontrolleri()
    {
    if (idle)
    anim.SetBool(“Idle”, true);
    else
    anim.SetBool(“Idle”, false);

    if (run)
    anim.SetBool(“Run”, true);
    else
    anim.SetBool(“Run”, false);
    }
    }

    • yasirkula dedi ki:

      Kodu şu şekilde yazmanızı öneririm:

      void Update()
      {
      if (Input.GetKey(KeyCode.A))
      {
      transform.position -= new Vector3(Time.deltaTime * hiz, 0, 0);
      transform.localScale = new Vector3(-1, 1, 1);
      run = true;
      idle = false;
      }
      else if (Input.GetKey(KeyCode.D))
      {
      transform.position += new Vector3(Time.deltaTime * hiz, 0, 0);
      transform.localScale = new Vector3(1, 1, 1);
      run = true;
      idle = false;
      }
      else
      {
      run = false;
      idle = true;
      }

      AnimasyonKontrolleri();
      }

      public void AnimasyonKontrolleri()
      {
      anim.SetBool(“Idle”, idle);
      anim.SetBool(“Run”, run);
      }

      Eğer bir işe yaramazsa, sıkıntı AnimatorController’daki koşma animasyonundan idle animasyona geçişin doğru ayarlanmamış olmasındandır.

Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.