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://dl.dropboxusercontent.com/u/25260770/UnityLessons/LessonAssets.zip?dl

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!

Yorumlar
  1. SilentViper94 diyor ki:

    Tam istediğim bir şeydi kardeşim. Ellerine sağlık. 🙂 Ayrıca yeni JavaScript derslerin beklerim. 🙂

  2. Turgut diyor ki:

    Saol abi site güncellendi keyfimiz yerine geldi 🙂

  3. ModellemeUzman diyor ki:

    Abi üzerinde çalıştığın projeler varmı?

  4. Umut diyor ki:

    Androide yaptığım oyunun apksini yapıp telefona atıığmda yükleniyor ama açıldığında siyah ekranda kalıp kendi kendini kaptıyor. Yardımcı olurmusun.

    • yasirkula diyor ki:

      Sorunun kaynağını bilmiyorum pekçok şey olabilir. İnternetten araştırmanız lazım.

      • Umut diyor ki:

        Unity nin içinde bulunan mobile packages dede aynı sorun oluyo 😦

        Birde uygulamayı yaparken main camera yı androide göre boyutlandıırmamız gerekirmi ?

      • yasirkula diyor ki:

        Kameranın yüksekliği aynı kalır ama genişliği değişir. Bence boyutlandırmaya gerek yok.

  5. Tarık BAYÇELEBİ diyor ki:

    Saol abi. Bayağı bir işime yaradı. Diğerlerinide çevirmeni bekliyorum. Teşekkürler, selamlar

  6. ceyhun diyor ki:

    Yasirkula abi valla ilaç gibi geldi;-)

  7. ceyhun diyor ki:

    Devamini bekliyoruz 😉

  8. ceyhun diyor ki:

    Bolum 4 :Player scriptine giris
    Kamera aýarladim ama kameraýi dondüriýorum w basiýorum kameraýi döndürdiğim tarafa gitmiýor
    ———————————
    Bölüm 6:düşman yapay zekasina giriş
    Dersteki gibi aýnini ýaptim ama düsman yerden 1 metre gibi uçuyor ve beni öýle kovaliýor
    :-(:'(

    Ýardim ederseniz sevinirim 😉
    Ha bu arada ders 13 ne zaman geliýor:-D

    • yasirkula diyor ki:

      İlginiz için çok teşekkür ederim. Bölüm 13’ü yarın çıkarmaya çalışacağım.

      Cevap-1:
      Obje hiyerarşisinin şöyle olduğundan emin olun:

      -Player
      —LookY
      —–Main Camera

      LookY objesinde LookY scripti yer alırken Player objesinde PlayerMovement ve LookX scriptleri yer alacak. Main Camera’da herhangi bir script yer almayacak.

      Cevap-2:
      Çok garip, aklıma bir çözüm gelmedi. Herşeyi birebir aynı yaptığınızdan emin olun.

      • ceyhun diyor ki:

        Yasirkula ýardimin için sağol herşeýi halletdim
        Ama player animasiyon benimki gibi değilmiş
        Ben unity 34 4.0. kullaniýorum bazi ýazilanlar bende burda takilip kaldim
        Unitynin ýaninda gelen Angry boots playere baktim ondan inceleýerek ýaptim ama kameraýi saga sola ýaptigimda aýaklari dönmeýe başliyor 20-30 kere döndükden sonra duruýor ne ýapmaliýim

        Unityýi kullanmiýodum bu dersini okuýarak unityýi sevdim ve kullanmadiğima rağmen senin saýende çok ilerledim

        Çaýlaklar için unity script derslini pdf indirdim
        Pong pdf indirdim
        Towwer pdf indirdim
        Flappy pdf indirdim bu unitynin 2D desteği hangi versiýonda geliýor 4.0 da varmmi

      • yasirkula diyor ki:

        2D desteği sanırım Unity 4.3 ile gelmiş. Ben son sürüm kullanmanızı tavsiye ederim. Madem Unity 3.4 kullanıyorsunuz, o zaman Player animasyonu için orijinal dersteki animasyon scriptini yazmanızı öneririm. Ders linki: https://dl.dropboxusercontent.com/u/25260770/UnityLessons/FeuUnity3dLesson9.pdf

      • Şamil Özdemir diyor ki:

        Derslerde hiçbir sıkıntı yok hocamda animator kullanarak yaptığınız bölümü birde kaynağın yaptığı şekilde çevirirseniz çok makbule geçer. animator kullanımında iyiyim fakat diğer yöntemide öğrenmek istiyorum gelişmek lazım bilirsiniz 🙂

      • yasirkula diyor ki:

        İlginiz için teşekkürler. Bahsettiğiniz kısmın Animation componenti kullanarak yapılmış orijinal halini Türkçe’ye çevirmeyi düşünmüyorum, mecburen İngilizce kaynaktan faydalanmalısınız.

      • Şamil Özdemir diyor ki:

        Ben teşekkür ederim hocam başarınızın devamını diliyorum Türkiye’de gördüğüm en iyi Unity3D kaynağısınız. Birde TagdaGame iş yapıyor 🙂

  9. ceyhun diyor ki:

    Pardon yukarda unity 3D 4.0 demek istedim

  10. ceyhun diyor ki:

    Tamamdir halletdim. Orjinal kaýnağindeki ingilizce pdf olduğu için anlamadim ingilizcem 0 olduğu için ama kodlari kopýala ýapiştir diýerek halletdim.
    Ýardimin için sağol.13.14.15.16.17 pdf leride bekliýoruz.

  11. ceyhun diyor ki:

    13 gelmiş yuhu;-)
    Sinirlenmessen bir sorunum var 9 deki player animasion ýaptim sonra playere ragdoll ekledim ýürütmek istediğimde animasyonu hatasiz ýürüyor ama karakter 1 metre bile gitmiýor.
    Sana çok sorun oldum galiba!0:)

    • yasirkula diyor ki:

      Ragdoll vermeden önce yürüyor muydu? PlayerMovement scripti ile Character Controller componenti hâlâ Player objesine atanmış durumda, değil mi? Herhangi bir hata ya da uyarı mesajı geliyor mu?

      • ceyhun diyor ki:

        Herşeý tamam aýni ýaptim olmadi.
        Dersleri baştan başliýarak yeniden ýaptim bu sefer halloldu 13.14 iýimiş devami gelsin hadi tam gaz ileri!:-)

  12. Tarık BAYÇELEBİ diyor ki:

    12. 13. ü bölümüde çevirmişsin. 🙂 , Bu ne hız Yasir abi!! çok yararlı oluyorsun. Devamını bekliyorum. Sayende Unity merakım bir hayli arttı. Çok Teşekkürler, Selamlar

  13. ceyhun diyor ki:

    Teşşekür ederiz derslerin için bu çevri derslerin bitince ara uzamadan inşallah başka çeviri ya-da kendi ýaptiğin derslerde görüşürüz diýe umud ediýorum!:-)

  14. emre diyor ki:

    merhaba yasir kula bey. size bir sorum olacaktı :

    Ders 8’de söylenenleri harfiyen yapmama rağmen düşmanın üzerine tıklayıp düşmana ateş edince “NullReferenceException : Object reference not set an instance of an object” diye bir hata çıktı. Defalarca kez aynı şeyi tekrarlamama rağmen de bir çözüm bulamadım. Yardımcı olur musunuz ?

  15. Çağlayan diyor ki:

    elinize sağlık kağıda bastım tamamını, bana çok yararlı olacaktır.

  16. Mehmet diyor ki:

    ben de sevdim ama Bölüm 4 deki controlleri yapıyom o garip şekle atmaya çalışıyorum unity bana name class felan diyor napcam

    • yasirkula diyor ki:

      Scriptlerinizin 4. satırında “public class BlaBla : MonoBehaviour” satırı yer alır. Her script için, BlaBla’nın değerinin scriptin ismi ile harfi harfine aynı olduğundan emin olun. Genelde bir C# scriptin ismini sonradan değiştirince bu sorun ortaya çıkar.

  17. Kürşat diyor ki:

    Merhaba abi unity 1 sene önce tanıştım ingilizce olmadıgı için zaten yabancı kaynaklara bakamadım Türkçe kaynakta Azdı hemen hemen yoktu gibi şimdi bunlar harika emegin için çok teşekkür ilk oyunumu yaptıgımda oyunun köşesine adını yazacagım

  18. Murat diyor ki:

    Yasir Bey, nasıl ki Farmville’de domates ekiyorsunuz ve diyelim ki hasat etmeniz için 40 dakika (gerçek zamanlı) gerekiyor. Siz oyunu kapatıp çıksanız dahi 40 dakika geçtikten sonra oyuna girdiğinizde hasat etmeniz gerektiği uyarısı geliyor. Bu tip uyarıların gerçek zamanlı olarak oyunumda belirmesi için ne yapmalıyım? Yani oyunum ve karakterim gerçek zamanı nasıl takip edip uyarılar verebilir?

    • yasirkula diyor ki:

      Daha önce hiç böyle bir tecrübem olmadı ve dediğiniz şey nasıl yapılır kesin olarak da bilmiyorum. Ama aklımda bir fikir var. System.DateTime adında bir yapı var, bir tarihi depolamaya yarıyor. Domates ekince onu ektiğiniz zamanı DateTime olarak kaydetmeyi (nasıl kaydedilir bilmiyorum) deneyebilir ve oyunu yeniden açınca mevcut DateTime ile domatesin ekildiği DateTime arasındaki farkı bir şekilde alıp bu fark 40 dakikadan büyükse uyarı verebilirsiniz.

  19. Murat diyor ki:

    Teşekkür ederim. Aklımda bir iki oyun fikri var. Yapılabilirlikler üzerine karar verip öğrenmeye ve projem üzerinde uğraşmaya devam etmek istiyorum.

  20. Umut Bayır diyor ki:

    Böylesi bir kaynağı hazırlayan sizlere çok teşekkür ederim.Büyük emek isteyen bir iş sizlere her zaman borçlu olacağız.Minnettarız

  21. Faruk diyor ki:

    Ah yasir hocam o kadar bitrdim dersleri androdie uyarlayamadım bir türlü.Nasır uyarlarım. 😥

  22. mesut diyor ki:

    Bu oyunu export edip başka bir projeye attıgımda alacagım hatalar nelerdir? Mesela animasyonlar sapıtıyor bunu nasıl düzeltebilirim? Başka ne gibi hatalar almam olası?

    • yasirkula diyor ki:

      Animasyonların sapıtması da dahil herhangi bir hata beklemiyorum ben.

      • mesut diyor ki:

        Mesela suanki oyunumuzda ground diye tanımlı olan zemini terrainle degiştirirsem kodların içinde direk ground diye yazılı olan şeyler ( raycast ışınları gibi) terrain zeminimdede aynı etkileri gösterir mi?

      • yasirkula diyor ki:

        Bahsettiğiniz ground hangi scriptte geçiyor?

    • mesut diyor ki:

      Kodlamaya yeni başladıgım için biraz sıkıntı çekiyorum ve senide ugraştırıyorum kusura bakma ilgin için teşekkürler.

      ben konuya yanlış yerden girdim sana durumu anlatayım. ben burada yapmış olduklarımı exportladım ve arkadaşıma attım. arkadaşımda benden aldıgı playeri oluşturmuş oldugu terrain üzerine ekledi ve player ileri dogru gitmedi fakat geri , sag ve sola cok bozuk ve sapıtmış bir şekide hareket etti. Kendimde new project açarak boş bir terrain oluşturup player objesini üstüne attıgımda aynı hatayla karşılaştım. sorun ne olabilir?

      • yasirkula diyor ki:

        Oyunun bitmiş halini açtım ve Scenes klasöründen MainScene’i açtım. Ground objesini sildim ve yerine GameObject-Create Other-Terrain ile bir terrain koydum. Oyunu başlattığımda karakter zeminin üstünde sorunsuzca hareket ediyordu.

        İsterseniz projenin bitmiş halini açıp benim uyguladığım adımları siz de uygulamayı deneyin: https://www.dropbox.com/s/mbglfxuxgwgk322/TheGame.rar

      • mesut diyor ki:

        Evet o şekilde bendede sorunsuz oluyor fakat benim bahsettigim nokta farklı. şimdi oyunun bitmiş halini açtım ve hierarchy panelindeki Player, GameOverScreen, EnemySpawnManager, CombatGui ve GameManager objelerini sürükle bırak yöntemiyle project paneline prefablarını oluşturdum ve oyunun içindeki bütün dosyalarla birlikte Assets-Export Package ile export ettim sonra (bu kısım çok önemli!) File-New Project-Create ile yeni bir proje açtım (File-New Scene degil File-New Project) ve .Exportlamış oldugum bütün dosyaları Assets-Import Package-Custom Package ile projeme import ettim ve prefabını almış oldugum Player objesini oluşturmuş oldugum terrainin üzerine attım ve ondan sonra anlattıgım hatalarla karşılaştım.

      • yasirkula diyor ki:

        Garipsedim. Sebebini bulursanız bana da söyleyin.

      • mesut diyor ki:

        Sebebini tam olarak anlayamadim fakat calistirmayi basardim. Onceki yorumumda soyledigim exportlanmis dosya ve prefablari yeni projeme import ettim sonra prefablanmis Playeri projemdeki terrainin uzerine attim ve icindeki Child olan Playeri sildim sonra model klasorunun icindeki Player modelini Parent olan Playerin Childi yaptim ve ikisininde konumunu resetledim sorun cozulmus oldu. Animasyonunu duzeltmek icinde model klasorunun icindeki Player Animation Controlleri child olan Playerin Animator componentine attim.

  23. mesut diyor ki:

    Şöyle bir sorum olacak. bu zombilerin etrafımızda rastgele degilde haritada istedigimiz yerlerde olmasını nasıl saglayabilirim?

  24. mesut diyor ki:

    Oyunu bitirdim ve mainmenuden options’a tıkladıgımda optionsmenusu acılmadı. senin bitirmiş oldugun projeden açtıgımdada aynı sorunla karşılastım. sebebi ne olablir?

    • yasirkula diyor ki:

      Options menüsü Scenes In Build’e eklenmemiş olabilir (Build Settings’te). Hiç hata veriyor mu Options’a gitmeye çalışınca?

      • mesut diyor ki:

        builde ekledim hatta oyunun buildini alıpta denedim bile ama sanki hiç kod yazılmamış gibi tepki vermiyor. konsolda hata mesajıda vermiyor.

      • yasirkula diyor ki:

        MainMenuGui’deki OnGUI fonksiyonu OptionsGui’dekinden sonra çalışınca bu sorun oluyor. Options menüsü açılıyor ama Main Menu onun üzerine çizildiği için Options arkada kalıyor.

        Bunu çözmek için MainMenuGui’de “GUI.skin = _guiSkin;” satırından sonra şu kodu ekleyin:

        if( OptionsGui.IsOpen )
        return;

        _mainMenuBg ve _title çizdirme kodlarını ise kopyalayıp OptionsGui’ye yapıştırın.

  25. mesut diyor ki:

    ilginiz için teşekkürler sorun halloldu

  26. mesut diyor ki:

    Senden bir ricam olacak türkçe kaynak olarak hiç bir yerde bulamadım ve birçok kişininde ihtiyaç duydugu bir konu. mesela ben bu oyundan cıkıp tekrar girdigimde kaldıgım yerden devam etmek istiyorum. bunun kodlarını ve yapılış tarzını bir ders haline getirebilir misin?

  27. Muhammet diyor ki:

    Oyunda zombilere ateş edeilirken roket gözükmüyor bunu nedeni ne olabilir?

  28. Hasan diyor ki:

    Bu örnek projeyi açtığımda project incompatible new version of unity required diye bir hata alıyorum.Oyun yine de continue and data loss if you continue bastığımda açılıyor ama oyunda bazı hatalar oluşuyor.Bunun nedeni ne olabilir?

    • yasirkula diyor ki:

      Kullandığınız Unity sürümü eski duruyor. En son çıkan sürümü yüklemeyi deneyin.

      • Hasan diyor ki:

        Evet ondanmis tesekkürler.Ben de oyle dusunmustum de oyle cok eski bi surum olmadigindan bundan kaynaklanmadigini dusunuyodum.

  29. ErsanKaran diyor ki:

    Ben menüyü build ettiğimde butonlar falan karışmış oluyor nasıl düzeltebilirim?

  30. Nihat Yıldız diyor ki:

    teşekkürler elinize sağlık hcam devamını dört gözle bekliyorum 🙂

  31. Nihat Yildiz diyor ki:

    cok sagol hocam Allah razi olsun elleriniz dert gormesin

  32. Özgür diyor ki:

    Oyunuma nasıl reklam verebilirim Kod ilemi veriliyor Reklam şirketi ile nasıl anlaşılıyor ?

  33. Özgür diyor ki:

    Startapp ta nasıl oluyor merak ediyorum ufak bir ders verme şansınız varmı veya addmob mu yoksa startapp mi daha iyi ?

  34. Ygs Yaklaşıyor diyor ki:

    Yasir hocam siz ygs ve lys de kaç alıp bilkente gittiniz?

  35. Özgür diyor ki:

    nesneyi tuşa basınca rotation z de nasıl çevirebilirim ?

  36. werduet diyor ki:

    iyi günler unity ile bir kaç aydır tanışmaktayım ve sizin sitenizi takip etmekdeyim.bu verdiğiniz notlara dün başladım ve bölüm 4 ‘de bulunan jump kodu kısmında sorunla karşılaşmaktayım.
    sizin tasarladğınız oyunuda indirdim ve PlayerMovement kısmındaki kodları tek tek kontrol ettim ve herhangi bir farklılık bulamadım.PlayerMovement kodunu player objeme attıgım anda obje sürekli zıplıyor.Bu sorunu nasıl halledebilirim ?

    • yasirkula diyor ki:

      Aynı sorun örnek projemde olmuyor anladığım kadarıyla. Garip bir sıkıntı, verdiğiniz bilgiler doğrultusunda herhangi bir olası sebep göremedim.

  37. abdulkadir diyor ki:

    bazı controller bende eksik yapamıyorum onları nasıl çıkarcam

  38. 6askan diyor ki:

    Bir teşekkürü borç bilirim usta

  39. siyanbian diyor ki:

    Çok sağolun hocam iyi çalışmalar

  40. harun diyor ki:

    yükledim finish yazısı geldi sonra kapandı.nasıl aççam

    • yasirkula diyor ki:

      Malesef restart butonu olmadığı için oyunu tekrar açmalısınız. Restart butonunu oluşturmak sizin için bir alıştırma olsun. Butona basınca çalışacak kod basit: Application.LoadLevel(0);

  41. harun diyor ki:

    ağaç resmini bulamadım dosyada nerde oldugunu anlatırmısınız ders 2deki

  42. harun diyor ki:

    all compiler errors have to be fixed before you can enter playmode diye hata alıyom ne yapmalıyım

  43. harun diyor ki:

    ayriştırma hatası varmış iki kodda ne demek istiyor

    KOD TEMİZLENDİ.

    • yasirkula diyor ki:

      Dediğiniz hatayı anlayamadım ancak kodunuzda “float_jumpSpeed” veya “voidUpdate()” gibi kısımlar var. Buralarda arada bir boşluk olacak: “float _jumpSpeed” ve “void Update()” gibi.

  44. harun diyor ki:

    Bu kodler her versiyona uygun mu?

  45. harun diyor ki:

    4,6 yı yükledim yine hata veriyor. rotate kodunu yazdım bunda 1 hata vardı düzelttim.player movementtaki hataları düzeltemiyom. yardım edersiniz sevinirim.

  46. harun diyor ki:

    MissingComponentException: There is no ‘CharacterController’ attached to the “Player” game object, but a script is trying to access it.
    You probably need to add a CharacterController to the game object “Player”. Or your script needs to check if the component is attached before using it.

    MissingComponentException: There is no ‘CharacterController’ attached to the “ZombieMixamo” game object, but a script is trying to access it.
    You probably need to add a CharacterController to the game object “ZombieMixamo”. Or your script needs to check if the component is attached before using it

    bu hatalar ne yapmam gerek

    • yasirkula diyor ki:

      Player’a ve Enemy prefab’ına Component-Physics-Character Controller ekleyebilirsiniz ancak upload ettiğim örnek projede karakterde ve zombilerde zaten Character Controller var, ben hiçbir hata almıyorum (Unity 4.6.1f1 üzerinde test ettim).

  47. harun diyor ki:

    character controller yaptım yine aynı hata var

    • yasirkula diyor ki:

      Upload ettiğim projeyi Unity 4.6’da açtım ve hata almadım. Sizin yaşadığınız sorunun çözümünü bilmiyorum. Tek tavsiyem örnek projeyi incelemeniz…

      • harun diyor ki:

        animator controller şeyinde player animation controller yapınca hata gidiyor ama uçuyorlar.örnek projedede böyle yapılmış.

      • yasirkula diyor ki:

        Uçma sorunu zamanında bende de olmuştu. Çeşitli şeyler deneyerek karakteri tekrar uçurmaya (ve böylece sorunun kaynağını bulmaya) çalıştım ama ben projeyi yapalı oldukça uzun zaman oldu ve başarısız oldum. Kısacası karakter niçin uçuyor hatırlamıyorum.

      • harun diyor ki:

        ÇEVİRMEN EKLEMESİ: Eğer böyle bir uyarı penceresi bende çıkmadığı gibi sizde de çıkmazsa Player objesinin Inspector’undan Capsule Collider’ın sağındaki dişli ikonuna tıklayın ve Remove Component seçeneğini seçin. Yoksa karakter hareket ederken garip bir şekilde uçmaya başlıyor.bundan
        olabilirmi

      • yasirkula diyor ki:

        Player’da Capsule Collider olmamalı. Varsa Remove Component yapıp tekrar deneyin madem.

      • harun diyor ki:

        character controller örnek projedeki gibi düzelttiğimde karakteri uçmuyudu ama kendi başına hareket ediyordu.zombide örnek projede bulamadığımdan bu kodları yaptım bunda olmadı

      • yasirkula diyor ki:

        Örnek projede herşey tam takır var. Scenes klasöründen MainScene sahnesini açmanız lazım.

      • harun diyor ki:

        NullReferenceException: Object reference not set to an instance of an object
        EnemyMovement.Update () (at Assets/scripht/EnemyMovement.cs:29)
        bu hata verdi karakteri haraket ettirdim zombi hareket etmiyor

      • yasirkula diyor ki:

        Sorunlarınızın çoğunu verdiğim linkteki projeyi inceleyerek çözebilirsiniz.

      • harun diyor ki:

        koddan mı yapcam

      • yasirkula diyor ki:

        Belki koddandır belki birşeyleri eksik yapmışsınızdır. Ben bu çeviri dersi kendi başıma yaptığımda hiçbir hata çıkmadı, sizde bi dolu hata çıkması şaşırtıcı.

  48. Seyit Mustafa Adem KANDEMİR diyor ki:

    Dersler için Çok Teşekkürler Ellerinize Sağlık.Benim bir sorunum var.Şöyle ki:
    Bölüm 13 ‘deki anlatılanları eksiksiz yaptım. Unitye döndüğümde ise şöyle bir mesaj çıktı :
    RESİMLER KALDIRILDI.
    Bu mesaja “No Thanks” dediğimde ise şöyle hatalar çıktı :
    RESİMLER KALDIRILDI.
    Sonradan bu mesaja “I Made a Backup.Go Ahead!” dedikten sonra oyunu test ederken de ise şunlar çıktı :
    RESİMLER KALDIRILDI.

    Kendi elle yazdığım ve bölüm 13 PDF de bulunan C# Script Kodu :
    RESİMLER KALDIRILDI.
    Programa “I Made a Backup. Go Ahead!” dedikten sonra programın update ettiği C# Script Kodu :
    RESİMLER KALDIRILDI.

    Bir türlü işin içinden çıkamadım.

    • yasirkula diyor ki:

      Scriptte hata yok. Tek yapmanız gereken Inspector’a sağ tıklayıp Debug moda geçmek ve Landing animasyonundaki “Legacy” seçeneğini işaretlemek.

  49. TaRmAnYa diyor ki:

    Merhaba Yasir Hocam, ben bir objenin yerçekimine sahip olmasını istiyorum. İnsan modeli olduğu için character controller koydum. Modelin sadece yerçekimine sahip olması lazım ama sizin 9. dersinizde zombi aynı zamanda hareket ettiği için script istediğim gibi olmuyor. Sadece yerçekimi olsun diye kodu değiştirmeye çalıştım ama bu sefer hiç olmuyor. Mesh Collider’de sıkıntı olduğu için character controller kullandım. Bana C# yalnızca yerçekimi scripti verebilir misiniz?

    • yasirkula diyor ki:

      Yerçekiminin kısa yolu objeye Rigidbody verip Is Kinematic’i kapatmak ve Use Gravity’i açmak. CharacterController için olan kod dediğiniz gibi zaten scriptlerde mevcut, onu ordan tutup çekmeniz lazım. Kodu ben yazmayacağım.

      • TaRmAnYa diyor ki:

        Objeme mesh collider i tanıtamıyorum. Mesh kısmı boş gözüküyor. Neden olduğu ile ilgili bir fikriniz var mı?

      • yasirkula diyor ki:

        Objede Mesh Filter varsa Mesh Collider’ın düzgün çalışması lazım.

  50. Umuthan diyor ki:

    Öncelikle dersler için teşekkür ederim.
    Ben RagDoll sistemi için buraya gelmiştim. Ancak benim karakterimde Ragdoll’un istediği bazı parçalar yok. omuz gibi, veya bazı parçalar fazla, örneğin dirsek gibi. Bunun için bir çözüm öneriniz varmı acaba?

  51. TaRmAnYa diyor ki:

    Son bir şey daha 😀 Biraz fazla oldu kusura bakmayın. Apk dosyası build ettiğimde dosyanın 180 mb olduğunu gördüm. Nasıl düşürebilirim? Işık ları son gölge seviyesine getirdiğim için olabilir mi?

    • yasirkula diyor ki:

      Texture’ların çözünürlüğünü düşürerek, müzikleri compress ederek ve modelleri low-poly yaparak.

      • TaRmAnYa diyor ki:

        Nasıl yapacağım hakkında herhangi bir bilginiz var mı?

        BU SON 😀

      • yasirkula diyor ki:

        Resimlerin çözünürlükleri için Inspector’da Max Resolution var. Belki resim formatını değiştirmek de işe yarayabilir. Müzikleri bilmiyorum. Modelleri low-poly yapmak için modelleme bilgisi sahibi olmanız lazım. Modeli low-poly’e çevirmek oldukça zorlu bir süreç olabilir.

  52. TaRmAnYa diyor ki:

    Inspector’daki 2048 yazan yeri 32 ye çevidiğimde 2 mb lık dosya 0.7 kb a düştü. Kalite de düştü ama olsun teşekkür ederim

  53. TaRmAnYa diyor ki:

    Tekrar ben 😀 . Yasir Hocam oyunu android e build ettim ama mouse cursor u nda bir sıkıntı oldu. Çizgili bir kare gibi görünmeye başladı. Ben de tekrar windows a build ettim fakat sorun yine aynı. Oyuna başlayınca da fare imleci siyah bir kare şeklinde görünüyor. Pişman oldum android e build ettiğime 😀 Yardımcı olabilir misiniz?

  54. Barış diyor ki:

    Draw Texture üzerine UI button kullanabilir miyiz?

  55. Barış diyor ki:

    Derslerin için teşekkür ederim. Zombi modelini kendi oyunumda kullansam sorun çıkar mı?

  56. Enes diyor ki:

    Merhaba konu ile pek alakalı deği ama bir sorunum var ve konu ile ilgili bi kaynak bulamadım. Oyuncular oyuna ilk girişte g mail hesabı ile oyuna kaydedip sora her girişlerinde google hesaplarıyla giriş yapma özelliğini nasıl ekleybilirim

  57. alper diyor ki:

    Selam. Ben bir şeyi merak ediyorum. Mesela

    if ( a <= 10)

    {
    b -= 10 * time.DeltaTime;
    }

    bu kodu yazdığımda a'nın değeri 10'a eşit veya 10'dan küçük olduğunda b'nin değerini 1 saniyede 10 birim sürekli azaltıyor. Ama ben bu işlemin sadece bir kez çalışmasını istiyorum yani a'nın değeri 10'a eşit veya 10'dan küçük olduğunda b'nin değerini bir kereliğine 10 azaltsın. Sürekli 10 azaltsın istemiyorum. Bunun için nasıl bir kod yazmam gerekiyor bana yardımcı olur musunuz.

  58. alper diyor ki:

    Yasir bey ben bu projeye yeni başladım sayılır. 4. ve 5. bölümlerdeki scriptleri yazdıktan sonra gerekli yerlere atadım ve play tusuna bastım. Player’i W,A,S,D tuşlarıyla kontrol ederken bir şey fark ettim. Kamera açısını değiştirmediğim sürece karakteri x ve z koordinatları boyunca hatasız kontrol edebiliyorum fakat kamera açısını değiştirdiğim anda mesela 180 derece geri çevirirsem W tuşuna bastığımda sanki karakterin önünde bir engel varmış gibi ilerlemeye çalışıyor ama ilerleyemiyor. Sizin bitirdiğiniz projeyi indirip karşılaştırdım herhangi bir farklılık bulamadım. Unity sürücüm 5.0.0 . PlayerMovement Scriptli ile alakalı olduğunu düşünüyorum. Scriptteki kodlar şöyle:

    using UnityEngine;
    using System.Collections;

    public class PlayerMovement : MonoBehaviour
    {

    CharacterController _controller;

    [SerializeField]
    float moveSpeed = 5.0f;

    [SerializeField]
    float jumpSpeed = 20.0f;

    [SerializeField]
    float gravity = 1.0f;

    float yVelocity = 0.0f;

    // Use this for initialization
    void Start ()
    {
    _controller = GetComponent();
    }

    // Update is called once per frame
    void Update ()
    {
    //Objeyi hareket ettireceğimiz yönleri belirliyoruz.
    Vector3 direction = new Vector3(Input.GetAxis(“Horizontal”), 0, Input.GetAxis(“Vertical”));

    //Objenin hareket hızını yön ile çarpıyoruz.bu sayede hareket hızının aralığını değiştiriyoruz. (daha hızlı / daha yavaş)
    Vector3 velocity = direction * moveSpeed;

    //Objeyi hareket ettiriyoruz.
    _controller.Move(velocity*Time.deltaTime);

    //İlk if değerindeki is.Grounded, Objenin yere değip değmediğini kontrol eder ve eğer değiyorsa işlem yapmamızı sağlar
    if (_controller.isGrounded)
    {
    if (Input.GetButtonDown(“Jump”))
    {
    yVelocity = jumpSpeed;
    }
    }
    else
    {
    yVelocity -= gravity;
    }

    velocity.y = yVelocity;

    velocity = transform.TransformDirection(velocity);

    _controller.Move(velocity * Time.deltaTime);

    }
    }

    Acaba sorun ne olabilir ?

    • alper diyor ki:

      Tamamdır sorunu buldum. Sanırım yaşlanıyorum.

      _controller.Move(velocity * Time.deltaTime);

      Bu kodu 2 kez yazmışım. O kadar baktım fark etmedim.

      • yasirkula diyor ki:

        Kendi başınıza çözmeniz daha iyi olmuş. Kodun iki kere tekrarlanması neden karakteri durdurmuş bilmiyorum ama çözülmesi yeterli sanırım.

  59. Ali diyor ki:

    pdf linkleri bozulmuş yenilerseniz çok sevinirim

  60. efe diyor ki:

    hocam bu uygulamayı android de çalışabilir mi? yani telefon ve bilgisayar için geliştirme aşaması aynı mı?

  61. efe diyor ki:

    bölüm 10 da ragdoll işlemlerini yaptıktan sonra ölen zombi bu şekilde kalıyor, nerede sıkıntı olabilir?

    http://i.hizliresim.com/nrYPk0.png

    • yasirkula diyor ki:

      Aynı part’taki 38. sayfada yer alan soruna benzemiş biraz (farklı bir sorun da olabilir). Konsolda bir error almadığınızdan emin olun ve isterseniz örnek projedeki zombi ile sizin zombiniz arasında ne farklar var kontrol edin: http://www.speedyshare.com/xXqg8/TheGame.zip

      • efe diyor ki:

        hocam şunu farkettim, create dedikten sonra oluşturmuyor rigidbody felan, bileşenleri seçince de gözükmüyor, pelvis i seçiyorum gözükmüyor yeşil hatlar mesela.

      • efe diyor ki:

        hallettim hocam, ragdoll menüsün de yanlarında ki yuvarlaklara basarak seçim yapıyorumdum olmamıştı, sonra hierarchy den sürükle bırak yaptım tek tek oldu. teşekkürler yine de.

  62. efe diyor ki:

    bölüm11 sonunda şu hatayı aldım: http://i.hizliresim.com/MJ9B8M.png
    burada ne hatası olabilir : http://i.hizliresim.com/WYWpa4.png

    health 0 olduğunda ölmesi gerekirken dead yazısı ekran da çıkıyor ama animasyonlar devam ediyor. her şeyi kontrol ettim scriptlerin hepsi doğru.

    çözemiyorum.

  63. ahmet diyor ki:

    Hocam merhaba.Hocam kusura bakmayın bir sorum olacaktı.Ben karaktere bir raycast verdim ama sadece kendi göz hizasına gelen nesnelerin rengini değiştiriyor.Ama bazı nesneler göz hizasından aşağıda olduğundan raycast çarpmıyor.Hocam ben karakterin önündeki istediğim tüm nesnelerin (eğer tag varsa) renklerini değiştirmesini istiyorum.Bunu nasıl yapabilirim.Şimdiden taşekürler.

  64. Kimex diyor ki:

    Merhaba
    Protected,visual,override,abstract komutlarının ne işe yaradığını açıklayabilir misiniz ? Nette birkaç şey yazılmış ama üstün körü geçilmiş hep 😦

    • yasirkula diyor ki:

      Bunları anlamak için class extend etmenin ney olduğunu bilmeniz lazım. Örneğin “public class KarakterScript : MonoBehaviour” yazdığımız zaman KarakterScript class’ı MonoBehaviour class’ını extend ediyor. Artık MonoBehaviour class’ında yer alan ve private olmayan tüm değişkenlere (mesela transform değişkeni) ve fonksiyonlara (örneğin GetComponent) artık KarakterScript class’ından da erişilebiliyor. Aslında bu saydıklarım Component isimli class’tan geliyor ancak KarakterScript -> MonoBehaviour -> Behaviour -> Component şeklinde bir ilişki olduğundan Component’teki private olmayan bu şeylere MonoBehaviour’dan, dolayısıyla da KarakterScript’ten erişebiliyoruz. Extend edilen class’tan çekilen şeyleri Unity Script Reference’de “Inherited Members” adı altında görürsünüz zaten.

      Bir değişken veya fonksiyon protected olursa ona sadece o class’ı extend eden class’lardan erişilebilir (örneğin Behaviour class’ındaki protected bir değişkene sadece Behaviour, MonoBehaviour ve KarakterScript class’larından erişilebilir).

      Bir fonksiyon virtual olursa, o class’ı extend eden class’lar bu fonksiyonu override edip böylece fonksiyonun işleyişini değiştirebilir. Örneğin A : B şeklinde bir class hiyerarşisi var diyelim (A burada B’yi extend ediyor). B class’ında şöyle bir fonksiyon olsun:

      virtual void Test() { Debug.Log( “B” ); }

      A class’ında ise:

      override void Test() { Debug.Log( “A” ); }

      Elimizde bir A bir de B objesi var ise (sırasıyla x ve y)(A : B olduğu için aslında x teorik olarak hem A hem de B objesi olmuş oluyor) Test() fonksiyonu x için konsola “A” basarken y için konsola “B” basıyor. Buradaki avantaj ise şöyle: x aynı zamanda bir B objesi olduğundan dolayı hem x’i hem de y’yi “public B x, y;” şeklinde B değişkeninde tutabiliyoruz. Bu haldeyken x için Test fonksiyonunu çağırınca konsola yine “A” basılıyor.

      abstract keyword’ü ise biraz daha farklı bir şey. Bir class abstract ise direkt bu class’ın bir objesini oluşturamıyorsunuz. Hem abstract’ı anlatmak, hem de override’ı pekiştirmek için şöyle bir örnek verebilirim: elimizde “Araba” adında abstract bir class, bu class’ın içinde de “public abstract int Hiz();” isminde abstract bir fonksiyon olsun. Bu fonksiyonun süslü parantezleri yok çünkü bu fonksiyonun nasıl çalışacağını, Araba class’ını extend eden class’lar override ile belirleyecek.

      “BMW : Araba” ve “Toyota : Araba” şeklinde, Araba’yı extend eden 2 class olsun. Bu class’lar abstract değil diye varsayalım. Bu durumda bu class’lar Araba’nın Hiz fonksiyonunu override etmek zorunda (aksi taktirde compiler error verir):

      public override int Hiz() { return 130; } // BMW class’ındaki Hiz()
      public override int Hiz() { return 100; } // Toyota class’ındaki Hiz()

      BMW ve Toyota class’ları Araba’yı extend ettiği için bu iki class’ın objelerini de Araba türünde değişkenlerde tutabilme avantajına sahibiz (“public Araba bmw6, toyotaYaris;”). Araba class’ında abstract bir Hiz() fonksiyonu tanımladığımız ve bu fonksiyonu BMW ile Toyota’da (zorunlu olarak) override ettiğimiz için, bmw6 ve toyotaYaris objelerinin Hiz() fonksiyonunu çağırdığımız zaman her iki obje de Hiz fonksiyonuna kendisine özgü bir şekilde yanıt veriyor (biri 130, öbürü 100 döndürüyor).

      Diyebilirsiniz ki şu şekilde iki değişken de tanımlayabilirdik (hatta Araba’yı extend bile etmeyebilirdik):

      public BMW bmw6;
      public Toyota toyotaYaris;

      Evet böyle de yapabilirdik ancak elimizde çok sayıda BMW ve Toyota olsa o zaman bu objeleri “public Araba[] arabalar;” şeklinde tek bir array’de tutabilirken “public BMW[] bmwler;” ve “public Toyota[] toyotalar;” şeklinde 2 farklı array’de tutmak zorunda kalacaktık. Veya programımızda 10 farklı araba markası varsa her biri için ayrı ayrı array tutmak zorunda kalacaktık.

      Daha oyunlara yönelik bir örnek vererek yazıyı noktalayayım: oyununuzda her birisi kendisine özgü 15 farklı yaratık türü varsa, bu yaratıkların Yaratik isimli abstract bir class’ı extend etmesini ve “public abstract void OyuncuyaSaldir();” isimli bir fonksiyonu kendilerine özgü bir şekilde override etmelerini sağlayabilirsiniz (örneğin bir yaratık türü player’ın arkasına sinsice yaklaşarak saldırmayı tercih ederken başka bir yaratık türü havadan saldırmayı tercih edebilir). Artık sahnedeki tüm yaratıkları bir Yaratik[] array’inde tutup bu array’deki player’a yakın olan yaratıkların OyuncuyaSaldir() fonksiyonunu çağırabilirsiniz. Bu şekilde her yaratık türü için ayrı bir array tutmak zahmetinden de kurtulmuş olursunuz.

      Bu yorum size sadece bir başlangıç noktası olsun. İnternetten biraz daha araştırma yaparak daha kapsamlı bilgiler, örnekler ve tavsiyeler bulmaya çalışın zira nesne yönelimli programlamada (OOP) bahsettiğiniz bu kavramlar çok önemli bir yere sahip (her ne kadar Unity’de nispeten daha az kullanma gereği duysak da).

  65. efe diyor ki:

    merhaba yasir hocam, bazı sorularım olacak.

    oyun kazanıldığın da ‘you win’ yazısı ile birlikte oyunu durdurmak istiyorum ve ekrana skoru yazdırmak istiyorum, sonra da menü ye dönmek için de bir tuş atamak istiyorum.

    şu an ‘you win’ yazıyor ama oyun devam ediyor ve ‘you dead’ oluyor. ‘you dead’ yazsa da devam ediyor aslında yine durdurup skor yazdırmam lazım.

    bazı şeyler denedim ama başka hatalara sebeb oldu.

    fikir verebilirsen sevinirim.

    • yasirkula diyor ki:

      Oyunu durdurmak için en kolay yol Time.timeScale’i azaltmak (eğer değeri 0 olursa oyun tamamen durur). Oyunun bitince herşeyin küt diye donmasını istemiyorsanız Time.timeScale’i yumuşak bir şekilde 1’den 0’a çekebilirsiniz. Bunun için CombatGUI scriptine şu Update fonksiyonunu ekleyebilirsiniz:

      void Update()
      {
      	if( _playerHealth.IsDead || GameManager.HasPlayerWon )
      	{
      		float t = Time.timeScale - 0.01f;
      		if( t < 0f ) t = 0f;
      		Time.timeScale = t;
      	}
      }
      

      Şu anda oyun bitince CombatGUI’nin OnGUI fonksiyonu vasıtasıyla ekrana skor yazdırılıyor diye biliyorum ama yanlışım varsa düzeltin.

      EDIT: Oyun yeniden başlayınca herşeyin tekrar hareket edebilmesi için MainMenuGui ve CombatGui scriptlerinin Start fonksiyonuna “Time.timeScale = 1f;” kodunu da eklemek isteyebilirsiniz.

  66. selam diyor ki:

    merhaba sorum olacaktı,

    new game butonu çalışıyor ama options çalışmamaya başladı, scriptler de bir hata yok 2-3 kere kontrol ettim. sorun ne olabilir.??

    options gui: http://i.hizliresim.com/3oDGBr.jpg

    main menu gui: http://i.hizliresim.com/WYn3AN.jpg

    • yasirkula diyor ki:

      Sıkıntı şöyle ki options’ın ana menünün üzerine çizilmesi gerekirken bazen ana menü options’ın üzerine çizilebiliyor (çünkü bunu engelleyen bir kod yok scriptlerde ve bu durumda iş şansa kalıyor). Sorunu çözmek için MainMenuGui’de “GUI.skin = _guiSkin;” kodunun altına şunu ekleyin:

      if( OptionsGui.IsOpen )
      return;

  67. Burhan diyor ki:

    Ben unity3d oyun motorunda c# dili ile iyi bir oyun yapib nasil pazarlaya bilirim ? Ve oyun satislarindan elde edilen gelirin ne kadari oyunu yapan kisiye duser ?

    • yasirkula diyor ki:

      Unity ve C# ile iyi bir oyun yapıp Kickstarter veya Steam Greenlight üzerinden pazarlamasını yapabilirsiniz. Bu platformlarda gelir konusunda hiç bilgim yok.

  68. Burhan diyor ki:

    Hocam ben unity3 ve c# ile oyun yapmaga calisdigim zaman diyelim ki bazi hazir assetler kullandim ve ya onceden kimse tarafindan hazirlanmis bir modeli oyunumda kullandim ve bu oyun uzerinden pazarlmada iyi para kar etdim. Simdi ben bu hazir modeli hazirlayana tazminat odemelimiyim ? Diger bir sorum da olacakdi: Unity icin model hangi programlar yardimiyla yapa bilirim ve bu programlarin kitap derslikleri movcutmu ? Biraz uun sorular oldu kusura bakmayin. Onceden tesekkur ederim

    • yasirkula diyor ki:

      Parayla satılan bir asset ise sıkıntı çıkma riski var tabi ki. Doğru olan şey asset’in ücretsiz sürümü varsa onu kullanmak, yoksa da kullanmadan önce asset’i satın almak. Kendiniz modelleme için de Maya, 3ds Max veya Blender kullanabilirsiniz. Bunlar arasından Blender ücretsiz bir program. Ben Maya için Nebi Yıkaroğlu’nun Maya Unlimited kitabını okumuş ve beğenmiştim.

  69. Burhan diyor ki:

    Hocam ben c# dilinin temellerini ve bir cok ozelliklerini nerdeyse tamamen oyrenmis durumdayim. Sadece unity3d ve blenderi de oyrenmek iyi bir oyun yapa bilemek icin yeterlimidir ?

  70. Burhan diyor ki:

    Sizden baska iyi bilen birini tanimiyorum.
    Izninizle son bir sorum daha olacakdi : Online oyun yapa bilmek icin c#,unity ve blender-den baska ne gerekli biliyorsaniz lutfen soylermisiniz ?

    • yasirkula diyor ki:

      Çok deneyimim yok ancak Unity’nin kendi networking sistemini (UNet) kullanınca başka bir şeye gerek olmayabilir. MMORPG türünde devasa bir oyun düşünüyorsanız o zaman muhakkak başka araçlara ihtiyacınız olacaktır.

  71. Burhan diyor ki:

    unity icin iyi bir derslik biliyormusunuz ?

  72. Burhan diyor ki:

    Yardimlariniz icin cok tesekkur ederim

  73. Altug diyor ki:

    Merhaba,
    Bölüm5’teki “Sağa-Sola Bakmak” adımını uyguladım. Projeyi çalıştırdığımda hiçbir şekilde sağa-sola dönmüyor karakter, Input.GetAxis(“Mouse X”) “0” dönüyor geriye…
    Böyle bir problemle karşılaşan var mı?
    Teşekkürler.

  74. aduygulu diyor ki:

    Evet, Macbook-Parallels üzerinde win10 kullanıyorum… Birçok şey denedim, olmadı. Şimdi osx tarafına kuruyorum, bakalım nasıl olacak 🙂
    Teşekkürler yardımlarınız için…

  75. akrep diyor ki:

    merhaba bu derste unity’nin hangi versiyonu kullanıldı acaba solermısınız ben son surum ındırdım de asets fazla ozellık yok ya

Bir 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. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s