UNITY 3D Dersleri

SON GÜNCELLEME: 9 Aralık 2024 (git-amend kanal linki eklendi)

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/

KENDİ DERSLERİM
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.

yasirkula için bir cevap yazın Cevabı iptal et


104 yanıt

  1. yusufhan9161 Avatar

    Yasir bey kardeşim bir konuda buraya eğitim amaçlı konu açmanız gerektiğini düşünüyorum Gta tarzında oyun yapmaya çalışan arkadaşlarımız bende dahil olmak üzere daha çok kendim için açmış gibi düşünsenizde sadece benim için değil bu anlatacağım konuyla ilgili araştıran kimse yardımcı olmuş olursunuz. Konuya gelecek olursak oyun haritasında bir buton oluşturup veya haritada istenilen yere dokunarak player ile istenilen yere dokunlduğu yerden hesaplayarak navigasyon gibi yol çizelgesi oluşturmasını sağlamak

    1. yasirkula Avatar

      Doğrudan bu konuda tecrübem olmadan tahminde bulunmak istersem, A* pathfinding algoritması kullanıldığını düşünüyorum. Açıkçası NavMesh de çalışabilir ancak büyük bir haritada daha yavaş olabilir. Ancak GTA’da güzergah asfaltı takip ederken NavMesh’te bunu yapmak nasıl mümkün olur onun üzerine düşünmek lazım. NavMesh.CalculatePath fonksiyonunun döndürdüğü NavMeshPath objesinin corners değişkeni, bulunan güzergahın waypoint’lerini döndürmektedir.

  2. Kaan Gül Avatar
    Kaan Gül

    Gerçekten kafayı yemek üzereyim, nerede eksik olduğumu tespit etmek çok zor. Sürekli olarak udemy, çeşitli youtube kanalları bir ingilizce bir türkçe, bir burası gidip geliyorum. Süleyman bey, zilyon tane eğitim seti inceledim, bir sürü youtube kanalı inceledim. Ancak hepsi ezbere mantıkta gösteriyor. Bazıları bunu inkar etsede, siz de tecrübe etmişsinizdir ki ezbere mantıkta gösterdikleri aşikar. ‘Şunu yapıyorum, bunu yapıyorum ve bu oluyor’ tarzında göstermeleri ve açıklamaları cidden çok kafa karıştırıcı ve yıldırıcı oldu benim için. Tabii ki kimse bu konuda kimseye eğitim vermek yardımcı olmak zorunda değil, bazı insanlar örneğin sizin gibi bu konuda çok yardım sever olduğu için birilerine bir şeyler anlatıyorlar. Vesile olmak gerçekten yüklü bir iş.. Açıkçası yıllardır oyun geliştirme alanında gelişmek için sürekli kaynak arıyorum ve başta da bahsettiğim gibi bir türlü doğru kaynağa ulaşamadım. Yeterli seviyede dil bilgim olmadığı için ingilizce kaynaklarına hevesli olsam da bir süre sonra tıkanıyor. Sizden rica ediyorum, Unity de kodlama yaparken takip etmemiz gereken yol nedir? Cidden bunu anlayamamaya devam edersem bu işi yapma isteğim artık son bulacak.

    1. yasirkula Avatar

      Ben Unity’e başladığımda, öğrendiğim şeyleri Word’de not alıp ara ara üzerinden geçiyordum ve faydasını görüyordum. Yapabileceğiniz başka bir şey, takip ettiğiniz dersleri sadece izleyip geçmemek, bir yandan kendiniz de uygulamak olur. Ama ben genelde öyle yapmıyorum o yüzden tavsiye ediyorum etmiyorum diyemem. Yalnız kendim o şekilde yapmadığım için, izlediğim şeyler tamamen aklımda kalmıyor. Sadece kabaca teması aklımda kalıyor, benzer bir problem yaşadığımda “aa şu da vardı, o dersi tekrar bulmaya çalışayım” diyorum, o şekilde işime yarıyor. Bence en etkili öğrenme yöntemlerinden birisi, kendi başınıza kendi fikriniz olan bir proje geliştirmek olur (basitle başlayın). Orda karşılaştığınız sorunları araştırıp onlarla alakalı dersler izlediğinizde işte o zaman o bilgi kolay kolay aklınızdan çıkmaz. İhtiyacınız olmayan bir şey izleyince o kadar faydalı olmuyor. Örneğin ben birkaç kez ECS dersleri izledim ama ne ihtiyacım olduğu için izlemediğimden ne de kendim o dersin içeriğini uygulamadığımdan, aklımda doğru dürüst bir şey kalmadı.

      1. Kaan Gül Avatar
        Kaan Gül

        Tam olarak Unity de kodlamanın mantığı nedir peki hocam? Yani Unity kütüphaneleri kullanarak istediğimiz kodları nasıl oluşturabiliriz? Bu kodları oluştururken dikkat etmemiz gereken konular nelerdir? Bu konuda cidden detaylı bir yardıma ihtiyacımız var.

      2. yasirkula Avatar

        Unity’e has dikkat etmeniz gereken bir konu bence yok. Normal C#’ta konsol tabanlı (cmd) bir uygulama yaparken nasıl .NET kütüphanesinin sağladığı bileşenleri kullanıyorsanız (List, Dictionary, File, WebClient vb.), Unity’de de aynı durum var. Bu bileşenlerden haberdar olmanız lazım sadece. Örneğin List’i bilmediğiniz senaryoda List’i şu şekilde öğrenirsiniz bence: “array’de nasıl belirsiz sayıda eleman tutarım” diye aklınızda soru oluşur, bunu araştırdığınızda stackoverflow üzerinden List’in varlığından haberdar olursunuz ve bir daha List aklınızdan hiç çıkmaz. Veya “nasıl bir metin dosyası oluştururum” diye arattığınızda, yine google’ın yardımıyla File fonksiyonlarından haberdar olursunuz ve bunu uzun süre unutmazsınız. Unity’de de benzer şekilde, “nasıl iki objenin çarpıştığını anlarım” diye bir yerde takıldığınızda, bunu araştırınca OnCollisionEnter’ı görüp bundan haberdar olursunuz. Önceki mesajımda bunu demeye çalıştım; siz kendi başınıza küçük bir projeye başlarsanız, orda takıldığınız şeyleri google’ladıkça işte o zaman o şeyleri gerçek anlamda öğrenirsiniz ve aklınızda tutarsınız (bence). Karmaşık problemler için ise her zaman tek bir fonksiyonluk çözüm olmuyor ama bu durumda da daha önceki tecrübelerinizden ya kendiniz bir çözüm üretiyorsunuz ya da problemi daha ufak parçalara bölüp onları araştırarak parça parça çözüyorsunuz. Basit bir projeyle başlamanızı önerme sebebim de bu: proje basit olduğunda, karmaşık diyebileceğimiz problemler de yine çok zor olmuyor ve araştırınca çözüm bulması daha kolay oluyor. Böyle böyle kendi seviyenizi artırıp, Unity bilgi dağarcığınızı genişletip, gitgide daha zorlu projeler üzerinde çalışmalısınız.

  3. listekutusuu Avatar
    listekutusuu

    Hocam merhaba, ben bir uygulama yaptım. Uygulamamda birden fazla dil seçeneği mevcut fakat bir sorunum var çözemedim. Uygulama adını telefon diline göre nasıl değiştirebilirim. Yani uygulamamım adı sabit bir isim olmasın cihaz diline göre değişsin istiyorum.

    https://answers.unity.com/questions/654383/how-to-localization-app-name-on-android-platform-1.html

    Genel olarak bu çözüm önerilmiş fakat işe yaramadı.

    1. yasirkula Avatar

      İşe yarar mı bilmiyorum ama: bu dosyayı indirip Plugins/Android klasörüne taşıyın. Ardından dosyayı WinRAR veya 7-zip ile açın ve res klasörünüzü arşivin içine sürükle-bırak yaparak arşive ekleyin.

      İşe yaramadığı taktirde şöyle bir şey varmış: https://docs.unity3d.com/Packages/com.unity.localization@0.11/manual/Android-App-Localization.html

      1. listekutusuu Avatar
        listekutusuu

        Teşekkürler ilginiz için deneyeceğim.

      2. yazilimcitr Avatar

        Yasir bey merhaba, size dersler dışında bir sorum olucaktı çok araştırdım fakat net bir cevap bulamadım. Yıllardır Unity ile oyun geliştirip Play Store’da yayınlıyorum. Geçen yıl da şirket dahi kurmuştum vergileri ödemek için fakat geçen hafta aldığım bir mailde hesabımın kapatıldığını öğrendim ve herhangi bir açıklama yok itiraz ettim fakat yaptığım araştırmalarda itirazların dikkate alınmadığını anladım. “Bir daha yeni hesap açmayı denemeyin. İlişikli hesaplarınız da kapatılacaktır.” diyor Google gönderdiği mailde, aklıma takılan şu herhangi bir şirkette çalışmanın da mı önü kesiliyor böyle. Çevrenizde bu durumu yaşan birileri oldu mu veya bilginiz var mı bu konuda size bir sormak istedim.

      3. yasirkula Avatar

        Hesabınızın niçin kapatıldığını bilmediğim için yorum yapamıyorum ama bilseydim de büyük ihtimalle yine yardımcı olamazdım, bu beni aşan bir konuya benziyor. Böyle bir sorun yaşayan başka birisi olmadı çevremde. Umarım sorununuza çözüm bulursunuz.

  4. Osman Avatar
    Osman

    https://hizliresim.com/f556iz

    Hocam Teleframda senin githubunu sabitlenmiş mesaj yapmışlar emeğine sağlık çok verimli dersler.
    Ben gridleri anlatan dersi bulamadım var mı

    1. yasirkula Avatar

      Bilgilendirdiğiniz için teşekkür ederim, böyle şeyler görmek ister istemez insanı mutlu ediyor. Grid dersim maalesef yok.

    2. Vedat MİRZAOĞLU Avatar

      Merhaba hocam. Telefondan bi görsel seçip onu bi web dizinine kaydetmeyi ,ordan cekip bi sprite olarak sahneye ekleneyi nasil yapacagimizi anlatan bi ders yapsaniz çok iyi olurdu. Bu assetiniz var gorsel secme ama cok anlayamadim. Onu hostta bi klasore nasil atabiliriz?

      1. yasirkula Avatar

        UnityWebRequest ile sunucu ile iletişim kurmanız mümkün, ben bu konuda çok çalışmadım o yüzden şu anda yardımcı olamıyorum. Galeriden görsel seçmeye yarayan plugin’imin Türkçe dersine şuradan erişebilirsiniz: https://yasirkula.com/2018/06/04/unity-android-galeri-etkilesimi-resim-video-kaydetmek-veya-yuklemek/

  5. Sezer Avatar
    Sezer

    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?

    1. yasirkula Avatar

      Tekerleği yeniden icat etmemek için hazır bir asset kullanmanızı öneririm. Örneğin bu veya bunlar.

      1. Sezer Avatar
        Sezer

        Teşekkür ederim.

  6. Igrahiga Avatar
    Igrahiga

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

    1. yasirkula Avatar

      Teşekkür ederim, aynı şekilde. IDE için Edit-Preferences-External Tools’a bakabilirsin.

      1. Aleng Avatar
        Aleng

        Hocam merhaba, ios cihazlar için oyunumu yaptım ve inceleme için gönderdim. Oyunum çocuk oyunu ve oyunumda sadece Admob reklamları kullanıyorum ve reklamlar da çocuklara yönelik reklamlar. Apple yetkilileri oyunumda bilgi toplandığını bu yüzden bu eklentileri silmemi istedi fakat benim eklediğim 3.parti bi eklenti yok. Acaba Unity kendisi mi kullanıcılardan bilgi topluyor Unitynin bi eklentisi mi acaba? Bu konuda bilginiz var mı

        Apple ‘dan gelen hata başlığı “Guideline 1.3 – Safety – Kids Category”

      2. yasirkula Avatar

        Maalesef bilgim yok. AdMob panelinde reklam filtrelerinden çocuklarla alakasız kategorileri kaldırmayı deneyebilirsiniz. AdMob dersimde paylaştığım TagForChildDirectedTreatment fonksiyonuna da bakın isterseniz.

      3. Aleng Avatar
        Aleng

        Teşekkürler hocam

  7. Aleng Avatar
    Aleng

    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?

    1. yasirkula Avatar

      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.

      1. Aleng Avatar
        Aleng

        Anladım teşekkürler

  8. Aleng Avatar
    Aleng

    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

    1. yasirkula Avatar

      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.

      1. Aleng Avatar
        Aleng

        https://hizliresim.com/vcSKNy
        Eski projelerimde script dosyalarının hepsinde oluşan hata bu yeni script dosyası açsam bile aynı şey oluyor

      2. yasirkula Avatar

        Önceki mesajımı tam okumamışsınız.

      3. Aleng Avatar
        Aleng

        Unity 2020.1.16f1 (64-bit) sürümü indirince sorun çözüldü teşekkürler desteğiniz için

  9. Aleng Avatar
    Aleng

    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

    1. yasirkula Avatar

      Topu nasıl hareket ettiriyorsunuz?

      1. Aleng Avatar
        Aleng

        Character controller ile ileri ve sağ sol kontrollerini sağlıyorum

      2. yasirkula Avatar

        Parmakla bastığınız sürece, Update’te karakteri Y ekseni etrafında döndürebilirsiniz (top.transform.Rotate(new Vector3(0f,90f*Time.deltaTime,0f), Space.World) gibi). Buradaki 90f ne kadar küçük olursa, çemberin yarıçapı o kadar büyük olur.

    2. Aleng Avatar
      Aleng

      Teşekkürler

  10. Aleng Avatar
    Aleng

    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ı

    1. yasirkula Avatar

      Öğ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.

      1. Aleng Avatar
        Aleng

        Evet biliyorum ama en azından benim gördüğüm kadarıyla o sistemde yapay zeka öğrenmeye devam etmiyor.

      2. yasirkula Avatar

        Maalesef bu konu benim bilgim dışında kalıyor.

  11. Aleng Avatar
    Aleng

    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

    1. yasirkula Avatar

      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).

      1. Aleng Avatar
        Aleng

        Anladım teşekkürler

  12. Aleng Avatar
    Aleng

    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

    1. yasirkula Avatar

      Belki Occlusion Culling ayarlarınızın değişmesi gerekiyordur. Şu dersim işinize yaramazsa maalesef benim de fikrim yok: https://yasirkula.com/2020/03/31/unity-occlusion-culling-sistemi/

      1. Aleng Avatar
        Aleng

        Teşekkürler

  13. Aleng Avatar
    Aleng

    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

    1. yasirkula Avatar

      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.

      1. Aleng Avatar
        Aleng

        Desteğiniz için teşekkürler

  14. Emrullah Ertaş Avatar
    Emrullah Ertaş

    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

    1. yasirkula Avatar

      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 😀

  15. Aleng Avatar
    Aleng

    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]

    1. yasirkula Avatar

      Attığınız kısım hata mesajının stacktrace’inin son kısımları gibi duruyor. Hata mesajının tamamını görmem lazım.

      1. Aleng Avatar
        Aleng

        Sorunu çözdüm key dosyasıyla alakalıymış teşekkürler

  16. Aleng Avatar
    Aleng

    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

    1. yasirkula Avatar

      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.

      1. Aleng Avatar
        Aleng

        Teşekkürler

  17. Aleng Avatar
    Aleng

    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

    1. yasirkula Avatar

      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.

      1. Aleng Avatar
        Aleng

        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

      2. Aleng Avatar
        Aleng

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

      3. yasirkula Avatar

        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.

      4. Nihad Avatar
        Nihad

        Merhaba,ben forcemode.impulse cikmyor

      5. yasirkula Avatar

        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.

  18. Mucahit Avatar
    Mucahit

    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

    1. Mücahit Avatar
      Mücahit

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

      https://hizliresim.com/WzwmsB

    2. yasirkula Avatar

      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.

      1. Mucahit Avatar
        Mucahit

        Eyvallah abi yardımın için

      2. yazilimcitr Avatar

        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?

      3. yasirkula Avatar

        İ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.

  19. Bir Yazlımcı Avatar
    Bir Yazlımcı

    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.

    1. yasirkula Avatar

      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.

  20. Mucahit Avatar
    Mucahit

    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

    1. yasirkula Avatar

      Projector kullanabilirsiniz, bunun için “unity projector” şeklinde arama yapabilirsiniz.

  21. Sinan Ermiş Avatar
    Sinan Ermiş

    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

    1. yasirkula Avatar

      İlginiz için ben teşekkür ederim. Bahsettiğiniz notları bayağıdır güncellemiyorum ve açıkçası artık güncelleyeceğimi de sanmıyorum 😀 C# ve Javascript’in farkları konusunda basit bir ders yazmıştım, aslında o derse kabaca göz atarak kodları kendi başınıza da çevirebilirsiniz diye düşünüyorum: https://yasirkula.com/2013/08/21/unityde-javascript-unityscript-ile-cin-birbirinden-farklari/

  22. Mucahit Avatar
    Mucahit

    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?

    1. yasirkula Avatar

      Ç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.

      1. Mucahit Avatar
        Mucahit

        Eyvallah abi desteğin için

  23. furkan Avatar
    furkan

    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

    1. yasirkula Avatar

      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);

  24. gokdenizcalis Avatar
    gokdenizcalis

    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?

    1. yasirkula Avatar

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

      1. gokdenizcalis Avatar
        gokdenizcalis

        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?

      2. yasirkula Avatar

        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.

      3. gokdenizcalis Avatar
        gokdenizcalis

        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

      4. gokdenizcalis Avatar
        gokdenizcalis

        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.

      5. yasirkula Avatar

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

    2. gokdenizcalis Avatar

      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.

      1. gokdenizcalis Avatar
        gokdenizcalis

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

  25. Aykut Avatar
    Aykut

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

    1. yasirkula Avatar

      Ben teşekkür ederim.

  26. muhammed Avatar
    muhammed

    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.

    1. yasirkula Avatar

      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.

      1. muhammed Avatar
        muhammed

        Teşekkür ederim cevabınız için acaba tüm kodlara ulaşabileceğim bir yer var mı işte gameObject > şu anlama geliyor filan kod şu anlama geliyor gibisinden böyle bir site veya pdf varsa çok memnun olurum.

      2. yasirkula Avatar

        Şu an için böyle tek kaynak Unity Scripting Reference: https://docs.unity3d.com/ScriptReference/

        Ayrıca bkz: https://docs.unity3d.com/Manual/index.html

  27. yazilimcitr Avatar

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

    1. yasirkula Avatar

      Belki gelebilir, öneriniz için teşekkürler.

  28. radyodunyasi5656 Avatar

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

    1. yasirkula Avatar

      Öneriniz için teşekkür ederim 🙂

      1. radyodunyasi5656 Avatar

        abi sana zahmet cihazdaki müziklere erişip müzik çalar uygulaması yap ya

      2. yasirkula Avatar

        Bunu programlamak uzun zaman alacağı için bu konuda yardımcı olamayacağım.

  29. Ekrem May Avatar
    Ekrem May

    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 ?

    1. yasirkula Avatar

      Soruları bir dosyadan çekiyorsanız sıkıntı orada olabilir. Bir hata alıyor musunuz kontrol edin derim: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/