UNITY 3D İçin Ders Arayanlar Buraya – Güncel

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

SON GÜNCELLEME: 27 Aralık 2020 (Yerli ve yabancı derslerin listesi güncellendi)

Tekrar merhaba,

Bu yazıda sizlerle, ordan burdan derlemiş olduğum çeşitli Unity 3D dersleri paylaşacağım. Dersler için yazının devamını okuyabilirsiniz…

NOT: Buradaki derslere bakmadan önce, Unity hakkında sıkça sorulan soruları (S.S.S) incelemek isteyebilirsiniz: https://yasirkula.com/2014/09/05/unity-sikca-sorulan-sorular-s-s-s/

A) TÜRKÇE DERSLER

KENDİ YAZDIĞIM DERSLER
DİĞER DERSLER / SİTELER

………………………………………………………..

B) İNGİLİZCE DERSLER

Zamanla güncellenmektedir. Siz de kendi derslerinizi bu portalda paylaşmak isterseniz konu altına yorum atabilirsiniz.

yorum
  1. Sezer dedi ki:

    Merhaba!
    Bir proje üzerine çalışıyorum ve bu projede bir objeyi gerçek zamanlı olarak boyamak istiyorum. Fırçayla duvar boyar gibi ya da resim yapar gibi. Bunun çözümlerine baktım ama tam olarak ne yapmam gerektiğini anlayamadım bir türlü. Acaba siz bu konuda bir yol gösterebilir misiniz?

  2. Igrahiga dedi ki:

    Merhaba Yasir! Yeni yilin kutlu olsun! Unity’nin IDE editorunu nasil degistirebilirim. VS code ile degistirmek istiyorum. Benim unity 32-bit 5x

  3. Aleng dedi ki:

    Merhaba hocam ben 2016dan beri zaman zaman oyunlar yapıp play store da yayınladım oyunları. İlk başlarda politikaları falan bilmediğim için clone denilen 2 oyundan birisi askıya alındı ve birisi de kaldırıldı. 2 gün önce de eski oyunlarımdan birinin açıklama kısmında iki kez aynı kelime kullanmışım peş peşe fakat bunun sebebi çeviriden dolayı oluyor yani türkçede yakın anlamlı olan iki kelime çeviride aynı kelime olarak geçmiş ve bundan dolayı bu oyunum da askıya alındı. Şuan 4 oyunum var play store’da ama bu tür hatalar devam ederse hesabın kapatılabileceğini yazmışlar mailde yani gelir sağladığım oyunlar da gidebilir hatta daha kötüsü bir daha google play geliştirici hesabı açamayacağımı belirtmişler. Benim sorum size şu ben şimdi yeni bir google play geliştirici hesabı açsam ve 4 oyunumu oraya aktarsam eksiden yediğim cezalardan dolayı hesabımın kapanma riskini düşürür müyüm? yoksa yeni hesaba da o cezalar etki eder mi?

    • yasirkula dedi ki:

      Maalesef benim bilgim yok o yüzden yanlış bilgi vererek ümit vermek istemiyorum. Daha önceden Reddit’te bir kişinin google hesabının banlanmasının ardından, o google hesabıyla bağlantılı başka hesaplarının ve hatta şirket google hesabının bile banlandığını okumuştum. Buna benzer başka hikayeler de muhtemelen vardır o yüzden google’un ceza sisteminin “tahmin edilemez” ve “cezalandırıcı” olduğunda hemfikir olabiliriz.

  4. Aleng dedi ki:

    Merhabalar ben unityi silip tekrar yüklemek zorunda kaldım yeni proje oluşturduğumda sorun yok fakat eski projelerimi açmaya çalıştığımda script dosyasında UnityEngine kütüphanesini görmüyor bu yüzden tüm script kodlarımda hata oluyor bunu nasıl çözebilirim? Editor olarak visual studioyu aktif ettim

    • yasirkula dedi ki:

      Unity’nin konsolunda hata gözükmediği sürece sıkıntı yok. Visual Studio niye bazı kişilere böyle hatalar veriyor maalesef bilmiyorum. Unity ve Visual Studio’yu kapattıktan sonra projedeki Assets, ProjectSettings ve Packages harici tüm dosya ve klasörleri silip Unity’i yeniden başlatmayı deneyebilirsiniz.

  5. Aleng dedi ki:

    Yasir bey merhaba, 3d sonsuz bir oyun yapıyorum topum sürekli ileri gidecek ve ekrana parmakla basıp sağa doğru çektiğim sürece top saat yönün tersinde çember çizmeye başlasın bıraktığım zaman da o eksende kalsın yani bi çember etrafında hakaret ettirmek desem daha anlaşılır olur sanırım bunu nasıl yapabilirim

  6. Aleng dedi ki:

    Yasir bey merhaba ben uzun zamandır Unity ile oyun geliştirmekteyim ve geçinimimi böyle sağlamaktayım. Bu meslekte daha da kendimi geliştirmek istediğim içim öğrenmek ve bilgi sahibi olmak istediğim bazı konular var bundan birisi yapay zeka fakat basit bir yapay zekadan bahsetmiyorum yani belli mesafedeysem ateş etsin değilsem etrafta yürüsün gibi değil de istediğim şey mesela bir dövüş oyununda düşman benimle dövüşe dövüşe beni tanısın ve bir sonraki hamlemi tahmin etmeye çalışarak ona göre savunma yapsın bu tarz bir yapay zeka mantığını nasıl yapıldığını bu konuda bilgi sahibi olmak istiyorum acaba bunun için önerebileceğiniz bir kaynak var mı? Çok araştırma yaptım fakat hep verdiğim örnekteki gibi basit yapay zeka kaynaklarına ulaştım istediğim şey onlar değil açıkcası

    • yasirkula dedi ki:

      Öğrenen yapay zeka benim bildiğim kadarıyla machine learning kapsamına giriyor. Benim yapay zeka alanında çok az tecrübem var, machine learning alanında ise hiç tecrübem yok. Ancak Unity’nin Machine Learning paketi ile ilgili internette kaynaklar bulabilirsiniz. Bu paketi kullanınca oyun esnasında da yapay zeka öğrenmeye devam ediyor mu bu önemli bir soru, şu an için benim bir bilgim yok.

  7. Aleng dedi ki:

    Merhabalar 2d bir platform oyunu yapıyorum şöyle bir sıkıntım var karakterim karakterimin hareketini x poziyonuna değer ekleyerek gerçekleştiriyorum ve rigidbody componentine sahip. Sorun şu bazen karakterimi hareket edip bırakdığımda zeminde kaymaya devam ediyor bunu nasıl önleyebilirim. Rigidbody de x pozisyonunu kapatmak istemiyorum çünkü rampaları çıkamadığı zaman aşağıya kaysın istiyorum kapatırsam rampada hareketsiz kalıyor

    • yasirkula dedi ki:

      Rigidbody’i kinematic yapabilirsiniz. Eğer mümkün değilse, karakterin hareketi sonlandığında Rigidbody’sinin velocity’sini Vector2.zero’ya eşitleyebilirsiniz (veya sadece x değişkenini 0’a eşitleyebilirsiniz).

  8. Aleng dedi ki:

    Plane kullanarak sahnemi hazırlıyorum şöyle bir sorum olucak oyunum bir sokakta geçiyor ve bir çok mahallesi olan bir harita ve evlerin arkasında kalan objelerin çizilmesini istemiyorum occlusion kullanarak tüm objeleri static yaptım ve bake ettim fakat kameranın menzilinde olanları duvarın arkasında kalsa bile çiziyor bunu nasıl önleyebilirim performans için

  9. Aleng dedi ki:

    Merhabalar ben bir mobil oyun yapmayı planlıyorum fakat aklıma takılan bir konu var oyunumda büyük bir harita olucak ve ormanlık bir alan olması gerekiyor bu yüzden terrain kullanmayı düşünüyodum ama mobil için terrain mi kullanmak daha mantıklı plane mi yani haritamı tek terrainle yapmak mı daha çok performans harcar yoksa bir çok plane objesine birleştirmek mi

    • yasirkula dedi ki:

      Duyduğum kadarıyla terrain mobilde performanslı değil o yüzden plane objeleri kullanmak daha mantıklı. Bu plane objelerini tek bir objeye birleştirmeyin, böylece kameranın dışında kalan plane’ler boş yere çizilmek zorunda kalmaz. Terrain kullanırsanız da, Asset Store’da terrain’i mesh’e çevirip hatta bu mesh’i parçalara bölen ücretli asset’ler görmüştüm zamanında.

  10. Emrullah Ertaş dedi ki:

    hocam admob reklam konusu kapalı bu konuda kusura bakmayın.

    Hocam sizin sunduğunuz admob geçiş reklamı kodunuzu kullanıyorum.

    Hatta kodunuzda şu eklediğiniz butondan dolayı reklam gözükmüyordu. Kesinlikle bundan dolayı o konuda fazlasıyla olumsuz yorum aldınız.

    void OnGUI() eklediğiniz butondaki fonksiyonu tamamilen sildim. Ondan sonra yeni fonksiyon oluşturup
    public void ReklamiGoster()
    {
    reklamObjesi.Show();
    }

    aynı bu şekilde admobgeçişreklam koduna ekledim. Ondan sonra buton tıklama olayına bu fonksiyonu çağırdım. Sonunda reklam çıktı. %100 eşleşme oranı var. voidOnGUI i denediğimde reklamlar hiç çıkmıyordu. Neyse sorunu size sormak istedim 🙂
    Bu arada “public void ReklamiGoster()” şeklinde fonksiyon yaptığım için istek ve gösterimde dağ gibi fark var. Şunu düzeltmenin yolu varmıdır 😀
    (Sizin eklediğiniz koddaki buton ile çağırmayı yapamadım.) sadece ongui() fonksiyonunu silip reklamigoster fonksiyonu ekledim.

    https://i.imgyukle.com/2020/09/30/5HRuqv.png

    • yasirkula dedi ki:

      OnGUI’deki kod benim testlerimde çalışıyordu o yüzden yorum yapamıyorum. İstek ve gösterim sayısı arasındaki farkın olası bir sebebi, oyunun başında interstitial reklamın sunucundan çekilmesi (istek) ancak oyuncunun interstitial reklam gösterilen yere (gösterim) gelmeden oyundan çıkması olabilir. Tabi bu benim tahminim, hata payım olabilir 😀

  11. Aleng dedi ki:

    Merhaba oyunumu güncellerken böyle bir sorun aldım ve bir türlü çözümünü bulamadım sebebi nedir acaba yardım eder misiniz?

    Users/builduser/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)[/ICODE]

  12. Aleng dedi ki:

    Merhabalar, oyunumda karakter olarak bir top kullanıyorum ve istediğim şey bu top bir zemine çarptığı zaman ileriye doğru zıplasın bunu nasıl yapabilirim

    • yasirkula dedi ki:

      Zemin objesinin layer’ını Zemin olarak değiştirip ardından topa verdiğiniz script’in OnCollisionEnter fonksiyonunda, collision.collider.CompareTag("Zemin") true ise, topRigidbody.AddForce(new Vector3(0f, 10f, 10f), ForceMode.Impulse); kodunu çalıştırabilirsiniz.

  13. Aleng dedi ki:

    Merhaba abi ben oyunumda şöyle bir şey yapmak istiyorum bir tane karakterim olucak ve 2 tane farklı pozisyonlarda küpler olucak karakter oyun ilk başladığında 1 küp objesine doğru giderken eğer ekrana bir kere basılırsa 2 küp objesine doğru hareket etsin bunu nasıl yapabilirim

    • yasirkula dedi ki:

      bool ikinciKupeGit = false; değişkeniniz olsun. Input.GetMouseButtonDown(0) koşulu true döndürürse bu değişkenin değerini true yapın. Update fonksiyonunda da ikinciKupeGit true ise 2. küpe, yoksa 1. küpe doğru hareket edin. Bunun için transform.Translate, Vector3.MoveTowards veya Vector3.Lerp kullanabilirsiniz.

      • Aleng dedi ki:

        istediğim oldu fakat şöyle bir sorun çıktı ekranda menu butonları olduğu için o butonlara basılınca da bool değişiyor bunun önüne nasıl geçebilirim

      • Aleng dedi ki:

        ekrana basılma komutunda;
        Input.GetKeyDown(KeyCode.Mouse0) kullanıyorum

      • yasirkula dedi ki:

        GetKeyDown true ise ilaveten UnityEngine.EventSystems.EventSystem.current.IsPointerOverGameObject()’in false olup olmadığına da bakın. Eğer değeri true ise ikinciKupeGit’in değerini ellemeyin.

      • Nihad dedi ki:

        Merhaba,ben forcemode.impulse cikmyor

      • yasirkula dedi ki:

        Eğer Unity hata vermiyorsa bu Visual Studio’nun bir sorunudur, en son Visual Studio Community sürümünü kurmanızı öneririm. Unity de hata veriyorsa, Impulse’lı satırı görmem gerekecek.

  14. Mucahit dedi ki:

    Selamun aleyküm abi ben 2d oyunumda ekrana 4×4 16 adet buton oluşturuyorum istediğim şey şu herhangi bir butona basıldığında çevresinde kendisine temas eden diğer butonları seçmek istiyorum nasıl yapabilirim

    • Mücahit dedi ki:

      Daha açıklayıcı olması açısından istediğim şey görseldekine çok benziyor

      https://hizliresim.com/WzwmsB

    • yasirkula dedi ki:

      Bu butonları 2 boyutlu bir GameObject[][] dizisinde tutup, iç içe 2 tane for döngüsü ile, tıklanan butonun dizide hangi index’lerde yer aldığını bulabilirsiniz. Bu safhada, butonun çevresindeki butonları bulmak, index’leri 1 artırıp azaltmaktan ibaret. 2 boyutlu dizilerle çalışmadıysanız, öncelikle “c# 2 boyutlu dizi” şeklinde arama yapmanızı öneririm.

      • Mucahit dedi ki:

        Eyvallah abi yardımın için

      • yazilimcitr dedi ki:

        bir sorum daha olucaktı 2d polygon collider kullanıyorum istediğim şey butona basıldığında butonun neresine basıldığını konum olarak alabilir miyim?Yani butonun üst kısmına basılırsa 1 alt kısmına basılırsa 0 sağ ve sol kısımlar içinde bir int döndürebilmem mümkün mü ve mümkünse nasıl yapabilirim?

      • yasirkula dedi ki:

        İmlecin konumu ile objenin konumunun x ve y bileşenlerini if döngüleri içerisinde kıyaslayabilirsiniz. İmlecin x’i objeninkinden büyükse, sağına basılmıştır.

  15. Bir Yazlımcı dedi ki:

    Yasir Hocam merhabalar. Bir oyun yapıyorum oyunun mantığı şu : Bir küpümüz var bu küp sonsuz bir yolda ilerliyor ve ara sıra önüne boşluklar çıkıyor. Bu çıkan boşluklarda sağa-sola hareket eden bir platform var ve oyuncu bu platform üstünden karşı yola geçmeye çalışıyor. -Stack oyununun mantığındaki gibi- Platformun dışında kalan kısmın kesilip düşmesi lazım uğraşıyorum ama bir türlü yapamadım. Biraz alakasız bir yere yazdım kusura bakmayın. Cevaplarsanız sevinirim. Şimdiden teşekkürler.

    • yasirkula dedi ki:

      Eğer yüzeyler Stack gibi sadece küplerden oluşuyorsa, küpü kesmek yerine Scale’i ile oynayarak onu kısaltabilir, kesilen kısım için de o ebatlarda ayrı bir küp Instantiate edebilirsiniz. Aksi taktirde “unity slice github” şeklinde arama yaparak hazır asset’ler bulabilirsiniz.

  16. Mucahit dedi ki:

    Selamun aleyküm abi bi sorum olucaktı futbol oyunlarında fifa pes gibi oyunlarda topun yere düşeceği alanda bir gösterge olur onu nasıl yapabilirim acaba

  17. Sinan Ermiş dedi ki:

    Yasir hocam, merhaba. Sitenizi 4 senedir biliyordum zaten, ama oyun geliştirme yönünde bir kariyer planlamasını bu sene yaptım. Bir kenarlara not ettiğim sitenizi aradım ama yasirkula.blogspot.com olarak kaydetmişim siteyi yayından kaldırdınız sandım ilk başta. Daha sonra burayı bulunca epey mutlu oldum. Sitenizde insanlara çok güzel yardımlarınız dokunuyor. Herkes adına teşekkür ederim. Aklıma gelmişken, scripting referans dosyasını c#’a göre yenileme şansınız var mı? Kodlamayı yeni öğreniyorum, bir de üzerine unity referans kütüphanesinden bir şeyleri anlamaya çalışmak çok yorucu oluyor. Vaktim yok derseniz bu şekilde de kullanabiliyorum gerçi. Her neyse; sevildiğinizi bilmenizi ve ileride bir oyun üretirsem credits’te yer alacağınızı bilmenizi isterim 🙂 iyi günler

  18. Mucahit dedi ki:

    Selamun aleyküm abi ben oyunumda ekrana basılıp sürükletildiğinde bir çizgi çıksın istiyorum fakat izlediğim videolarda çizgiler çok stabil değil yani yamuk falan gidiyo ben bunları nasıl kısıtlayabilirim x kordinatı hiç değişmesin dümdüz olsun ve düz giderken yukarı doğru yönelirse yumuşak bir geçiş nasıl yapabilirim?

    • yasirkula dedi ki:

      Çizginin çizilmeye başladığı nokta p1 ve parmağın ekrandaki mevcut konumu da p2 ise, Vector2.Angle(p2-p1,Vector2.right) fonksiyonu ile p1’den p2’ye giden doğru ile x ekseni arasındaki açıyı bulabilirsiniz. Ardından bu açı belli bir dereceden küçükse p2’nin y’sini p1’in y’sine eşitleyebilirsiniz. Geçişlerin yumuşak olması için Line Renderer’ınızın Corner Vertices değerini artırabilirsiniz.

  19. furkan dedi ki:

    hocam merhaba ben objemin tagini verdiğim colliderın içinde 2saniye kalıp yok olmasını istiyorum eğer içindeyse bu gerçekleşecek IEnumerator de yazmayı denedim sıkıntı çıktı sonra normal olarak deneyeyim dedim yani IEnumerator içinde değil
    void OnTriggerStay(Collider col)
    {
    if (col.tag != “yok”)
    {
    Destroy(col.GetComponent());

    }
    }
    bunu yazdım değen obje yok oldu nasıl yapacağım yardımınız için teşekkürler

    • yasirkula dedi ki:

      Obje collider’ın içinde 2 saniyeden az kalırsa yok olmamalı diye varsayıyorum. Bu durumda “private float yokOl = float.PositiveInfinity;” değişkeniniz olsun ve OnTriggerEnter’da “yokOl=Time.time+2f;” yapın. OnTriggerExit’ta ise “yokOl=float.PositiveInfinity;” yapın. Update’te ise:

      if(Time.time > yokOl)
      Destroy(gameObject);

  20. gokdenizcalis dedi ki:

    https://i.hizliresim.com/8aXqjA.jpg Resimde ki hatayı alıyorum, internetten baktım, gruplara vs yazdım ama bir türlü çözüme ulaşamadım hocam yardımcı olabilirmisiniz?

    • yasirkula dedi ki:

      Retry bir işe yaramıyorsa Continue diyip geçebilirsiniz. Bir sıkıntı olmaz diye umuyorum.

      • gokdenizcalis dedi ki:

        C:\Users\İbrahim\AppData\Local\Unity\cache\npm\packages.unity.com\.tmp\tmp-5760FjUsfVtKqzx7\package\package.json yolunda ki package.json dosyasının olmadığı söylüyor sanırsam, sizde de bu konumda bu dosya var mı? var ise upload edebilirmisiniz?

      • yasirkula dedi ki:

        Bende .tmp klasörünün içerisi boş. Biraz zahmetli olacak ama isterseniz Unity’i silip tekrar kurmayı deneyebilirsiniz. Ya da eğer hata projenize bir zarar veriyor gibi durmuyorsa, onu yoksayabilirsiniz. Bir yerde okuduğuma göre, bir kişi benzer bir hatayı Windows’unu güncelleyerek gidermiş, ne kadar doğrudur bilemiyorum.

      • gokdenizcalis dedi ki:

        Windows 7 ve güncel unity en son yayınlanan Unity 2018.3.6f1 (64-bit) sürümünde oldu böyle. Bir zararını görene kadar böyle devam edelim o zaman. Çok teşekkürler cevaplar için

      • gokdenizcalis dedi ki:

        Unity formunda aynı sorunu sorduğum da services-config.json dosyasını sildiğim zaman işe yarayabileceğini söyledi fakat dosyayı bir türlü bulamadım

        arkadaş burada olduğunu söylüyor fakat bulamadım 🙂 kendisi win kullanmadığını söyledi yanlış söylemiş olabilir

        nerede ki bu dosya?

        %ALLUSERPROFILE%\Unity\config\services-config.json

        I was told that %ALLUSERPROFILE% usually expand to C:\ProgramData.

      • yasirkula dedi ki:

        Kendi bilgisayarımda kabaca baktım ama bulamadım, ben maalesef bilmiyorum.

    • gokdenizcalis dedi ki:

      Hata sanırım dil kaynaklı, aynı dosyalar ile defalarca format atıp denememe rağmen sonuç alamamıştım, windows kurulurken ingilizce olarak kurdum herhangi bir hata vermiyor şuan. Değişen tek şey dil.

      • gokdenizcalis dedi ki:

        Böyle bir sorun ile karşılaşan arkadaşlar Unity Türkçe karekterleri her an her yerde sorun sayabilir .

  21. Aykut dedi ki:

    Sadece teşekkür etmek istedim. Ellerinize sağlık süper bir site olmuş !

  22. muhammed dedi ki:

    Unitynin her yerini anladım ama kodları nasıl öğrenirim bir türlü anlayamadım. Yani videolara bakıyorum hep anlatıyorlar ama öyle değil. Bir oyun yaparken hangi kod nereye geleceğini işte şu kodun şu işe yaradığını anlatan yok.

    • yasirkula dedi ki:

      Takip ettiğiniz derslerde yeni gördüğünüz kodların ne işe yaradığını, mümkünse basit bir örnek ile bir metin belgesine yazıp bunu ara ara tekrar etmeniz çok işinize yarayacaktır. Genelde bir fonksiyonun ne işe yaradığını söylemeden derslerde o fonksiyonu kullanmazlar, eğer böyle bir duruma denk gelirseniz de fonksiyonu internette aratıp, Unity Scripting Reference üzerinden fonksiyonun ne işe yaradığına bakabilirsiniz.

  23. yazilimcitr dedi ki:

    Selamın aleyküm abi arttırılmış gerçeklik dersi gelicek mi

  24. radyodunyasi5656 dedi ki:

    Gunluk bonus ve oyunun arka planda çalismasini da yap abi sana zahmet

  25. Ekrem May dedi ki:

    soru oyunu yaptım fakat ünityde çalışıyor sorunsuz bilgisayara build ettim ordada çaılışıyor ama androide build ettim telefona attım ve yükledim görüntü yok nedeni nedir acaba ?

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.