Ziyaretçi Defteri

Hepinize selamlar. Buradan sitemiz hakkında yorumlarınızı, isteklerinizi, rahatsız edici bulduğunuz şeyleri veya sitemiz hakkında herhangi bir paylaşımınızı belirtebilirsiniz. Burada belirteceğiniz şeyler benim için çok önemli olup sitenin gelişiminde önemli bir etkisi olacaktır. Ayrıca burada siteyle alakası olmasa bile görüşlerinizi, dileklerinizi paylaşabilirsiniz. Şimdiden teşekkürler.

yorum
  1. zihni sinir dedi ki:

    İNSAN BİR COĞRAFYADIR
    İnsanın değişmesini zorlaştıran etmenlerden birinin de, onun bir coğrafya olduğunun anlaşılmasından kaynaklandığını söyleyebiliriz. Onu meydana getiren yalnızca düşünce sistemi olmadığı için, onu yalnızca bilgiyle değiştirmeye çalışmak büyük bir yanlıştır.
    İnsan, coğrafyasıyla düşünür, değişir. Dönüşümünde “bilgi”nin yanı sıra coğrafyayı oluşturan diğer öğelerin de etkileri vardır. Bilgi yalnızca onun düşüncesi üzerinde yoğunlaşan bir etki yapar.
    Evrenden gelen uyaranlar, kapsama alanından geçerek coğrafyanın içlerine ulaşır. İnsan kapsama alanıyla bir insandır. Kapsama alanı onun coğrafyasıdır. Coğrafya evrenden aldıklarıyla dönüşür. Evren de coğrafyadan kazandıklarıyla! Coğrafya evreni kendine kendini evrene yansıtır. Coğrafya bir eylem merkezidir. Etki alanındaki diğer coğrafyalarla bir arada yaşaması sağlıklı iletişim olanağı ile gerçekleşebilir.
    Coğrafya aynı zamanda bir “üretim” “yaratım” oluşturma merkezidir. Hangi yönümüz zayıf? Sorusuyla coğrafyamızın gücü sorgulanabilir. Bağımsızlık, yaratıcılık mücadele etme ve direnme gibi yönlerimiz irdelenebilir.

    Anılar “Cehennem Sıcağında”

    Bir yaz fırtınası bu
    Ansızın esen
    Ağaç dallarına tünemiş
    Bir sürü yorgun kuş
    Ve dere kenarında şarkı söyleyen o kız

    Ruhları sakinleştiren bir ninni gibi
    Yolunu kaybetmiş yolcuların
    Etrafında dönen incecik esintiler
    Ve hayata küsmüş bir adam

    Çöküyor olduğu yere
    Su sızıyor gözkapaklarından aşağı
    Tedirgin edecek bir şey kalmadı ya
    Bu cehennem sıcağında
    Dalıyor o da uykuya

    Kasıp kavuran ateşini
    Salma üstüme ey güneş
    Bekle, insaf et biraz
    Ört gözlerimi uyku
    Asılık çınar ağacının gölgeleriyle

    Sonsuza dek sürüp gitsin bu kısacık süre
    Düşler sevgilime kavuşturunca beni
    Sarılacağım ona hasretle
    Mutlu ve huzurlu bir şekilde
    Sonra ne kötülük yaparsanız yapın
    Umurumda değil
    Onur Sezgin 11.08.2010

    1.perde 2.kısım “O kız”

    Nereye gitsem, o kız çıkıyor önüme
    Hep o içimdeki derin aynadan bakıyor yüzüme
    İçtiğim suda bile gölgesini görüyorum

    Baharın süslediği ovalara çıkıp
    Leylak dallarından çelenkler yapmış
    Sabırla bekliyor beni, bir balıkçı gibi
    Sonra atıyor ağlarını üstüme
    Onur Sezgin 16.08.2010

    1.perde 3.kısım “Uçup Gidersem Eğer”

    Sis olur
    Uzanır bir örtü gibi üzerimize
    Sonra yavaş yavaş kaybolur
    Ya anılar?

    Hançeri kendine doğru çevirmişsin
    Bu ne demek oluyor böyle?

    Bir gün uçup gidersem eğer
    Sen yaya kalacaksın
    Akşam gölgeleriyle

    Bense, çakıl taşları üzerinde
    Yürümek zorunda olsam bile
    Yine de seninle yürümek isterim

    Sana bir avuç inci gönderiyorum
    Işıl ışıl tak onları,
    Portakal çiçekleriyle tak
    Onur Sezgin 18.08.2010

    Gökteki bulutlar olduğu gibi
    donup kalsa
    O güzel kızlar karşımda durur
    bir süre daha

    Güneş nereye kayboldu?

    Ya bu çiseleyen yağmur?

    Bahar eski bahar değil mi?

    Bir ben mi kaldım değişmeyen?
    Onur Sezgin 28.08.2010

    Partilerin derin karanlığında
    Halk öyle çok uyutuldu ki,

    Artık hiç bilemiyor
    Düş nedir, gerçek nedir?

    Gece yarısında bir ana
    Acı acı inliyor

    Belli ki unutsa huzura kavuşacağı
    Bir şeyler hatırlamış
    Onur Sezgin 30.08.2010

    Sonbaharda yükselen sisleri
    Geride bırakarak uçuyor göçmen kuşlar

    Bulutlara karşı kanat çırpıp
    Rüzgara meydan okuyarak

    Onlarla dost olabilmek için
    Hep tomurcuklar açtı bahçemde

    Şimdi her yer çiçekle doldu
    Ama bendeki özlem hala tomurcuk

    Bin okla vurdu beni zaman
    Çakılıp kaldım olduğum yere

    Güya hiçbir yaydan çıkmamış bu oklar
    Gerçek söyledikleri gibiyse
    Delik deşik oluşum niye
    Onur Sezgin 10.09.2010

  2. Mustafa Taha ŞAHİN dedi ki:

    Gerçekten çok başarılı bir site Yasir bey sizi tebrik ediyorum. Oyun yapımına merak salan gençler için maalesef türkçe kaynak yok gibi bir şeydi. Ama siz uğraşmış ingilizce dökümanları türkçeleştirmişsiniz.Yazılarınızı bekliyoruz…

    • yasirkula dedi ki:

      Teşekkürler 🙂

      • fauk367 dedi ki:

        yapılmış oyunları indirip üzerinde değişiklikler yapabileceğimiz bir bölüm de yapabilirmisiniz?

      • yasirkula dedi ki:

        Benim yaptığım oyunlardan bahsediyorsanız Google Play’e koyduğum oyunları kapalı kaynak yapıyorum ama daha önceden yaptığım Game Maker oyunları açık kaynak olarak Oyun Çalışmalarımız sayfasında mevcut.

      • fauk367 dedi ki:

        unity 3d için açık kaynak oyunları paylaşabilirmisiniz?

      • fauk367 dedi ki:

        birde unity 3d tower defense oyun yapımı dersinizde düşman ayıyı indirme linki kırık galiba nerden indirebilirim ?

      • yasirkula dedi ki:

        Linki güncelledim, uyarı için teşekkürler. Açık kaynak oyun paylaşmayı düşünmüyorum. İki sebebi var:

        1- İnternetten araştırınca siz de bulabilirsiniz açık kaynak oyunları.
        2- Ben araştırmaya üşeniyorum 😀

      • max78 dedi ki:

        peki fps oyun yapma bölümü olucakmı?(unity)

      • yasirkula dedi ki:

        Öyle bir planım yok şu an için.

      • sede dedi ki:

        tower defense bölümünde herşeyi yaptım ama teddy scriptini yaptıktan sonra başlat tuşuna basınca,scriptde kullandıgınız büyüktür ve küçüktür işaretleri(yorumda gözükmedigi için yazamadım)hata veriyor acaba onun yerine parantez işareti olabilirmi?

      • sede dedi ki:

        bütün “<span"kelimesinin önünde var ve hata veriyor

      • sede dedi ki:

        buyrun hata bu nasıl yapabilirim ?

      • yasirkula dedi ki:

        Dediğiniz “<span…" kelimesi < ve büyüktür işaretlerinin yerine geçiyor. Normalde asla orada span yazmaması lazım. Firefox ile dersi açıp "span" kelimesini arattım ama bulamadım, scriptlerdeki karakterleri bende düzgün gözüküyordu. Sizde hâlâ “<span…" diye mi gözüküyor? Tarayıcınız nedir?

      • sede dedi ki:

        chorome

      • sede dedi ki:


        firefox ile denedim yine de <span yazısı duruyor

      • sede dedi ki:

        çok teşekkür ederim birdaha denedim ve firefox ile oluyor 🙂

      • yasirkula dedi ki:

        Çok ilginç bir sorun bu. Nedenini bir türlü anlamadım. Özel bir işlem yaptınız mı düzelmesi için?

      • yasirkula dedi ki:

        Sorunu çözmüş olabilirim. Chrome’da tekrar dener misiniz?

        EDIT: Sorun kesinlikle çözülmemiş. WordPress hesabımdan çıkış yapınca <span yazıları bende de gözüküyor. Sebebini hiç anlamadım. Ama çok rahatsız edici birşey.

      • sede dedi ki:

        choromeden girince hala gözüküyor ama çok önemli değil bence dersin başına “firefoxtan girin” yazdınızmı yeter 🙂

      • yasirkula dedi ki:

        Sorun WordPress’e giriş yapıp yapmamış olmakta gibi duruyor şu an. WordPress’e hesabımla giriş yapınca scriptler düzgün, çıkış yapınca bozuk oluyor.

      • sede dedi ki:


        çok soru sordum ama bu hatayıda açıklarsanız oyun bitecek :((
        [bullet scripti]

    • yasirkula dedi ki:

      Scripti güncelledim. Sorunun çözülmüş olması lazım.

      • sede dedi ki:

        evet herşey tmm bide towerslot kodunu güncellerseniz tmmdır.
        http://i.hizliresim.com/vzRpQR.png böyle bir hata veriyor oyunu bitirmek istiyorum.:(

      • yasirkula dedi ki:

        “public class TowerSlot : MonoBehaviour {”

        Heralde bu satırı taşıyan iki scriptiniz var. Eğer TowerSlot.cs diye bir scriptiniz varsa onu silin. TowerSlots kalsın sadece.

      • ömer frk dedi ki:

        Bendede oldu dersin en altinda towerslots.cs adli bir script olusturun diyor ama kodda towerslot yaziyor bunu duzeltirsen olucaktir.

  3. Ayşe dedi ki:

    Çok başarılı, ilginç ve farklı bir site olmuş. Siteyi hazırlayanlara teşekkür ederim. Çok faydalı buldum. Başarılar.

  4. murat dedi ki:

    güzel ve faydalı bir site gerçekten

  5. possessor dedi ki:

    Merhaba. Öncelikle bu siteyi oluşturmanız bu konuda meraklı insanların sorularına yanıt olduğunuz için size teşekkür ediyorum. Size okul ve kariyer hayatınızda başarılar dilerim.
    Bu siteyi bulmam çok farklı bi yoldan oldu. Benim oyun yapımı ile alakam yok sadece 3d programlara çok meraklıyım. İyi derece C4d biliyorum biraz Max ve Zbrush. Aslında ve interaktif bir site yapmak için bir yol arıyordum şu an ortalarda olan WebGl ve VRLM gibi derleyiciler var ancak ben bunların dışında basit birşey olan aynı zamanda flash destekli birşey araştırırken Unity’i keşfettim. Ve burdaki türkçe kaynaklar programa ısınmamda baya yardımcı oldu. Tabi buradaki konular daha çok oyun yapımı ile doğal olarak. Şu an ufak birşeyler tasarladım fakat objeleri hala bir butona (buton web dili ile tıklana bilir nesne) çeviremedim.
    Örnek vermem gerekirse Bİr cube düşünün ve bu cube’e tıkladığımda Scenede başka bir alana gitsin yada bir olayı başlatsın. Bu konuda bana yardımcı olursanız çok sevinirim. Saygılar teşekkürler.

    • yasirkula dedi ki:

      Öncelikle yorumunuz için teşekkürler. Geç cevap yazıyorum çünkü internete son birkaç gün boyunca daha yeni ulaştım ve yorumunuzu henüz gördüm.
      Sorduğunuz soruya gelince, Unity’de tam da bir objenin üzerine mouse’nin getirilip getirilmediğine veya objeye mouse ile tıklanıp tıklanmadığına bakan fonksiyonlar mevcut! Mouse objenin üzerine ilk defa geldiğinde yapılacak şeyler ‘OnMouseEnter()’ (Bkz. http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.OnMouseEnter.html ) mouse bir objenin üzerinde olduğu sürece yapılacak şeyler ‘OnMouseOver()’ (Bkz. http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.OnMouseOver.html ) ve bir objeye Mouse ile tıklandığında yapılacak şeyler ‘OnMouseDown’ (Bkz. http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.OnMouseDown.html ) fonksiyonlarıyla ayarlanabiliyor. Uzun süre Unity’e veya başka bir programa bakamadığımdan fonksiyonları nasıl kullanacağınızı anlatamıyorum ancak verdiğim linklerden anladığım kadarıyla ilgili objenin Collider’inin olması lazım. Zaten sitedeki tutoriallere baktığınıza göre neyin nasıl yapılacağını az biraz anlamışsınızdır.
      Sorunuzun küçük bir kısmı olan mouse ile tıklanınca şuraya nasıl baktıracağım kamerayı sorusu için ise kameranın Translate fonksiyonunu kullanabilirsiniz.
      Umarım yardımcı olmuştur, başka sorularınız olursa yine sorabilirsiniz. Başarılar!

  6. Fırat dedi ki:

    Game makerla ilgili bir sorum olcak atıyorum ben bir düşman yaptım, bu düşmanı karakterim öldürdükten 5 saniye sonra tekrar nasıl canlanabilir ?

    • yasirkula dedi ki:

      Düşmanı öldürdükten sonra düşmanın ölüsü yerde kalıyor mu? Kalıyorsa ölünün alarm1’ini 150’ye kurun (1 saniye=30 step) ve alarm1 eventinde Change Instance aksiyonuyla ölüyü geri canlı düşmana çevirin.

  7. Mustafa Coşkun dedi ki:

    yasirkula bana ulaşır mısın siteme tema kurdurdum hosting aldığım yere. adam dedi bu temayı değiştirmeyin yaptığım bileşenler eklentiler tüm ayarlamalar vs. gider yeni temaya tekrar yapamam dedi. bende başka tema yüklemek istiyorum wordpress portal teması yüklemek istiyorum ne yapmam lazım yardımcı olur musun? şu anki tema mantra. yüklemek istediğim portal teması. portal temasını bir internet sitesinden ücretsiz indirdim. şu an elimde var. bana ulaşır mısın? mustafacoskun_kk@hotmail.com gündüz 2.30 – 4.00 arası, akşam 9.30 – 11.30 arası açık oluyorum.

    • yasirkula dedi ki:

      Bana ulaştığınız için teşekkürler ama siz WordPress.org sistemini kullanıyorsunuz. Ben WordPress.com sistemini kullanıyorum ve 2 sistem birbirinden farklı. FTP gibi şeyler var sizde ama onları hiç bilmiyorum ne yazık ki 😦

      ________________________________

  8. cengiz dedi ki:

    yasir bey sevabınız büyük yazılacak sayenizde bir oyun yapamak için ilk defa bukadar kapsamlı türkçe kaynak buldum darbasic oyun motorunu basic bilgim çok iyi olmasına rağmen ingilizce kaynaklardan çok fazla ilerleme şansım olmamıştı dark basic le yaptığım 2 uygulamanın videosunu da paylaşıyım

  9. Cengiz dedi ki:

    Yasir bey androit icin yazilmis cok basit bir uygulama hazırlarmisiniz ekranın dokunmatigini ve hareket sensöründe kullanan basıit bir ornek arıyorum yardim edermisin iyi bayramlar

    • yasirkula dedi ki:

      Sizin de bayramınız mübarek olsun. Henüz hiç Android programlama ile uğraşmadığım için ne yazık ki bu konuda elimden birşey gelmiyor, üzgünüm 😦

  10. cengiz dedi ki:

    bedavaya yürüme animasyonları olan kadın ve erkek modelleri nerden bulabilirim

  11. cengiz dedi ki:

    yasir bey bir map tasarımı yaptım ancak butun yaptıklarım bir hata sonucu yok oldu ben kaydet demeden her oyunu çalıştırdığım da yaptıklarım değişiklikleri isteğim dışında kayıt ediyor bunu nasıl engelleyebilirim yaptığım çalışmaları bir yerde yedek almış olabilirmi acaba
    bir sorumda ben fps kameramla bir kupe çarptığında çarptın yazmasını istiyorum yazacağım scripti hierarcy de first person kontrolemi yoksa kupun içinemi bırakmalıyım.

    • yasirkula dedi ki:

      İlk sorunuzun cevabını tam bilmiyorum ama yedek aldığını sanmıyorum 😦

      İkinci sorunuz için, kodu FPS Controller’a atın ve fonksiyonunuzu şuna benzer kurun:

      function OnControllerColliderHit(vurus : ControllerColliderHit)
      {    
      if(vurus.gameObject.name == "kup")    
      {        
      Debug.Log("Vurdun!?");
         }
      }

      ________________________________

  12. cengiz dedi ki:

    dostum sanırım sana daha çok sorular sorucam istersen bana email adresini ver bir kız için bir komik video yapmak istiyorum (yukarıda paylaştığım video larıda onun için yapmıştım ) basit bir resim galerisi olacak duvarlarda kızın resimleri olcak ayrıca insanlar içinde gezinecekler ben resmin birine bıyık resmi çizcen o anda alarm çalacak güvenlik görevlisi gelecek bana saldıracak filan komik bişey olcak yani tabi oyun içinde texture nasıl çizim yapacağım onu bilmiyorum ama sanırım oyunlarda ates edince mermi deliklerinin duvarlarda oluşması ile aynı mantıkta yapılabilir bir fikrin var mı
    sorum
    There are 2 audio listeners in the scene. Please ensure there is always exactly one audio listener in the scene. anlamı ne ben sahneye ses eklememiştim bu hata neden çıkıyor.

    • yasirkula dedi ki:

      İkinci sorununuzun kaynağı büyük olasılıkla sahnede 2 kamera bulunması. Audio Listener ortamdaki sesleri dinlemeye yarar ve bir sahnede sadece 1 tane olmalıdır. Sadece ana kameradaki olan dursun ve diğeri hangi objedeyse onu o objeden kaldırın.

      Mermi izi oluşması mantığı bana da mantıklı geldi sorununuz için ama henüz ona benzer bir şeyin nasıl yapılabilineceğini bilmiyorum 😦

      Mail adresim yasirkula@yahoo.com

  13. cengiz dedi ki:

    dostum beni facebook eklermisin böylesi daha iyi olurdu benim de bildiğim konularda sana yardım ederim olmaz mı ?

  14. hüseyinsemih dedi ki:

    çok güzel bir site flash ve c# a da adım atılmış ben zaten flash ta oyun tasarlıyorum flash bölümü hoşuma gitti yakın zamanda siteyi genelleştirebilirsiniz yasir abi

  15. cengiz dedi ki:

    beni listene eklememişsin 😦

  16. larberder dedi ki:

    yaptığın oyun derslerinin bir listesi çıkarsan sevinirim arama butonuna tam konu adı yazmak gerekiyorda 🙂 😉 🙂 😉

  17. larberder dedi ki:

    afedersin varmış zaten ben görmemişim

  18. biryorum dedi ki:

    Yasirim,
    Sayfayı açınca bastan itibaren sıralanan konuları en son guncelleme sırasına koysan. Yoksa, diyelim ki ilk basta Eylul 2012’de yayımlandı denilen bölüm cıkınca sanki son 4 aydır sitede hic bir hareket yokmus gibi algılanabiliyor, bu da dogruyu yansıtmıyor.
    Ellerine saglık

  19. merve dedi ki:

    Güzel site olmuş

  20. Galeri dedi ki:

    Dersler için teşekkürler oldukça başarılı olmuş.

  21. Video İzle dedi ki:

    Yazılarınızı, Videolarınızı oldukça başarılı ve faydalı buluyorum, teşekkür ederiz.

  22. Abbas dedi ki:

    benim küçük bir sorumun var Unity3D 3.50f5 kurdum kurduktan sonra var olan oyununu kaydetmeyi denedim… ( exe ye dönüştürürken ) Could not preload global game manager #0 hatası alıyorum …bu nedir ne demektir … çözümü nedir yardımcı olursanız çok sevinirim..

  23. Abbas dedi ki:

    Evet tüm sorunları Çözdüm en önemli olayı sorucam sizce hangi programlama dili javascript mi yoksa c# mı … birde javascript bir web dili diye biliyorum bu kafamı biraz karıştırdı.

  24. Abbas dedi ki:

    Çok teşekkür ederim C# İle başliyacağım… Birde c# eğitim kitabı almadan önce şunu sormak istoyrum … android oyun yapmayı düşünüyorum C# sorun çıkartır mı ?

  25. Abbas dedi ki:

    Çok Teşekkür Ederim… C# Kitabı alarak başlıyorum …

  26. furkan dedi ki:

    öncelikle sa yasin,ben unity 3d ye çok meraklı birisiyim sizin videolarınızıda izledim ancak bana pek fayda saglamadı ben unity nin bütün herşeyini ögrenmek istiyorum bana yardımcı olabilir misinz ? özellikle java script yazmakta zorlanıyorum bunu nasıl giderebilirim şimdiden teşekkürler

    • TT dedi ki:

      Aleykümselam.

      https://yasirkula.com/2011/07/12/unity-3d-icin-ders-arayanlar-buraya-guncel-derecelendirmeleri-yapilmaya-baslanmistir/

      Linkteki Javascript Başlangıç Kılavuzu’nu ve Unity 3D Script Arşivi’ni incelemeni öneririm. Kodları yaza yaza öğreneceksin. Verdiğim linkte çok kaliteli İngilizce tutorialler var, onlara bakmanı öneririm.

      • furkan dedi ki:

        kardeşim onları indirdim baktım sagol emegin için.ama sorun şuki o verdiklerinde değişkenlerin fonksiyonları filan anlatmış var asas; asas=1 filan gibisinden ama ben bütün değişken türlerini bilmiyorum bunları nerden ögrenecem mesela şukodu örnek veriyorum:
        function Update () {
        this.gameObject.rigidbody.AddTorque(new Vector3(Input.GetAxis(“Vertical”),0,Input.GetAxis(“Harizontal”)));

        }
        burda function upddate oyun bitince ye kadar bu kodlar çalışacak anlamına geliyor
        this.gameObject.rigidbody de oyun nesnesine fiziki bir özellik ekleyecegimiz anlamına geliyor peki burda ki AddTorque nedemek getAxis ne anlama geliyor veya Harizontal ? 🙂 bunları verdiginiz yerlerde ne anlama geldigini anlatmamış .yanlış anlamayın sizi kötülemek filan istemiyorum şuana kadar ögrendiklerim sizin sayenizde ögrendim ama ben tam ögrenmek istiyorum hazır scriptler beni biraz ileri götürür ama kendim yazabilirsem istedigim herşeyi yapabilirim dmektir hocam bu konuda bana yardımcı olursanuz sevirim şimdiden teşekkürler özel konuşabilsek daha iyi olur facebook gibi şiimdiden sagolun

      • yasirkula dedi ki:

        Mesaj spama gitmiş yanlışlıkla o yüzden geç gördüm. AddTorque gibi kodları öğrenmenin tek yolu var, o da Unity Script Reference’den İngilizce olarak kodun ne işe yaradığına bakmak. Malesef bu kodların Türkçe olarak anlatıldığı bir yer yok. Ben arşivimi zamanla güncelliyorum ama orada olmayan kodlar için İngilizce olarak kodun işlevine bakmak şart.

  27. Mustafa dedi ki:

    acaba unity 3D için bazı oyun yapım tutoriallerini türkçeye çevirirmisiniz.benim gördüğüm birkaç ingilizce kaynak var eğer çevirmeyi düşünürseniz verebilirim. çünkü sizin çevirdiklerinizle oyun yapmak çok yada yapılmıyor. unity 3d 2d platformer tutorial ve benzerleri dersleri çevirirseniz bizde oyun yapabiliriz.

    • TT dedi ki:

      O derslere baktım ama hiç açıklayıcı değildi, yani neredeyse hiç katkısı olmuyor okuyucuya. Başlıca sebebi ise oyunun en önemli parçası olan scriptleri neredeyse hiç açıklamıyor. O yüzden Unity’nin o resmî tutoriallerini çevirmeyeceğim. Onun yerine zaman içinde kendi tutoriallerimi yazmaya çalışıyorum.

  28. Mustafa dedi ki:

    ben teşekkür ederim

  29. Mustafa dedi ki:

    4 güzle bekleyeceğim. acaba bunları çevirdikten sonrada sizin için uygunsa unity 3d içinde birşeyler yapar mısınız ?

    • yasirkula dedi ki:

      Zaten artık hep Unity tutorialleri veriyorum. İleride oyun yapımına daha çok odaklı dersler de yazarım İnşallah.

      • Mustafa dedi ki:

        İnşallah çünkü yıllardır neredeyse hiçbir gelişme kaydetmedik. benim elimde yıllardır birikmiş game maker ders-örnek ve gm ile ilgili dosyalar var. acaba size versem paylaşabilir misiniz ?

      • yasirkula dedi ki:

        Teşekkür ettim ama artık Game Maker dersleri paylaşmıyorum. Elinizdekileri oyun yapım forumlarında paylaşmanız fena olmaz.

  30. Emre dedi ki:

    Merhaba Sitenizin Ne Kadar Güzel Olduğunu Yeni Başlayanlar Ve İngilizcesi Yeterli Seviyede Olmayanlara Ne Kadar Çok Yardımcı Olduğunu Söylemek İstiyorum Her Şey İçin Özellikle de Vakit Ayırıp Emek Harcadığınız İçin Çok Teşekkürler

  31. şefik dedi ki:

    siteniz çok yararlı ve çok güzel.unity3d yi çeviri olsun dersler olsun yemiş bitirmişsiniz.sayanizde 5-0 önde başladım.bir sorum olursa mail atabilir miyim?teşekkürler 🙂

  32. mustafa dedi ki:

    yasir bey merhaba.az önce unity kendi sitesinden 4.2 sürümünü indirdim ama kuramadım yardımcı olur musunuz?lisans save load yüklendi diyor yine başa dönüyor

    • yasirkula dedi ki:

      Unity’i açarken “Activate the free version of Unity” dedikten sonra Unity hesabınıza tek seferlik giriş yapmanız isteniyor. Ardından program açılıyor. En azından bende böyleydi durum.

  33. mustafa dedi ki:

    teşekkürler hallettim bu free lisans 30 gün değildir inşallah.

  34. mustafa dedi ki:

    Yasir bey Unity sorunsuz çalışıyor tamam.Bana Maya Unlimited kitabındaki 2009 sürümünü sağlam bir link atabilir misiniz?Sitesindeki demo kendini 25gün sonra kapattı.Ben de maya ve sketchup çalışıyorum teşekkürler.Mail adresime özelden

  35. Ahmet Soner dedi ki:

    Yasir Bey siteniz çok öğretici içeriklerle dolu, emeğiniz için hem tebrik hemde teşekkür ediyorum.
    http://www.burgzergarcade.com/hack-slash-rpg-unity3d-game-engine-tutorial sitesinde bulunan eğitim videosunu türkçe alt yazılı halini bulabilirmiyiz. Youtube’nin kendi çevirisi acı çektirmeye başladı da 🙂

    • yasirkula dedi ki:

      Çooook part olduğu için Türkçe altyazı ile uğraşmış/uğraşacak biri olduğunu hiç sanmıyorum 😀 Yorumunuz için teşekkür ederim.

  36. Mert dedi ki:

    Hocam umarım yazacağım iki cümle ile size karşı düşüncelerimi yeterince anlatabilirim.
    Allah sizden razı olsun. Herşey gönlünüzce olsun.

  37. Duygulusoz dedi ki:

    Harika bir site dostum paylasımlarında süper emegıne saglık tesekkürler.

  38. Mükremin Remezan dedi ki:

    yasir abi bir şey sorucam; ben oyun yapıyom karakterim sprite göre görünüm değişmesini istiyom ama android cihazlarda hareket için button var ya yuvarlak ona göre değişmesi lazım benim elimde klavye için olanı var ne etmem gerek

    kendi açabamla yapmaya çalıştığım kodlar (android için );

    —————————————————————————————–
    if mouse_check_button(ord(‘x-‘))
    {

    x-=3

    sprite_index=spt_sol

    }
    if mouse_check_button(ord(‘x+’))
    {
    x+=3
    sprite_index=spt_sag
    }
    if mouse_check_button(ord(‘y-‘))
    {
    y-=3
    sprite_index=spt_yukar
    }
    if mouse_check_button(ord(‘y+))
    {
    y+=3
    sprite_index=spt_asag
    }

    if mouse_check_button(vk_nokey)
    {
    sprite_index=spt_normal
    }

    ————————————————————————————————————–
    yanlışlar nerede söylerseniz sevinirim
    gmx dosyası=
    https://drive.google.com/folderview?id=0B1Sg3uxy-xDnek9QUnRyeTU1UzA&usp=sharing

  39. ali dedi ki:

    Yasir androidteki yılan oyununu indirdim bi de yorum çaktım helal olsun çok güzel çalışmaların var

  40. ömer faruk dedi ki:

    bir sorum olacak ben first person controllerı koyup başlat tuşuna basınca “input axis mouse x not setup” hatası alıyorum yardım edebilirmisiniz

  41. sultan dedi ki:

    unity de android için blutooth veya taşınabilirle oynanabilecek oyun yapmayı biliyorsanız anlatırsanız veya ders açarsanız seviniriz hiç birr sitede yok. 😦

  42. mayk dedi ki:

    Yasir bey ben sizin dersinizde dediginiz gibi küpu joystickle hareket ettirmeyi yapabildim.ama bundan sonra etrafa dusman kupler koyup bizi assagiya iktirmelerini saglamak istiyorum. bunun icin tower defense dersinizdeki teddy takip kodunu kullandim.hersey duzgun ama karakterler ayı ben bunlarin kup olmasini istiyorum .teddy bear daki butun scriptleri kupe de attim ama nedense calismadi galiba ,newmeshagent bulunamadi gibi birsey diyordu bunu nasil duzeltirim.yardimci olursaniz sevinirim 🙂

    • yasirkula dedi ki:

      Ayıcıklarla küpü aşağı ittirebilmeyi başardıysanız gerçekten tebrik ederim.

      Küplerle olan sorunuzu keşke cevaplayabilsem ama NavMeshAgent’la o Tower Defense dersini çevirirken uğraştım sadece; onun dışında hiç tecrübem yok. Yardımcı olamayacağım, üzgünüm.

      • sultan dedi ki:

        aslında ayıcıklarla küpü aşağıya iktirmeyi yapmadım kolaydır diye düşünmüştüm.siz böyle dediğinize göre galiba zor.ben en iyisi bu işten vazgeçeyim 🙂 ayıya collider verince bana çarpıp iktirir diye tahmin ediyordum 😦

      • yasirkula dedi ki:

        Evet ittirir ama saha dışına kadar ittirir mi bilmiyorum. *Bunu yazarken büyük olasılıkla ittireceğini farkettim*. Fikir çok güzel, deneyin bence 😀

  43. kerem dedi ki:

    Yasir bey bir sorum olacak.oyunumu androide build edince açılışta unity 3d yaziyor bunu nasil kaldiririm?

  44. Murat dedi ki:

    Android de Parmakla kontrol edebileceğim camera scripti arıyorum. camera hem oyuncuyu takip edicek hemde mesela ekranda çift parmağımı gezdirdiğimde camera açışı istediğim şekle gelicek Yardımcı olursanız cok sevinirim 🙂

    • yasirkula dedi ki:

      Zor gibi duran bir script istiyorsunuz, yardımcı olamayacağım bu konuda.

      • Murat dedi ki:

        using UnityEngine;
        using System.Collections;

        public class SwipeRotationPlayer : TouchLogic
        {
        public float rotateSpeed = 100.0f;
        public int invertPitch = 1;
        public Transform player;
        private float pitch = 0.0f,
        yaw = 0.0f;
        //[NEW]//cache initial rotation of player so pitch and yaw don’t reset to 0 before rotating
        private Vector3 oRotation;

        //[NEW]//
        void Start()
        {
        //cache original rotation of player so pitch and yaw don’t reset to 0 before rotating
        oRotation = player.eulerAngles;
        pitch = oRotation.x;
        yaw = oRotation.y;
        }
        //[NEW]//
        void OnTouchBegan()
        {
        //need to cache the touch index that started on the pad so others wont interfere
        touch2Watch = TouchLogic.currTouch;
        }

        public void OnTouchMoved()
        {
        pitch -= Input.GetTouch(touch2Watch).deltaPosition.y * rotateSpeed * invertPitch * Time.deltaTime;
        yaw += Input.GetTouch(touch2Watch).deltaPosition.x * rotateSpeed * invertPitch * Time.deltaTime;

        //limit so we dont do backflips
        pitch = Mathf.Clamp(pitch, -80, 80);

        //do the rotations of our camera
        player.eulerAngles = new Vector3 ( pitch, yaw, 0.0f);
        }
        //[NEW]//
        void OnTouchEndedAnywhere()
        {
        //the || condition is a failsafe
        if(TouchLogic.currTouch == touch2Watch || Input.touches.Length <= 0)
        touch2Watch = 64;
        }
        }

        şöyle birşey var ama çalıştıramadım 😦

      • yasirkula dedi ki:

        Ben de anlamadım kodun ne işe yaradığını.

  45. Abbas dedi ki:

    Yasir Hocam Sayenizde çok şey öğrendim. Teşekkür Ederim. 2d oyun üzerinde çalışıyorum android için yapıyorum ve tasarımı tamamen bitti. ama benim kafamı bir şey karıştırıyor. onları nasıl yapacağımı anlatırsanız sevinirim.

    1. oyun içerisinde ben 4 adet tuzak hazırladım. bu tuzakları gerçek-zamanlı rastgele yerlerde olmasını nasıl sağlarım.

    2. bu engellere çarpınca nasıl ölüm olur.
    3. karakter hareketli bir cisim çarpması ve ölmesini nasıl sağlarım.
    4 karakterim otomatik kendisi ilerleyecek ama zıplaması oyuncu tarafından olacak bunu nasıl yapabilirim.

    • yasirkula dedi ki:

      Sanırım sadece fikri ve görselleri oluşturmuş, programlama kısmına hiç başlamamışsınız. Ben basitçe cevaplayayım sorularınızı:

      1- Random.Range diye bir fonksiyon var, rastgele bir sayı döndürmeye yarıyor. Eğer Random.Range(0,4) yazarsanız fonksiyon 0, 1, 2 ya da 3 döndürür. 0 döndürürse birinci tuzağı, 1 döndürürse 2. tuzağı vs. vs. yerleştirebilirsiniz sahaya.

      2- OnCollisionEnter’a ölüm kodu yazılır.

      3- Hem karakterde hem de engellerde collider olduğundan emin olarak.

      4- Karakterin Update fonksiyonunda if( Input.GetMouseButtonDown(0) )’ın içine zıplama kodunu yazabilirsiniz.

      • Abbas dedi ki:

        çok teşekkür ederim hocam ( fikri görselleri oluşturdum kodlama işlemine hiç başlamadım ) ..

        şimdi başlıyorum.. pc için kodlama yaptıktan sonra androide çevirebilir miyim kodları yoksa direk androide göremi kodlama yapmalıyım.birde tüm kodlama işlemi bittikten sonra. AdMob ile reklam koyabiliyormuyyum ..

      • yasirkula dedi ki:

        Yazdığınız kod büyük olasılıkla hem PC’de hem Android’de çalışacaktır. AdMob reklamı koyarsınız heralde.

  46. Abbas dedi ki:

    scrip dosyası oluşturduğumda

    moving temp/assembly-unityScript.dll to library/ScriptAssemblies/Assembly-UnityScript.dll faild: erişim başarızı engellendi

    bu hatayı alıyorum.. bir kaç gündür uğraşıyorum çözümü nedir acaba. ?

  47. Ahmet dedi ki:

    Merhaba unity ile ilgili bir sorum olacak, ben bir öğrenci modeli yaptım derste sınav oluyor sınav olurken arada bir kafasını kaldırmasını istiyorum ama rastgele kaldıracak bu rastgele olayını (yapay zeka deniyor olabilir) nasıl yaparım?

    • yasirkula dedi ki:

      Random.Range( altLimit, ustLimit ) diye bir fonksiyon var. Bu fonksiyon altLimit ile ustLimit arasında rastgele bir sayı döndürmeye yarar. Bu fonksiyonun döndürdüğü sayıyı kullanarak rastgele şeyler yapabilirsiniz.

      • ahmet dedi ki:

        using UnityEngine;
        using System.Collections;

        public class deneme1 : MonoBehaviour {

        public int sayi;

        void Start () {

        sayi = Random.Range(0, 3);

        switch(sayi){

        case 1 :
        animation.Play (“deneme”);

        break;
        case 2 :

        animation.Play (“deneme2”);

        break;

        default:
        animation.Play (“deneme”);
        break;
        }

        }
        }

        burada ne sorun var deneme2 animasyonu bulamadı diyor

      • yasirkula dedi ki:

        Objenin Animation component’inde deneme2 isimli animasyon yokmuş demek ki.

  48. omer dedi ki:

    Bir sorum olacak :
    Bir scrptin icine ‘var can : int 5; ‘ diye bir tanimlama yaptim .baska bir scrptte ise az once yazdigim can degerine bakip islem yaptirmak istiyorum mumkunmu?

    • yasirkula dedi ki:

      Mümkün. Ama o ifade “var can : int = 5;” olacak.

      • omer dedi ki:

        Artik butun scriptlerde can yazdigimda tanir dimi.en basta public olarak tanimlamama gerek kalmaz yani.

      • yasirkula dedi ki:

        Hayır, o tarz birşey yok Unity’de. Diğer scriptler’den can’a erişmek için önce can değişkenini tanımladığınız değişkene ulaşacak ondan sonra can değişkenine ulaşacaksınız şu şekilde: GetComponent( CanScripti ).can

  49. Emre dedi ki:

    Siz ne büyük bir nimetsiniz yahu ^-^ Başarılarınızın ve derslerin devamını dilerim… Kendinize çok iyi bakın :))

  50. kulaoglu dedi ki:

    yasir bey ramdom range kodunu kullanmak istiyorum ama dediklerinizi uygulayamadım bir örnek verebilirmisiniz(kod olarak)? mesela 1 gelince nasıl kullanıcam ?

  51. Mucahit dedi ki:

    Yasir bey uzun suredir unity kullaniyorum hic bir zaman goruntuyu bir oyun gibi yapamadim.cok gercekci keskin grafikler oluyor.ornek vermek gerekirse ‘clash of clans, subway surfers…’burdakiler gibi canli renkler yok.mesela su yapiyorum sanki call of duty gibi gercekci biraz animasyon gibi canli renklerle falan yapamiyormuyuz unity de?

    • yasirkula dedi ki:

      Materyallerde Diffuse’dan başka shader kullanmayı deneyin. Saydığınız oyunlar belki kendi shader’larını kullanıyorlardır. Shaderlar ile ilgili soru sormayın, bilgi düzeyim sıfır.

  52. atakan dedi ki:

    Süleyman Bey Unity3d programında test ederken sahneler arası geçiş hızlı olurken build ettikten sonra sahneler arası geçişte bir bekleme yada geçikme oluyor bunu nasıl düzeltebiliriz.. ( Android, iOS ve Windows Phone 8 için )

  53. atabora dedi ki:

    Öncelikle çok başarılı bir site olmuş tebrikler. Sizin çevirdiğiniz çaylaklar için unityscript derslerini bitirdim önerebileceğiniz js veya unity için c# dersleri var mıdır ya da böyle bir projeniz var mıdır

  54. isimsiz kullanıcı dedi ki:

    unitye startappden reklam eklemeyi gösterebilir misiniz? ayrıca hangisi daha kazançlı startapp mı admob mu ?

  55. Mücahit dedi ki:

    yasir bey 2 sorum olucak:
    1-2d android projemde galeriden resim almak istiyorum nasil yapabilirim?
    2-bir sahnede başka bir sahnedeki gameobject’in scriptini ‘getcompenent’ koduyla degisterebiliyormuyuz?
    yardimci olursaniz sevinirim.

      • Mücahit dedi ki:

        bu compenent deki Size’a
        şu kodla ulasamiyorum sorun nedir acaba:
        …GetCompenent (KusAnimasyon).animasyonKareleri.size= 3;

        saniyedeki kare sayisini yaptim ama bu olmuyor.(flappybird dersinden)

        ayrica kodla elementlerdeki resimler degisebilirmi?

      • kulaoglu dedi ki:

        galeriden resim alma derken telefonun galerisinden resim seçmeyi kastetmiştim.
        bu linkteki kod farklı sanırsam.

      • yasirkula dedi ki:

        @Mücahit: animasyonKareleri.Length ile array’in boyutuna erişebilirsin ama bu değeri script vasıtasıyla değiştirebileceğini düşünmüyorum.

        Array’in mesela ilk elemanını değiştirmek için “animasyonKareleri[0] = blabla;” ikinci elemanını değiştirmek için “animasyonKareleri[1] = blabla;” yapabilirsin.

        @kulaoglu: Bu konuda bir çalışmam olmadı ve şu anda bir fikrim de yok ancak bu işin mümkün olduğunu düşünüyorum. İngilizce olarak arama yapmanı tavsiye ederim.

  56. Hüseyin dedi ki:

    Tebrikler Yasir. Güzel bir site olmuş.

  57. 123456-aslan dedi ki:

    iyi günler abi benim bir sorunum var unity 3D bilgisayarımda kurulmuyor nedeni nedir acaba bilgilendirebilir misiniz?

  58. ali dedi ki:

    Abi bir sorum olacaktı flappy bird klonluyoruz adlı yazınızı okudum ve bir şey sormak istiyorum skor tablosunu flappy bird deki gibi nasıl yapabiliriz yani skor tablosu nasıl oluşturabiliriz?

    • yasirkula dedi ki:

      O benim hiç bulaşmak istemediğim bir konu; GUI’lerle çalışmak malesef işkence olabiliyor. aradığınız çözüm yolunu belki internetten bulabilirsiniz ama emin değilim.

  59. Furkan dedi ki:

    merhaba ben bir araba oyunu yapıyorum araba vs. tamam bilgisayarda oluyor ama bir türlü android platformu için gaz fren gibi butonları ekleyemedım yardımcı olursanız cok sevınırım

  60. kulaoglu334 dedi ki:

    Bir sorum olucak: lg g2 kullanicisiyim altta tuşlar yok bu yuzden ekranin altinda tuslar var. Oyunda Bunlari nasil saklarim ?

  61. Furkan Şahin dedi ki:

    Hocam ben şimdi bir konuda takıldım.Unity 3D’de objeye kod ekleyip objenin sürekli ileri gitmesini istiyorum.Mesela bir su modellemesi olacak ve bu su sürekli ileri gidecek.İnternette aradım ama bulamadım.Yardım ederseniz sevinirim.

    Veya şöyle söyleyeyim.Mesela Subway Surf,Temple Run gibi oyunlarda karakter biz müdahale etmeden sürekli ileri koşuyor ya ben de öyle yapmak istiyorum.Karakter olacak ve bu karakter ben müdahale etmeden sürekli ileri koşacak.

  62. Furkan ŞAHİN dedi ki:

    Animation Controller’dan koşma ve yürüme animasyonunu hallettim.Oyun başlayınca karakter yürüyor.W’ya basınca koşuyor.Zıplama ve objenin altından kayarak geçmek için animasyonlar da hazır ama diğer animasyonlara nasıl bağlayacağım ve ben mesela S’ye basınca alttan kaymasını ve boşluk tuşuna basınca da zıplamasını istiyorum.Nasıl yapabilirim ?

    Animasyonları nasıl bağlayacağım ? : http://i.hizliresim.com/pmE31a.png

    Zıplamak ve kaymak için tuşu nasıl atayacağım ? : http://i.hizliresim.com/O3E614.png

  63. Furkan ŞAHİN dedi ki:

    Hocam sizin de başınızı ağrıttım kusura bakmayın. Subway Surf’te sağa gitmek için parmağı ekranın sağına doğru , sola gitmek için sola doğru , zıplaması için yukarı ve yuvarlanması için aşağı çekiyoruz. Onu Unity’de nasıl yapabiliriz ?

    • yasirkula dedi ki:

      Input.touches class’ı Touch’ları depolamakta. Her Touch’ın çeşitli property’leri var. Bunlar arasından sizin kullanacaklarınız fingerID, phase ve position.

      Buna benzer bir örnek paylaşmak planlarım arasında yer alıyor.

  64. Furkan dedi ki:

    Karaktere collision ekledim ama kayma animasyonunda karakterin collisionu düz durduğu için objenin altından geçmiyor.

    Nasıl bir çözüm bulabilirim ?

  65. Oyun Oyna dedi ki:

    Merhaba.Şimdi 3 tane şerit var.Benim karakterim koşarken X ekseninde sabit koşmuyor.Yani sağa veya sola sapıyor.

    Ben nasıl karakterin X ekseninde sabit koşmasını sağlarım.Yani sürekli X – 0’da koşsun.

    • yasirkula dedi ki:

      Rigidbody kullanıyorsanız Freeze Position X yapın yoksa Update fonksiyonunda transform.position.x’i elle sıfırlayın.

      • Oyun Oyna dedi ki:

        Ne kadar teşekkür etsem azdır gerçekten.Siz olmasanız ne yapardım 🙂

  66. Oyun Oyna dedi ki:

    Bir sorum daha var.Karakter X ekseninde 0 noktasında iken ” A ” tuşuna basınca X ekseninde -1 noktasına geçmesini nasıl sağlayabilirim ?

    function Update(){
    if(Input.GetKeyDown(“a”)){
    transform.position.x -= 1;
    }
    }

    Bu kod var ama bu kodda A’ya basınca 0’dan -1’e bir daha basınca -2’ye geçiyor.Ben sadece -1’de kalmasını istiyorum.

    • yasirkula dedi ki:

      Update’in içine bir de şu kodu ekleyin:

      transform.position.x = Mathf.Clamp( transform.position.x, -1, 0 );

      • Oyun Oyna dedi ki:

        Hocam çok sağolun oldu.Sağa ve sola geçmesini hallettim.Peki 3. bir tuş olacak ve bu tuşa basınca X ekseninde 0 noktasına geçecek.Peki o nasıl olacak ?

      • yasirkula dedi ki:

        Diyelim T tuşuna basınca X değeri 0 olacaksa Update’in içine yazmanız gereken kod şu:

        if(Input.GetKeyDown( KeyCode.T ) )
        transform.position.x = 0;

  67. Murat Kahraman dedi ki:

    İyi günler. Ben şimdi Unity’de dar ve uzun şekilde bir Plane oluşturdum.Ve Plane’e bina, ağaç vb şeyler ekledim. Ve bunları bir grup içine aldım. Yanı şöyle düşünün.Bir cadde yaptım ve objeleri Hierarchy’de bir grup sekline dönüştürdüm.Player caddede düz bir şekilde gidecek.Giderken caddedeki tüm objeler tekrar eklenecek. Yanı ilk caddenin önüne ikinci cadde eklenecek yani içindeki her şey ( yol bina ağaç vs ) sonsuza kadar tekrarlanacak.Nasıl yaparım ?

  68. Murat Kahraman dedi ki:

    Ben aslında yol tekrarını yaptım ama yolun sağ ve sol tarafına ağaç bina gibi objeler koyacağım. Bunlar nasıl tekrar edecek ?

    Şöyle düşündüm. Yolu uzunca yaptım etrafına bina ve ağaçları koydum. Bu ağaç ve binaları Hierarchy de yolun içine aldım. Yani hepsi yolun alt dali oldu. Yeni prefab oluşturdum. Yolu prefaba attım prefabi da koda attım ama sorun şu. Yol düzgün şekilde tekrarlanıyorken binalar ve ağaçlar birbirine giriyor.

  69. Murat Kahraman dedi ki:

    Hocam fazla kod bilmiyorum.public’in devamına ne yazacağız ?

    • yasirkula dedi ki:

      Unity’de oyun yapmak için kod bilgisi “zorunlu” birşey. Sadece bu sorunuzu cevaplayacağım ama bu tarz çok basit şeyleri kendiniz halledin:

      public float yolUzunluk;

  70. Furkan Şahin dedi ki:

    http://i.hizliresim.com/7YL1JP.png Bu kodda belirli saniye aralıklarıyla obje spawnlanıyor ama ben karakterin önüne objelerin rastgele spawn olmasını istiyorum.Nasıl yapabilirim ?

    • yasirkula dedi ki:

      objeCikisi’ni karakterin child objesi yapın ve konumunu, karakterin biraz ilerisinde olacak şekilde ayarlayın.

      • Furkan Şahin dedi ki:

        Hocam öyle yapınca da belirli aralıklarla ekliyor.Benim istediğim rastgele bir yerde eklemesi

      • Furkan Şahin dedi ki:

        Hocam şöyle anlatayım.Kodda 2 saniyede bir küp ekliyor.Ama ben saniyenin rastgele olmasını istiyorum. 5 saniyede bir 3 saniyede bir 10 saniyede bir.

      • yasirkula dedi ki:

        O halde saniye aralığını belirlerken Random.Range fonksiyonundan faydalanın.

  71. Furkan Şahin dedi ki:

    #pragma strict
    var bitis : GUIText;
    var tekrar : GUIText;
    function Start () {
    }
    function Update () {
    }
    function OnCollisionEnter (nesne:Collider)
    {
    if ( nesne.gameObject.tag == “zombie_hires” )
    {
    Time.timeScale = 0;
    bitis.guiText.setActive(true);
    tekrar.guiText.setActive(true);
    }
    }

    Hocam setActive bölümünde hata veriyor.Sorun ne ?

  72. ismaiiiiiiiil dedi ki:

    Arkadaslar bu site sayesinde yaptigim bir oyun indirip değerlendirirseniz sevinirim.
    https://play.google.com/store/apps/details?id=com.AnanasGames.MumentFDR.

  73. Furkan ŞAHİN dedi ki:

    Hocam karakteri zombi kovalıyor.Zombinin collisionu karakterin collisionuna değince özel bir sahne hazirlayacağım.O sahne yükklenecek.

    function OnTriggerEnter (collider : Collider)
    {
    if (collider.gameObject.name == “m01_fps_000_h”)
    {
    Application.LoadLevel(0);
    }
    }

    Kod hazır.ama bir sorum var.Oyun bitince yeni sahne yüklenecek.Oyuncunun ölünce aldığı skoru nasıl yeni yüklenen sahneye yazarım veya başka bir çözüm nasıl bulurum ? ( Başka çözüm derken zombinin collisionu karakterin collisionuna değince ne yapılabilir de ekranda Öldün yazısı, skoru çıkar ? Ayrıca Öldün yazısının altına buton da ekleyeceğim.Butonu göz önünde bulundururduğumda benim aklıma mantıklı bir çözüm gelmedi. )

  74. Furkan ŞAHİN dedi ki:

    http://i.hizliresim.com/7o1mJY.png

    Hocam resimdeki kodu Cube e attım.Normalde silindirin küpe değince yok olması lazım ama olmuyor ? Kod da hata vermedi.Sorun ne ? İs Trigger kapalı.

    • yasirkula dedi ki:

      İki objede de collider olmalı ve en az bir objede Rigidbody olmalı. Scriptin isminde ise “hiçbir zaman” boşluk veya Türkçe karakter olmasın.

      • Furkan ŞAHİN dedi ki:

        Hocam yine aynı.

        http://i.hizliresim.com/Gv4prV.png Ayrıca Mesh Filter ve Rigibody nin başındaki tik bölümü gitmiş.Acaba Unity’de mi sorun var ? Ayrıca eklediğim objeler birbirinin içinden geçiyor.Is Trigger da kapalı.

      • yasirkula dedi ki:

        O tikler kimsede yok, bir sıkıntı yok. Siz UstUsteFix’i büyük olasılıkla karaktere vermelisiniz ve silindir objesinin ismi de harfi harfine “Cylinder” olmalı (tırnaklar olmadan).

      • Furkan ŞAHİN dedi ki:

        Olmadı.Benim istediğim şu.Karakter koşunca önüne rastgele saniyelerde engeller spawnlanacak şu kodla.

        #pragma strict
        var objecikisi : Transform;
        var obje : GameObject;
        function Start () {
        clone ();

        }

        function Update () {

        }

        function clone () {
        for ( var x = 1; x < 100; x++){
        yield WaitForSeconds(Random.Range(5,9));

        Instantiate (obje,objecikisi.transform.position,objecikisi.transform.rotation);
        }
        }

        Ama şöyle bir durum olabilir.Ben bu kodu birkaç farklı engele atacağım ve farklı saniye aralıkları gireceğim.Ama iki engel aynı anda da gelebilir.Bundan dolayı iki veya daha fazla engel aynı yere spawnlanırsa sadece biri kalmalı.Bunun için de OnCollisionEnter ve Destroy kullanayım dedim ama olmadı.Başka bir yolu var mı ?

      • yasirkula dedi ki:

        Bu spawn etme yolunu uygun bulmuyorum. Ben tüm engelleri tek bir scriptin spawn’lamasını ayarlamaya çalışırdım ama şimdi öyle bir kod yazmakla uğraşmayacağım çünkü basit bir kod değil bu. Yani yardımcı olabileceğim bir konu değil.

      • Furkan ŞAHİN dedi ki:

        Hocam bir de ben menüye arkaplan ekledim.Free Aspect te resim sorun cikarmiyor ama 16:9 yapinca resmin yan kisimlari gidiyor.Mesela Build ettigimde oyunu menudeki arkaplanın 1920×1080 de tum kisimlari gozukuyor ama 1280×720 yapinca yan kisimlari gozukmuyor oralar siyah oluyor.Ne demek istedigimi anlamissinizdir umarim.Yani ben mesela Unity de Free aspect de oyunu tasarladim telefon 1280×720 diyelim cozunurlukte sikinti cikar mi ?

      • yasirkula dedi ki:

        UI dersimde “Arayüzün Her Çözünürlükte Aynı Görünmesini Sağlamak” başlığı altında bu konu hakkında birkaç bilgi paylaştım, onlar işinize yarayabilir: https://yasirkula.com/2015/01/21/unity-ui-arayuz-sistemi/

  75. Furkan ŞAHİN dedi ki:

    Hocam peki karaktere eklene capsule colliderin boyunu kod ile kısaltabilir miyiz ?
    Ben W tuşuna basılınca karakterin collisionunun heigthinin kısalmasını istiyorum 5 saniyelik zaman için.

    • yasirkula dedi ki:

      Inspector’da gördüğünüz tüm değerler kod vasıtasıyla da değiştirilebilir. Örneğin collider’ın height’ını değiştirmek için GetComponent(Collider).bounds.size.y değişkenini elleyebilirsiniz (tahminimce). Tabi bunu koda dökmek emek sarfetmenizi gerektirecek, onu da siz yapacaksınız.

  76. Furkan dedi ki:
    function Update() {
        if (Input.GetKeyDown(KeyCode.W)) {
         gameObject.GetComponent<CapsuleCollider>().height=0.75;
        }
    }
    

    Acaba böyle bir şey olur mu? Yarın bilgisayarda deneyeyim.Bir de diyelim bu kod çalıştı W’ya basınca collision kısaldı.Ama geri eski halime dönmedi.Sürekli kısa kaldı.
    Koda yield WaitForSecond komutu eklesek acaba belirli bir süreliğine mi kısalır ?

    function Update() {
        if (Input.GetKeyDown(KeyCode.W)) {
         gameObject.GetComponent<CapsuleCollider>().height=0.75;
    
    yield WaitForSecond(5);
        }
    }
    

    Gibi…

    • yasirkula dedi ki:

      Evet, üstteki gibi bir kod kullanabilirsiniz. Input.GetKeyUp fonksiyonu bir tuştan elinizi çekince çalışır; o vakit de height’ı eski değerine döndürebilirsiniz.

      • yasirkula dedi ki:

        GetComponent(CapsuleCollider).height=0.75; yapın. Kodda yield kullanmayın.

      • Furkan dedi ki:

        Hocam collision küçüldü de geri eski haline nasıl dönecek ?.W’ya basınca belirli saniyede küçük kalma ve sonra eski haline dönme imkanı var mı ?

      • yasirkula dedi ki:

        Cevabını yukarıda söyledim: Input.GetKeyUp fonksiyonunu kullanacaksınız.

  77. Furkan dedi ki:

    Hocam ben sahneye bir Ball ekledim. Bu ball E’ye basınca zıplıyor.Ama bir kere zıplıyor.E’ye bastıktan sonra zıplayınca bir daha basıp tekrar zıplamasını nasıl yaparım ? Yani double jump’ı ?

    Ball ın kodu :

    #pragma strict
    var kamera: Transform;
    var rotationSpeed = 100;
    var jumpHeight = 8;

    var distToGround : float;

    function Start () {
    // Getting the distance from the center to the ground.
    distToGround = collider.bounds.extents.y;
    }

    function Update ()
    {
    this.gameObject.rigidbody.AddTorque(new Vector3(Input.GetAxis(“Vertical”),0,-Input.GetAxis(“Horizontal”)));

    kamera.position.z=transform.position.z;
    kamera.position.y=transform.position.y+2;
    kamera.position.x=transform.position.x+7;
    //Handle ball rotation.
    var rotation : float = Input.GetAxis (“Horizontal”) * rotationSpeed;
    rotation *= Time.deltaTime;
    rigidbody.AddRelativeTorque (Vector3.back * rotation);

    if (Input.GetKeyDown(KeyCode.E) && IsGrounded ())
    {
    rigidbody.velocity.y = jumpHeight;
    }

    }

    function IsGrounded () : boolean { //Check if we are on the ground. Return true if we are else return null.
    return Physics.Raycast(transform.position, -Vector3.up, distToGround + 0.1);
    }

  78. Furkan dedi ki:

    Hocam bir de oyunda önce bir scene yükleniyor.O scenede ise kameranın karşısına bir obje ekledim o objede yazı yazıyor.( Mesela Level 1 ) Sonra ise diğer scene yükleniyor.Ben şimdi Level 1 yazısını fotoğraf olarak attım objeye texture olarak.Ama androide port ederken telefonların cözünürlügü farklı olacağı için sorun cıkarır mı o texture ? Mesela yazı sola veya yukarı kayar mı ?

    Umarım anlatabildim 😀

  79. hakkı dedi ki:

    “The associated script can not be loaded” uyarısını nasıl ortadan kaldırırım? Unity i her açışımda aynı hatayla karşılaşıyorum kodları kopyala yapıştır yaparak geçiştiriyorum. Bu arada site harika emeğine sağlık

    • yasirkula dedi ki:

      Class isimleriyle dosya isimleri uyuşmuyor olabilir. Bu hatayı internette arayınca bir dolu sonuç geliyor onları araştırabilirsiniz.

  80. Furkan dedi ki:

    Hocam ben 2 adet buton oluşturdum.İki sorum var.

    1 ) Bu kodda ( http://i.hizliresim.com/7o587m.png ) butona ard arda basınca top sürekli yükseliyor.
    Butona basınca top bir kere yükselecek ve yere değmeden tekrar butona basınca top yükselmeyecek.Yani butona ard arda basınca top bir kere yükselecek.Bunu nasıl yaparım ?

    2 ) http://i.hizliresim.com/XBmY83.png Hocam butonların rengini,biçimini vs nasıl değiştiririm ?

    • yasirkula dedi ki:

      1) Bir boolean olacak, zıplayınca değeri true olacak. Top yere değdiğinde ise değeri false olacak. Zıplama olayı sadece bu boolean’ın değeri false ise gerçekleşecek.
      2) GUI.Button’ların şeklini GUISkin ile değiştirebilirsiniz.

  81. Mehmet dedi ki:

    3DS Max içerisindeki morpher’ları Unity içerisinde nasıl yönetebilirim ?

    • yasirkula dedi ki:

      3DS Max veya morph’u bilmiyorum.

      • Mehmet dedi ki:

        Anladım teşekkür ederim.
        Bir sorum daha olacak. Parmağımı telefonda hareket ettirdiğimde objeninde aynı şekilde hareket etmesini istiyorum. Belki daha hızlı bir şekilde. Aşağıdaki gibi denedim fakat olmadı. Yardımcı olabilirseniz sevinirim.

        void Update () {
        foreach (Touch touch in Input.touches) {
        if (touch.phase == TouchPhase.Began){
        parmakIlkKonum.x = touch.deltaPosition.x;
        }else
        if(touch.phase == TouchPhase.Moved){
        xKonumFark = (int)(parmakIlkKonum.x – touch.deltaPosition.x);
        ball1.transform.Translate(xKonumFark,0,0);
        }
        }
        }

      • yasirkula dedi ki:

        void Update () {
        foreach (Touch touch in Input.touches) {
        ball1.transform.Translate(touch.deltaPosition.x,0,0);
        }
        }

      • Mehmet dedi ki:

        Teşekkür ederim.

      • Mehmet dedi ki:

        Bu ball1 merkez 0 olmak üzere sürekli dönüyor. Söylediğiniz gibi

        ball1.transform.Translate(touch.deltaPosition.x,0,0);

        yaptım. Dönerken aynı zamanda hareket ettirebiliyorum.

        foreach (Touch touch in Input.touches){
        
        			if (touch.phase == TouchPhase.Began) sum=0;
        
        			sum =sum+touch.deltaPosition.x;
        			Debug.Log("Sum"+sum);
        			if ((sum<3 && sum>0.5) || (sum>-3 && sum<-0.5)) {
        				ball1.transform.Translate(touch.deltaPosition.x,0,0);
                                        ball2.transform.Translate(-touch.deltaPosition.x,0,0);
        

        Bu şekilde topları hareket ettirirken sınır belirlemek istedim. Fakat stabil olarak çalışmıyor. Saçmalıyor. Yani toplar arasında belirli bir mesafe olsun ve daha fazla kapanmasın ve belirli bir mesafeden fazla açılmasın araları. Başka fonksiyonlarda denedim fakat yine en iyi olarak bu çalıştı. Bu konuda ne yapabilirim ?

      • yasirkula dedi ki:

        ball1.transform.position (p1) ile ball2.transform.position (p2) arasındaki mesafeyi Vector3.Distance(p1,p2) komutu ile bulabilirsiniz. Bu mesafe bir değerden büyükse Translate komutu çalışmasın.

      • Mehmet dedi ki:

        Sizin bu söylediğiniz topları sınırda tutmama yardımcı olmuyor. Distance kullanarak yaptığımda sınırı 0,001 geçtiğinde fonksiyonu kullanamıyorum. Ben sınırı geçmemesini istiyorum.
        Toplar

        transform.RotateAround(Vector3.zero, Vector3.back, hiz * Time.deltaTime);

        bunun ile orjin etrafında sürekli dönüyorlar.
        Aşağıdaki kodda sağ sol yaparken bi anda saçmalıyor ve dağılıyor. Yapmak istediğim iki tane top orjin etrafında dönüyor. Güneşin merkez Dünya’nın etrafında döndüğü gibi. Elimi sağa kaydırdığımda kayma miktarına göre orjinden uzaklaşmaları. Sola çektiğimde kaydırma miktarına göre orjine yaklaşmaları.

        foreach (Touch touch in Input.touches) {
        
        			float distance=Vector3.Distance (ball1.transform.position, ball2.transform.position);
        			float deltaPosx=touch.deltaPosition.x;
        			if (deltaPosx >=1 ) deltaPosx=1;
        			if (deltaPosx<=-1) deltaPosx=-1;
        
        			Debug.Log("distance :"+distance);
        			//ball1.transform.Rotate (Vector3.back * Time.deltaTime);
        			if (touch.deltaPosition.x>0 && distance <= 5 ) {
        				ball1.transform.Translate(Vector3.up*deltaPosx/4);
        				ball2.transform.Translate(Vector3.down*deltaPosx/4);
        			}
        
        			else if (touch.deltaPosition.x<0 && distance >= 1 && distance<=5) {
        
        				ball1.transform.Translate(Vector3.down*-1*deltaPosx/4);
        				ball2.transform.Translate(Vector3.up*-1*deltaPosx/4);
        			} else {
        				ball1.transform.Translate(Vector3.up*deltaPosx/4);
        				ball2.transform.Translate(Vector3.down*deltaPosx/4);
        			}
        		}
        

        Bunu stabil hale getiremediğim için bir de çubukla denedim. Gameobject oluşturup box collider atadım ve

        transform.RotateAround(Vector3.zero, Vector3.back, hiz * Time.deltaTime);

        dönmesini sağladım. Dikdörtgen boyutlarında ayarladım. Ve topları bunun içerisine attım. Sağa çektiğimde gameobjectin boyunu(scale.x değerini) büyüttüm. Sola çektiğimde elimi gameobjectin boyunu(scale.x değerini) küçülttüm. Fakat burada topların da scale.x değerleri değişiyor ve bir süre sonra kayboluyorlar. Görünmüyorlar.

        İki gündür bir fiil bununla uğraşıyorum. Nasıl bir yol izlemeliyim ?

      • yasirkula dedi ki:

        Verdiğiniz kodda else if’te distance<=5 kısmına gerek yok. Onun dışında koddaki sıkıntıyı anlayamadım. Ben halen Vector3.Distance ile yapmaya çalışırdım.

      • Mehmet dedi ki:

        Aşağıdaki gibi yaptım şuan için sınırlarda bir sıkıntı olmuyor. Son bir sorum daha olacak. Açılırken ve kapanırken ki hızlarını nasıl ayarlayabilirim. Birden açılsın veya kapansın istemiyorum. Parmak hareketindeki pixel değerleriyle yüzdeli olarak oynatsam sorun çözülür mü ?

        	void Start () {
        		ball1 = GameObject.Find ("Ball1");
        		ball2 = GameObject.Find ("Ball2");
        		sumDelPosX = 0;
        		limitMax = 3;
        		lastLocation = 0;
        	}
        	
        	// Update is called once per frame
        	void Update () {
        		foreach (Touch touch in Input.touches) {
        			sumDelPosX += touch.deltaPosition.x;
        			Debug.Log("sumDelPosX  ;"+sumDelPosX);
        			if(touch.deltaPosition.x > 0 && sumDelPosX < limitMax && sumDelPosX >= 0){
        				ball1.transform.Translate(touch.deltaPosition.x,0,0);
        				ball2.transform.Translate(-touch.deltaPosition.x,0,0);
        				lastLocation = sumDelPosX;
        			}else
        			if(touch.deltaPosition.x >0 && sumDelPosX > limitMax && limitMax-lastLocation !=0){
        				ball1.transform.Translate(limitMax-lastLocation,0,0);
        				ball2.transform.Translate(-1*(limitMax-lastLocation),0,0);
        				lastLocation = limitMax;
        				sumDelPosX = limitMax;
        			}else
        			if(touch.deltaPosition.x > 0 && limitMax - lastLocation == 0 && sumDelPosX > limitMax){
        				ball1.transform.Translate(0,0,0);
        				ball2.transform.Translate(0,0,0);
        				lastLocation = limitMax;
        				sumDelPosX = limitMax;
        			}else
        			if(touch.deltaPosition.x < 0 && lastLocation != 0 && sumDelPosX >=0){
        				ball1.transform.Translate(touch.deltaPosition.x,0,0);
        				ball2.transform.Translate(-touch.deltaPosition.x,0,0);
        				lastLocation = sumDelPosX;
        			}else
        			if(touch.deltaPosition.x <0 && lastLocation == 0 && sumDelPosX <0){
        				ball1.transform.Translate(0,0,0);
        				ball2.transform.Translate(0,0,0);
        				lastLocation = 0;
        				sumDelPosX = 0;
        			}else
        			if(touch.deltaPosition.x < 0 && lastLocation != 0 && sumDelPosX<0){
        				ball1.transform.Translate(-lastLocation,0,0);
        				ball2.transform.Translate(lastLocation,0,0);
        				lastLocation = 0;
        				sumDelPosX = 0;
        			}
        		}
        	}
        }
        
      • yasirkula dedi ki:

        Örneğin tüm transform.Translate(-lastLocation,0,0); kodlarını “ball1.transform.Translate(-lastLocation,0,0) * 0.5f;” ile değiştirirseniz hız yarıya iner.

      • Mehmet dedi ki:

        Toplar dönerken orjini nasıl kayıdırabilirim? Yani toplar dönmeye devam ederken sağa ve sola hareket ettirmek istiyorum. (0,0) orjinde 1 çapında dönerken kaydırıp (1,0) orjininde 1 çapında dönmeye devam etmesini istiyorum.
        Orjini kaydırdığımda dönerkenki konumundan (1,0) orjinine olan uzaklıktan dönmeye devam ediyor. Bu sorunu nasıl aşabilirim?

        orjin1 = new Vector3 (0, 0, 0);
        transform.RotateAround (orjin1, Vector3.back, hiz1 * Time.deltaTime);
        

        Top bu şekilde dönüyor. transform.deltaposition.x > 0 ise sağa doğru hareket edecek.

      • yasirkula dedi ki:

        Yarıçapı artırmak istiyorsunuz gibi anladım ama bunun kolay bir yolu olduğundan emin değilim. Pek uğraşmak istemiyorum.

      • Mehmet dedi ki:

        touch.deltaposition.x kadar hareket etmesini istiyorum. Ben orjini değiştirdiğimde topların yeni orjine olan uzaklıkları değişiyor ve saçma dönmeye başlıyorlar. Ben aşağıdaki resim gibi olsunlar istiyorum. Hani kod olmasada fikir verebilirseniz ?

      • yasirkula dedi ki:

        Aklıma gelen tek çözüm şu: origin bir Empty GameObject olur ve 2 top da bunun child’ı olur. Siz origin’i ne kadar kaydırırısanız kaydırın toplar da onu (parent’larını) takip eder.

      • Mehmet dedi ki:

        Sağ, sol, yukarı, aşağı kontrollerini assetstore dan “Easy Gesture” indirerek sağladım. Bununla gerçekten daha kolay ve kullanışlı oldu.

        Dediğiniz gibi orjine ben daha önce game object koyup onu hareket ettiriyordum fakat game object te dönmeye başlıyordu. Fakat o sorunu çözdüm şuan tam istediğim gibi oldu. Teşekkür ederim yardımlarınız için.

      • Mehmet dedi ki:

        Şimdiye kadar ki yardımlarınız için teşekkür ederim.

        2D oyunumda hareketli arka plan koymak istiyorum. http://themedaddy.net/animated-polygon-backgrounds/

        Bu linkteki hareketli temayı uygulamama nasıl koyabilirim ?

      • yasirkula dedi ki:

        Bu arkaplan, web sayfaları için HTML ve Javascript kullanarak yapılmış. Buradaki Javascript Unity’nin Unityscript’iyle aynı dil değil, o yüzden bu arkaplanı Unity’e geçirmenizin yolu yok.

  82. Furkan dedi ki:

    Hocam acaba Unity’de sav işlemini asıl yapacağız ? Mesela ben Play tusuna bastım.Level1in sonua geldim.Level2 açıldı.Sonra 3-4-5 derken oyuncu oyunu kapattı.Ama oyunu tekrar açınca Play tuşuna basınca kaldığı yerden devam etmeli.Ya da oyuna buton koysam o butona basınca hangi levelde ise o kaydedilse sonra playe basınca o leveli yüklese.Böyle bir şey mümkün mü ?

    • yasirkula dedi ki:

      PlayerPrefs fonksiyonları kullanarak kod yazmanız lazım. Belki alternatif yollar da olabilir.

      • Furkan dedi ki:

        i.hizliresim.com/7oRRzY.png

      • yasirkula dedi ki:

        SetInt fonksiyonu LoadLevel’dan önce gelebilir onun dışında kodlarda sıkıntı yok.

      • Furkan dedi ki:

        Hocam sıkıntı şu.Menüdeyken ikinci levele basınca oyuna giriyor.Kilitli olmuyor.

        #pragma strict
        var Level2 : GameObject;
        function Start (){
        }
        function Update (){
        if (PlayerPrefs.GetInt(“Level2”) == 0){
        Level2.active = false;
        }
        if (PlayerPrefs.GetInt(“Level2”) ==1){
        Level2.active = true;
        }
        }
        function OnMouseDown () {
        Application.LoadLevel(“Level2”);

        Kod bu.

      • Furkan dedi ki:

        Yani 1.leveli bitirmeden 2.levele de girilebiliyor.

      • yasirkula dedi ki:

        Bu kodu yazdıktan sonra 1. leveli bir kere geçtiyseniz artık 2. level hep açık kalır. Çünkü “Level2” anahtarı artık Kayıt Defteri Düzenleyicisi’nde yer almaktadır. PlayerPrefs.DeleteKey(“Level2”) yaparsanız ayarınız resetlenir.

      • Furkan dedi ki:

        Anladım hocam sağolun.

      • Furkan dedi ki:

        Hocam çok çok sağolun yeni level ekledim demedim.Kod çalışıyor. Bir şey daha soracağım.Texture u güzel göstermek için shader pack var galiba onlar hakkında bilginiz var mı ?

      • yasirkula dedi ki:

        Shader’larla pek içli dışlı olmadım. Oyunun grafikleri shader’dan shader’a oldukça farkedebiliyor; daha fazlasını ben de bilmiyorum 🙂

      • Furkan dedi ki:

        Hocam bir de çoklu dil seçenekleri nasıl oluyor ?

      • yasirkula dedi ki:

        Her bir dil için ayrı XML dosyaları oluyor ve oyunda geçen cümlelerin o dillerdeki karşılıkları bu dosyalarda tutuluyor. Pek detaylı bilmiyorum ben de.

  83. mehmet dedi ki:

    Merhaba ben bir oyun projesi yapıyorum. oyunumda top nesnesi var. ve onun ekranda rastgele çıkmasını istiyorum.Bunu bir türlü yapamadım. Bana yardımcı olurmusnuz bu konuda yol gösteririmisiniz? Neler kullanıcam ne yapıcam bir türlü beceremedim.

    • yasirkula dedi ki:

      Rastgele olaylar için genelde Random.Range fonksiyonunu kullanmanız gerekir. Random.Range(0,3) fonksiyonu size 0, 1 veya 2 döndürür (rastgele). Random.Range(0.0, 3.0) fonksiyonu ise [0.0,3.0] aralığında bir float sayı döndürür. Siz topun koordinatlarını rastgele bulup orada topu oluşturacaksınız.

      • Mehmet dedi ki:

        Hocam bir kod örneği veririmisiniz internette araştırdım fakat yapamadım. Unitynin documanlarına baktım ama yinede yapamadım.

      • yasirkula dedi ki:

        int x = Random.Range( 0, Screen.width );
        int y = Random.Range( 0, Screen.height );
        Vector3 pos = Camera.main.ScreenToWorldPoint( new Vector3( x, y, 10 ) );
        Instantiate( olusacakObje, pos, Quaternion.identity );

      • Mehmet dedi ki:

        hocam dediğiniz gibi yaptım ekranda topu kopyalayabiliyorum şu kod ile:

        public GameObject olusacakObje;
        private int TopSayisi;
        void Update () {

        if(TopSayisi< 3){
        TopSayisi += 1;
        GameObject Tops = Instantiate (olusacakObje , transform.position, transform.rotation) as GameObject;
        }
        }

        bu kodla ekranda 3 tane top oluyor. Fakat ben bu topları hareket ettirmek istiyorum yani durmadan ekranda çıksın. Bunuda transform.translate methoduyla denedim ama başaramadım.Yardımcı olurmusunuz ?

      • yasirkula dedi ki:

        Ekranda hareket ettirmek için 3 top için de birer GameObject veya Transform değişken tutmalı, Instantiate’te o topları bu değişkenlere atmalı ve bu değişkenler vasıtasıyla Translate yaparak topları hareket ettirmelisiniz.

      • Mehmet dedi ki:

        Hocam ben ekranda topu hareket ettirmeyi başardım. Şimdiden sorun hareket ederken dokunmamı algılamıyor. Yardımcı olurmusunuz kod örnegi veririmisiniz 🙂

        Ben şöyle açıklayım ekranda durmadan çıkan bir top var ona dokunmak istiyorum dokununca puan alıcam yardımcı olurmusunuz ? sadece dokunma konusunda gerisini herşeyi hallettim

      • yasirkula dedi ki:

        OnMouseDown fonksiyonu hem PC’de hem Android’de çalışmakta. Bu fonksyion bir objeye tıklanınca otomatik olarak çağırılır.

  84. Muhhammed dedi ki:

    Merhaba benim adım Muhammed, 16 yaşındayım evde kendi çabalarımla Unity ile oyun yapmaya çalışıyorum son çalışmam bu oynayıp yorum yaparsanız sevinirim. İsim ve içerik konusunda değişiklik yapmayı düşünüyorum. Bu demo gibisinden bir sürüm.

    Oyun linki:

    -LİNK KALDIRILDI-

  85. Furkan dedi ki:

    Hocam ben şimdi şöyle bir şey yapmak istiyorum.Oyunda çizgiyi geçince bir scene yüklenecek.O scenede bir buton olacak ve bu butona basınca diğer level yüklenecek.Benim istediğim şu.O butona basınca hangi leveli yükleyeceğini yazmadan bulunduğu levelden sonraki leveli yüklemesini nasıl sağlarım? Mesela Build Settings’de levelleri sıraladım 1-2-3-4 … diye. 3. levelde çizgiyi geçti menü geldi butona bastı 4. level yüklendi.Sonra 4. leveli bitirdi tekrar aynı menü geldi butona bastı 5. level yüklendi. Umarım anlatabildim 🙂

  86. Furkan dedi ki:

    Hocam kod ile oluşturulan GUIButton’lara PC’de mouse ile tıklayınca çalışıyor.Peki Android icin ayrı kod girmeye gerek var mı ?

  87. Mehmet dedi ki:

    AA oyunundaki Auto Save / Auto Load mantigi nasil oluyor ? Oyuncu Levelleri oynuyor.Oyunu kapatip girince kaldigi levelden devam ediyor.Bu nasil oluyor ?

  88. Furkan dedi ki:

    Windowstan IOS’a build alınabilir mi ?

  89. Muhammed dedi ki:

    Merhaba.Acaba oyuna eklenen reklamlardan gelen paralar nasıl ölçeklendiriliyor ? Bu işlere para gözünden bakmak yanlış ama şu an yazılımını bitirdiğim ve tasarımına başladığım mobil oyun için bilgisayarın gücü ucu ucuna yetiyor. Eğer gelen para iyi olursa yenisini almak istiyorum.O yüzden sordum.

  90. elif dedi ki:

    Merhabalar, unity de yaptığım bir oyunu local de çalışacak bir web sitesine nasıl ekleyebilirim?

  91. Furkan dedi ki:

    Scene’den sceneye geçerken müziğin kesilmemesin için ne yapılabilir ?

  92. Yiğit dedi ki:

    Yasir Abi merhaba. Bende Google Play ve Appstore’da kendi oyunlarımı görmek istiyorum. Bunun için öğrenmem gereken şeyleri bana madde madde özetler misin? C# ve Unity öğrenmem gerektiğini biliyorum fakat direk Youtube’daki kanallardan bunları mı öğrenmeye başlamalıyım yoksa bunları öğrenmeden önce bilmem veya yapmam gereken başka şeyler var mı? Yanıt bekliyorum. Umarım en kısa zamanda yanıt verirsin. Şimdiden çok teşekkür ederim 🙂

    • yasirkula dedi ki:

      İlginiz için teşekkür ederim. Malesef madde madde sıralama yapmayacağım çünkü hem üşeniyorum hem de ne yazacağımı bilmiyorum. Ben doğaçlama bir şekilde öğreniyorum; örneğin “unity beginner tutorial” yazıp okumaya/izlemeye başlıyorum. Öğrendiklerimi bir yere not alıyorum. Unity’nin forumlarında gezinip ne var ne yok inceliyorum zaman zaman. İşi nasıl öğreneceğiniz tamamen size kalmış birşey, kendi yolunuzu çizmekten çekinmeyin 😉

      • Yiğit dedi ki:

        Anladım yanıtın için teşekkürler. C# ve Unity3D öğrenmek için ingilizce videolar seyretsem bana çok daha yararı olur biliyorum ama malesef o düzeyde ingilizcem yok. Youtube’dan Türkçe olarak öğrenmeye başlasam yeterli olur mu sence? Birde dediğim gibi temel hedefim aklımdaki birsürü hayali oyun olarak somutlaştırmak. Bundan dolayı Google Play ile ilgili verebileceğin her türlü tavsiyeye açığım 🙂 Bunun dışında Asset Store gibi sitelerden ücretsiz olarak indirdiğim oyunları Google Play’e atmam mümkün mü? Bunun için çok üst düzey yazılım bilmem gerekmez sanırım. Sadece oradaki ücretsiz oyunları alıp değişiklik yapmadan markete atıcam. Ne kadar uzun yazarsan benim için o derece bilgilendirici olur ve seve seve okurum 🙂

      • yasirkula dedi ki:

        Türkçe dersler yeterli olmaz, İngilizce bilgisi şart. Hazır bir oyunu değişiklik yapmadan Store’a koymak kolay iş ancak bunu farkeden insanlar oyunu başka yerden aldığınızı dile getirip sizi ağır şekilde eleştirebilirler (bence haklı da olurlar).

      • Yiğit dedi ki:

        Yani google playe oyun yapıp atmam için ingilizce bilmem şart mı? Asset Store’daki oyunu nasıl markete atabilirim? Asset storedan indirip hiç değişiklik yapmadan nasıl atabilirim? Yardımcı olabilecek bir link varsa atarsanız çok memnun olurum. Bu arada Bilkent üniversitesi bilgisayar mühendisliği okuyosunuz, bilgisayar mühendisliği kazandığınız takdir de bu tür şeyleri öğrenme imkanı buldunuz mu? Yani yazılım dilleri öğrenme felan? Veya mobil ortama oyun/uygulama geliştirme gibi? Ve donanım mı yazılım mı daha fazla öğreniyorsunuz? Sorularımın hepsine cevap verirseniz çok memnun olurum.

      • yasirkula dedi ki:

        Oyun geliştirebilmek için İngilizce şart. Asset store’dan oyun indirip onu pazara sunmakla ilgili bir kaynak bilmiyorum. Bilgisayar mühendisliğinde sana temel eğitim veriyorlar, kendini geliştirmeyi sana bırakıyorlar. Temel eğitimden kasıt basit düzeyde Java, C++, MATLAB, Verilog vb.

      • Yiğit dedi ki:

        Yani bilgisayar mühendisliği okumayan ama kendini geliştiren birisi okuyandan çok daha fazla şey bilebilir. Hedefim ODTÜ Bilgisayar Mühendisliği ama zaten yapabileceğim şeyleri bana öğretirlerse puanıma yazık olur. Ben programlamaya oyun yapmaya çok meraklıyım ve çok seviyorum fakat bunu meslek olarak mı yoksa hobi olarak mı yapmalıyım orasını bilmiyorum. Eğer bilgisayar mühendisliği okursam sanırım bunu meslek olarak yapmam gerekicek. Ama örneğin diş hekimliği veya tıp okursam bu işe gene vaktim olur ve puanıma yazık etmemiş olurum. Ne düşünüyorsunuz?

      • yasirkula dedi ki:

        Doktor mesleğini severek yapacaksan doğru yoldasın; yapacağın işi sevmezsen zorlanabilirsin. Yalnız oyun programlamaya çok bel bağlama, belki başladıktan bir süre sonra sıkılacaksın. Biraz oyun yapımı hakkında tecrübe edinmeye çalışabilirsin.

  93. Furkan dedi ki:

    Hocam tavsiye ettiğiniz kodlama dili kitapları var mı
    C ve Java’dan ?

  94. Furkan dedi ki:

    Hocam oyunda bir zaman sayacı var.Ama zaman sayaınca şöyle bir sorunum var.Çözünürlük değişince sayacın arkasındaki gri tabaka çözünürlüğe göre büyüyüp küçülürken yazı büyüyüp küçülmüyor.Hep aynı kalıyor.

    Resim : http://i.hizliresim.com/zAGgoB.png

  95. omer faruk dedi ki:

    sa. Sitenizi tebrik ediyorum gayet faydalı Türkiyede böyle şeyleri görmek çok iyi. ve sizden birde game maker studio ya reklam ekleme (admob gibi android için) videosu eklemenizi istiyorum yardımınız için şimdiden teşekkürler

  96. Mehmet dedi ki:

    Üniversitede hangi programlama dillerini görüyorsunuz acaba ?

  97. Furkan dedi ki:

    Auto Save auto Load sistemi düzgün çalışmıyor nedense.Kayıtlı verileri de siliyorum.Mesela level 1’den başladım oynadım oyunu level 8’e geldim.Oyundan çıkınca tekrar girince Level 2’den başlıyor.

    Levellerin sonuda blok var.Bloğun ismi level1’de Bitis1 , level2’de Bitis2 … Level30’da Bitis30 olarak kayıtlı.

    Mesela level1’de Bitis1 adlı blokta şu kod var :

    function OnTriggerEnter (collider : Collider){
    if (collider.gameObject.name == “Top”){
    PlayerPrefs.SetInt(“Bitis1”,1);
    PlayerPrefs.SetInt(“Level2”,1);
    Application.LoadLevel(“Level2”);
    }
    }

    Level 30’da :

    function OnTriggerEnter (collider : Collider){
    if (collider.gameObject.name == “Top”){
    PlayerPrefs.SetInt(“Bitis30”,1);
    PlayerPrefs.SetInt(“Level31”,1);
    Application.LoadLevel(“Level31”);
    }
    }

    Oyundan çıkınca Play butonuna basınca LevelKayit adlı sahne var.O açılıyor ve o sahnede kameraya şu kodları giriyorum :

    Level2Yuklenme :

    function Start () {
    if(PlayerPrefs.GetInt(“Bitis1”)==1){
    Application.LoadLevel(“Level2”);
    }
    }

    Level30Yuklenme :

    function Start () {
    if(PlayerPrefs.GetInt(“Bitis29”)==1){
    Application.LoadLevel(“Level30”);
    }
    }

    İsterseniz dosyaları gönderebilirim.Sorun şu oyundan çıkıp tekrar girince oyun level2’den başlıyor.

    Sorun şu galiba.LevelKayit adlı sahnede Level2Yuklenme kodunu silince Level3’ten, Level3Yuklenme’yi silince Level4’ten başlıyor.Öyle devam ediyor.Galiba Leveller kaydedilmiyor.

    Umarım sorunu anlatabildim 🙂

    • yasirkula dedi ki:

      Levellar kaydediliyor, siz ilk başta Bitis1’in değerini kontrol ettiğiniz için (ve değeri de 1 olduğundan) direkt “Application.LoadLevel(“Level2″);” satırı çalışıyor. Hem 30 tane script yazmanın önüne geçmek hem de tek bir PlayerPrefs kullanmak için public değişken kullanmanız daha yararlı olacaktır. Şöyle ki:

      // ilk level’da değeri Level2, 2. levelda değeri Level3 olmalı
      public var sonrakiLevel : String;
      function OnTriggerEnter (collider : Collider){
      if (collider.gameObject.name == “Top”){
      PlayerPrefs.SetString(“Level”,sonrakiLevel);
      Application.LoadLevel(sonrakiLevel);
      }
      }

      Diğer kod ise şöyle olmalı:

      function Start () {
      if(PlayerPrefs.HasKey(“Level”)){
      Application.LoadLevel(PlayerPrefs.GetKey(“Level”));
      }
      }

  98. Murat dedi ki:

    Bir OnGUI kodum var.Ben bu kodun sahne açıldıktan 2 saniye sonra çalışmasını nasıl yaparım ? Yani buton 2 saniye sonra gözüksün.

    • yasirkula dedi ki:

      Bir float değişken olur, Start’ta değeri Time.time olur. OnGUI’deki kodların ise ancak (Time.time-floatDegisken)>2 ise çalışması sağlanır.

  99. Furkan dedi ki:

    Hocam ben kodu Multi Touch’a çevirmeye çalıştım.Acaba doğru oldu mu ? Hata vermedi.


    • yasirkula dedi ki:

      OnGUI’lerdeki if’lerin içi boş kalmalı. Kodu zaten Update’te çalıştırıyorsunuz bir de if’te çalışmasın. Onun dışında ilk koddaki t.phase’li koşulu silerseniz başka hata kalacağını sanmam.

  100. Furkan dedi ki:

    Hocam oyunum Play Store’a ekli ama sadece ismini yazınca çıkmıyor.İsim ve geliştirici adını tam şekilde yazınca çıkıyor. Acaba bir ayarı felan mı var ?

  101. Furkan dedi ki:

    Kodu butona çevirmeye çalıştım.Şu hatayı alıyorum. i.hizliresim.com/d5Q30V.png

    • Furkan dedi ki:

      2. sorum da şu hocam.Ben javascriptte for döngüsünden sonra function Start içindeki bir yere gitmek istiyorum. Nette baktım. goto komutu kullanılmış. Ben de kullandım.Ama hata verdi.

      • yasirkula dedi ki:

        goto hiç kullanmadım, bilmiyorum. Bence goto ile gittiğiniz yerdeki kodu bir fonksiyonun içine yazıp yeri gelince o fonksiyonu çağırmanız daha mantıklı olur.

    • yasirkula dedi ki:

      İçi boş bir buton oluşturacaksanız bile ilk parametre olarak boş bir string “” girmelisiniz (yani new Rect’ten hemen önce).

      • yasirkula dedi ki:

        Coroutine’lerin çalışma prensipleri pause-resume mantığına dayalı. OnGUI’de coroutine çağırınca yield OnGUI’yi etkilemiyor, sadece coroutine’i etkiliyor. Coroutine ve yield’ların nasıl çalıştığını ben de tam bilmiyordum ancak internette “unity how does coroutine work” şeklinde arama yapınca bana epey yardımcı oldu.

        Eğer ki StartCoroutine’in altındaki satırı kesip Zaman fonksiyonunun sonuna yapıştırırsanız butona bastıktan 2 saniye sonra collider küçülür. Sonrasında bu collider’ı büyütmek de gerekecek ve eminim daha görmediğimiz çeşitli sorunlar da baş gösterecektir. Çünkü bu iş için doğru yolun bu olduğunu sanmıyorum.

        Aklıma kullanabileceğiniz iki yol geliyor:
        1- Animation Event
        2- Şu video derste anlatılan yöntem (nasıl çalıştığını incelemedim): https://youtu.be/Xx21y9eJq1U?t=1657

        Eğer sorununuzu çözerseniz nasıl yaptığınızı paylaşırsanız güzel olur.

  102. Furkan dedi ki:

    Hocam ben boşuna uğraşmışım.Collisionu karakter objesinin içindeki asıl karaktere ekledim.Sorunlar çözüldü 😀 Kaymada ufak bi sıkıntı var.Onun da çözümünü Animation Event’de bir videoda gördüm.Collisionu Animation bölümünden zamana göre küçülteceğim.Curves ile aynı mantık ama Curves bölümü sadece Pro’larda var.

    Çok çok çok teşekkür ederim.

  103. Furkan dedi ki:

    Hocam skor değerinde küsüratı nasıl yok ederim ?

    http://i.hizliresim.com/5dAPkL.png

  104. levent dedi ki:

    merhaba ben internetten hazır bir oyun indirdim bana şöyle bir hata verdi bazı kelımeler kırmızı yanıyordu bende orda yazanları tekrar yazdım ama altta çıkmıyıyor kodum şöyle

    27. satır GetTriangleStrip ve Length
    130. satır GetTriangleStrip
    177. satır SetTriangleStrip
    yardım edereniz sevinirim

    KOD TEMİZLENDİ

  105. levent dedi ki:

    birde şöyle bir isteğim olacak ben bir oyun yapmaya çalkışıyorum bu oyunun level kilit sistemi için asset storeden 5 mnute gibi birşey var her neyse bunu baslatınca level 1 e basıyorsun level 2 aç diyiyor sonra nex level geliyor ben oyle değilde a objesi b objesinin açine girince level 2 açılsın ve nex level yazısı gelsin bana yardım ederseniz çok teşekkür ederim….

  106. acaba gamejolt api kullanımı hakkında bilginiz var mı veya tavsiye edebileceğiniz bir tutorial var mı şimdiden teşekkürler

  107. Levent dedi ki:

    merhaba bilgisayar oyununu telefona nasıl yapabilirim yani oyunda w basınca karakter gidiyor ben bunu butona koymak istiyorum yardımcı olursanız sevinirim

    • yasirkula dedi ki:

      Buton ile UI Button kastediyorsunuz diyelim. Öncelikle şu dersimi açın: https://yasirkula.com/2015/01/21/unity-ui-arayuz-sistemi/

      Burada “Bir UI Elemanına Basılı Tutulduğu Sürece Yapılacak Şeyleri Belirlemek (Event Trigger Sistemi)” şeklinde bir başlık var, orası size yardımcı olacaktır. Kendi kodunuzda Input.GetKey(KeyCode.W) veya Input.GetAxis(“Vertical”) koşullarının içindeki kodların tamamını veya bir kısmını (sizin bileceğiniz iş) butona basılı tutunca çalışacak fonksiyona taşımalısınız.

  108. ihsan dedi ki:

    Arkadaslar UI da fare ile birbutonun vs. seylerin ustune gelince bir yazi ciksin or;odun

    • yasirkula dedi ki:

      UI elemanlarına Event Trigger component’i eklerseniz “On Pointer Enter” event’i ile fare UI elemanının üzerine gelince, “On Pointer Exit” ile de fare UI elemanının üzerinden çıkınca kendi fonksiyonlarınızı çağırarak Unity’e istediğiniz şeyleri yaptırabilirsiniz.

  109. senin sitenle aynı tasarıma sahip site buldum hacı 😀 https://secureplanet.wordpress.com

  110. mami27 dedi ki:

    unity 5.1 den itibaren sanırım yeni bir multiplayer servisi başlatmış https://multiplayer.unity3d.com
    benim anladığım kadarı ile şuan yaptığımız oyunu sürekli açık bir server yapabiliyoruz burdan(şuan max 100 kişi hakkı veriyo) yanlış mı anlamışım veya bildiğiniz başka detay var mı?

  111. Oto Ekspertiz dedi ki:

    Güzel ve kaliteli bir web sitesi. Tebrik eder başarılarınızın devamını dileriz.

  112. furkan dedi ki:

    Ben şimdi karaktere animasyon ekledim.Animasyonda collisionun karakterin hareketlerine göre durması ve sıkıntı çıkarmaması için ( Örnek : i.hizliresim.com/yl4ybn.png ) collisionu karakterin “Adam” isimli ana dosyasına değil de mixamorig’e ekledim. Resim : i.hizliresim.com/gAoN7N.png.Buraya kadar sıkıntı yok.( Adam adlı gameobjecte ekleyince collision böyle duruyor ve animasyonlarda sıkıntı çıkarıyor : i.hizliresim.com/ZVYggg.png )

    Ama bu sefer şöyle bir sorun var. mixamorig’e collision ekleyince engelin içinden geçebiliyor.Bunu nasıl düzeltirim ?

    Umarım anlatabildim.

  113. levent dedi ki:

    merhaba ben 2 kişilik oyun yaptım ben oyuna karakter seçmeyi eklemek istiyorum bunu nasıl bir yöntemle yapsam doğru olur yardımcı olursanız sevinirim
    aklımda soyle bir dusunce yarattı mesela 1 butonuna ve 4 butonuna basınca “14” sceni açılsın gibi olabilirmi?

    • yasirkula dedi ki:

      Bu şekil yapmayın zira her yeni karakter eklediğinizde yeni scene oluşturmak zorunda kalırsınız ve oyunun boyutu büyür. Karakter seçimini (14) static bir int değişkende tutun ve oyun sahnesi açıldığı zaman bir script vasıtasıyla bu değişkenin değerini kontrol edin. Değişkenin değeri neyse o değere denk gelen karakteri Instantiate edin. Belki daha iyi bir yolu da olabilir, aklıma bu geldi ilk başta.

      • levent dedi ki:

        peki 1 ve 4 butonuna basılınca “14” scenini açmayı nasıl yapabilirim?

      • yasirkula dedi ki:

        Bunun zor yolu Input.GetKeyDown ile her tuşu tek tek test etmeniz. Daha kolay bir yolu ise (benim de yeni öğrendiğim bir yol) Input.inputString değişkeninden faydalanarak en son tıklanan tuşu kontrol etmeniz. Girilen input üzerinde işlem yapmadan önce input’un ‘0’ ile ‘9’ aralığında olup olmadığını kontrol etmek zorundasınız.

  114. ali dedi ki:

    merhaba ben bir oyun yapmaya çalışıyorum oyun içinde skoru yaptım ama oyun bittiği zaman skoru söylemiyor birde yüksek skor olmuyor sizin templerun örneğiniz üzerinden yapmaya çalıştım ama olmadı siz yardımcı olursanız sevinirim bu kodum:

    -KOD TEMİZLENDİ-

    • yasirkula dedi ki:

      Kod çok uzun ve karışık olduğu için kodu kaldırdım. Yüksekskor işini Temple Run oyununda PlayerPrefs ile hallettim. Her round sonunda mevcut skoru yüksekskor ile kıyasladım ve yeni bir yüksekskor yapmışsak skoru PlayerPrefs.SetInt fonksiyonu ile kaydettim. Her oyunun başında da mevcut yüksekskoru PlayerPrefs.GetInt fonksiyonu ile çektim.

      Oyun sonunda skoru bir UI Text’te gösterecekseniz tek yapmanız gereken UnityEngine.UI.Text türünde public bir değişken tanımlamak, bu değişkene oyun sonunda gözükecek Text objesini değer olarak vermek ve degisken.text = skor; kodu yazmak.

  115. Merhabalar öncelikle derslerinizden çok memnunum. Program ve oyun yazılımı konusunda türkçe kaynak yok denecek kadar az sayıda. Bir program yazmak istiyorum mantıkta basit yapması gereken sadece butona bastığımızda çekiliş yapmak, eğer kazanırsa ekranda bir kod çıkması ve tek şart 24 içerisinde 1 kere kullanım hakkı olması. stackoverflow da çok aradım ancak çekiliş yapıcak bi script bulamadım bu konuda yardımlarınızı bekliyorum. Çalışmalarınızda başarılar.

    • yasirkula dedi ki:

      Çekilişe katılan insanları bir string[] array’inde tuttuğunuzu varsayarsak (ismi cekilis olsun) yapmanız gereken cekilis[Random.Range(0,cekilis.Length)] yapmak. Böylece array’in içinden rastgele bir string çekilir.

  116. ömer dedi ki:

    merhaba ben araba oyunu yaptım modifiye eklemek istiyorum bunu nasıl yapabilirim

  117. ömer dedi ki:

    birde oyuna baslarken menu olacak ekranda yanda buton olacak butona basınca ekranda başka map resmi olacak basla diyince o maple başlayacak böyle kodum var ama online bunu singleplayer yapabilirmisiniz?

  118. Furkanf dedi ki:

    Benim bir büyü objem var.Objenin Is Trigger seçeneği aktif ve Rigidbody’de Use Gravity kapalı.

    Bir de karakterim var.Karakterin collisionunda da Is Trigger aktif ve Rigidbody’de Use Gravity kapalı.

    Büyü karaktere değince karakterin canı azalıyor ve büyü siliniyor.Kod : http://i.hizliresim.com/b26b7m.png

    Sorun şu.Ara sıra büyü karaktere değince karakterin canı azalıyor ama büyü yok olmuyor.Neden ?

    • Furkan dedi ki:

      Destroy(player.gameObject); olarak düzeltince sorun kalmadı 🙂

      Başka bir şey sormak istiyorum.Unity’de Gıf nasıl oynatılır? Benim bir gif textureum var.Ama programda normal resimmiş gibi oluyor.

      • yasirkula dedi ki:

        Unity .gif desteklemiyor. Tüm frame’leri ayrı ayrı kaydetmeli ve bu frame’ler arası kod yardımıyla geçiş yapmalısınız. Daha pratik yolu da olabilir, ben bilmiyorum.

  119. Furkan dedi ki:

    Karakter yolda koşuyor : http://i.hizliresim.com/1k6dbb.png

    E’ye basınca aşağı taraftan koşuyor : http://i.hizliresim.com/rV59kz.png
    Kod : http://i.hizliresim.com/L4l3zz.png

    Tekrar E’ye basınca ilk resimdeki haline dönmesini istiyorum ama şöyle oluyor.

    Aşağıda koşarken E’ye basınca yukarı geçmesi gerekirken böyle oluyor : http://i.hizliresim.com/7bavGv.png
    Tekrar E’ye basınca : http://i.hizliresim.com/6kanzW.png
    Bir daha E’ye basınca eski haline geliyor : http://i.hizliresim.com/RVr35j.png

    Bunu nasıl düzeltirim ?

  120. Furkan dedi ki:

    Şimdi benim pil kodum var ve kodda pil kademeli olarak azalıyor.Bu kodu kamera objesine ekledim.
    Resim : http://i.hizliresim.com/L4v4Qz.png

    Bir de pil simgem var.Pil simgesinde de şu kod ekli :
    Resim : http://i.hizliresim.com/qlAlEV.png

    Sorun şu.Ben pil simgesini alınca pil kodundaki pilin kapasitesini belli bir miktarda arttırmak istiyorum.Nasıl yapacağım ?

  121. cemil dedi ki:

    ben oyunuma türkçe-ingilizce dil seçeneği eklemek istiyorum bunu nasıl yapabilirim

    • yasirkula dedi ki:

      Yazıları bir XML dosyasından çekebilirsiniz ya da scriptlerinizde her yerde if-else kullanıp dile göre ilgili cümleyi yazdırabilirsiniz (tavsiye etmem). NGUI’de dile göre yazı bastırmak için bir component bulunmakta.

  122. Furkan dedi ki:

    Başka bir koddan dikdörtgen içindeki kısmı nasıl değiştiririm ?

    http://oyun-programlama.com/Attachment/115-Ads-z-png/

    isik.GetComponent(“IsikDestroy”).pil-=1*Time.deltaTime;​ Böyle yaptım ama olmadı.Nasıl olacak ?

  123. mehmet ali dedi ki:

    ui ekrana sıgdırmayı nasıl yapabilirim yani boyut isterse full olsun isterse küçük olsun gene ekranda oranlarını kaybetmeyecek ?

  124. Furkan dedi ki:

    Karakterim resimlerdeki gibi yolun üstünden ve altından koşuyor.
    i.hizliresim.com/lyPq6p.png
    i.hizliresim.com/J48ZgE.png

    Pause tuşuna basınca birkaç kodu deaktif ediyorum.Bunlardan biri de karakterin ekrana basınca üstteyken alta alttayken üste geçmesini sağlayan kod.
    i.hizliresim.com/j2rgdg.png

    Ama pause tuşuna basıp sonra oyunu devam ettirince eğer karakter altta ise hemen üste geçiyor ve sonra alta geçiyor.

    Hatta pause’a basıp devam tuşuna basınca ve bu eylemleri 2-3 kere ard arda yapınca karakter yolun ortasına geçiyor.

    i.hizliresim.com/lyPqAp.png

    Bunu nasıl düzeltirim ?

  125. mehmet ali dedi ki:

    google analytics adında bir kodum var kodu objeye atınca android ve ios tracking code other tracking kode product name bundle identifier bundle version gibi şeyler istiyor bu ne kodu ayrıca admobla alakalı galiba

  126. Furkan dedi ki:

    Bu hatayı alıyorum.Android SDK’yı kaldırdım kurdum.Google play dosyasındaki libi de aldım.İnternetten baktım.Adresler yanlış olabilir yazıyordu , adresleri düzelttim.Hala aynı hatayı alıyorum.Çözümü ne ?

    http://oyun-programlama.com/Attachment/138-Ads-z-png/

  127. Furkan dedi ki:

    Google play Oyunlar’a bağlanıp Leaderboard yapmaya çalıştım.

    i.hizliresim.com/rVk5Dm.png

    Kodlarda sıkıntı var mı ? Leaderboard göstermede ?

    Oyun Olay Oyunlar’da gözüküyor ama leaderboard açılmıyor.

  128. anıl efe dedi ki:

    abi yardım edin kogama www çalışmıyor lütfen yardım kogama oynayanlar tarayıcı olan fire fox da denedim oynuyor fakat 10 saniye hattaha 5 saniye sonra oyun kapanıyor tarayıcı olan chrome ise onda bir yere tıklasam açmıyor lütfen yardım edin

  129. anıl efe dedi ki:

    Could….. not preload global game manager #0 i=0 sorun bu arkadaşlar

  130. Furkan dedi ki:

    Benim texture’u geriye doğru götüren bir kodum var :
    oyun-programlama.com/Attachment/160-Ads-z-png/

    Bu kodda belirli skorlarda geri gitme hızını arttırıyorum.PC’de texture hızlanıp oyunu durdurunca sorun yok ama telefonda texture hızlanıp oyunu durdurunca resimdeki gibi texture değişik oluyor.

    http://oyun-programlama.com/Attachment/167-Screenshot-2015-09-15-23-41-33-png/

    Nasıl düzeltebilirim ?

    Aslında sadece oyunu durdurunca belli oluyor.Sorun değil ama yine de çözümü varsa öğrenmek isterim.

  131. haydar pala dedi ki:

    Merhaba Süleyman bey. Ben Klasik Roll- Ball oyunu yaptım. Kontrolleri pc de çok güzel oturttum, collectibles yani coin almayı ve skor kaydetmeyi de hallettim fakat iş android e entegre etmek olunca herşey karıştı. EasyTouch plugini ile kontrol etmeye çalıştım. Amacım hem topu ileri yada geri hareket ettirmek aynı zamanda da zıplatmaktı. Plugin in içindeki Joystick ile çok uğraştım ve ileri geri hareketi bir şekilde başardım fakat bu sefer de hem jump button hemde joystick aynı anda çalışmıyor. Sizin multitouch dersinize baktım fakat kodu nereye yerleştireceğimi bilemedim çünkü plugin kullanıyorum. Ayrıca Ball control scriptine bir iki müdahele ettim. “W” key yerine mouse click ile zıplatmayı denedim bu sefer de joystick e sağ sol yapayım dediğimde bile jump komutu yapmaya başladı bende tekrar “W” tuşuna aldım. Şu anda Nasıl bir yol izlemeliyim? Bilgilendirirseniz çok çok sevinirim. İyi çalışmalar. Ball-control scriptim aşşağıdadır.

    #pragma strict

    var rotationSpeed = 100;
    var jumpHeight = 8;

    var Hit01 : AudioClip;
    var Hit02 : AudioClip;
    var Hit03 : AudioClip;
    public var buton : GUITexture;

    var distToGround : float;

    function Start () {
    // Getting the distance from the center to the ground.
    distToGround = GetComponent.().bounds.extents.y;
    }

    function Update ()
    {
    //Handle ball rotation.
    var rotation : float = Input.GetAxis (“Horizontal”) * rotationSpeed;
    rotation *= Time.deltaTime;
    GetComponent.().AddRelativeTorque (Vector3.back * rotation);

    if (Input.GetKeyDown(KeyCode.W) && IsGrounded ())
    {
    GetComponent.().velocity.y = jumpHeight;
    }
    }

    function IsGrounded () : boolean { //Check if we are on the ground. Return true if we are else return null.
    return Physics.Raycast(transform.position, -Vector3.up, distToGround + 0.1);
    }

    function OnCollisionEnter () {
    var theHit = Random.Range(0, 3);
    if (theHit == 0)
    {
    GetComponent.().clip = Hit01;
    }
    else if (theHit == 1)
    {
    GetComponent.().clip = Hit02;
    }
    else {
    GetComponent.().clip = Hit03;
    }
    GetComponent.().pitch = Random.Range (0.9,1.1);
    GetComponent.().Play();
    }

    • yasirkula dedi ki:

      BallControl scriptinizde sıkıntı yok. Eğer zıplamayı multi-touch destekli yapmak istiyorsanız şöyle yapmalısınız:

      if(IsGrounded())
      {
      	for(var t : Touch in Input.touches)
      	{
      		if(t.phase == TouchPhase.Began)
      			GetComponent(Rigidbody).velocity.y = jumpHeight;
      	}
      }
      

      Joystick’e multi-touch destekletmek için joystick’in kaynak kodlarını ellemelisiniz.

  132. murataltuntas dedi ki:

    Merhaba Yasir Bey,
    Unity ‘de Arttırılmış Gerçeklik (Augmented Reality) ile ilgili çalışmalarınız var mıdır?

  133. sohbet dedi ki:

    faydalı bilgiler tşkler

  134. evliya dedi ki:

    Iyi gunler hocam sizden bir ricam olacakti blender ile ilgili bir yabanci kitabi turkceye cevirirmisiniz herhangi biri olur turkce kaynaklarda yeteri kadar detaya inilmiyor eger yaparsaniz sevinirim simdiden tskler

  135. levent dedi ki:

    merhaba ben menü yapıyorum şimdi bir butona tıklayınca set bool activite olacak birdaha tıklayınca set bool false olacak bunu nasıl yapabilirim yardımınızı bekliyorum….

  136. Levent dedi ki:

    Ben unityde araba oyunu yapiyorum ve oyunu sahnee atinca uzerinde biraz karanlik cokuyor bunu direction ligt la cozmeye calistim ama her tarafi tam ayni olmuyor her tarafi ayni nasil yapabilirim yardim ederseniz sevinirim

    • yasirkula dedi ki:

      Window-Lighting’deki Ambient Color’ın rengini değiştirebilir veya Ambient Intensity’i artırabilirsiniz.

      • levent dedi ki:

        window-lightingdeki rengi değiştirdim ama arabada o renk gözüküyor oda arabayı bozuyor amblient intensityi arttırdım ama arabanın bazı yerleri bembeyaz oluyor…

      • yasirkula dedi ki:

        Evet ışıklandırma zorlayıcı bir iş. Nasıl çözeceksiniz ben de bilmiyorum.

  137. evliya dedi ki:

    iyi günler hocam ben blender ile bir bulut tasarladım şimdi unity e atınca ne yazık ki obje olarak geliyor ben bulutsu olmasını istiyorum sorunu nasıl düzeltirim araştırdım ama bir çözümü yok nette eğer yardımcı olursanız sevinirim şimdiden teşekkürler

    • yasirkula dedi ki:

      Objenin materyali ya da texture’u ya yoktur ya da Blender’dan otomatik olarak geçmemiştir. Otomatik olarak geçmediyse çözümü ben bilmiyorum. Öbür türlü ise kendi materyalinizi oluşturup buluta vermeyi deneyebilirsiniz.

  138. Özgür dedi ki:

    Selam,

    Ücretsiz unity versiyonu ile yapılan oyunların GooglePlay’den yüklenme sayıları çok düşük oluyor.

    Aynı tarz oyunlarımızı önceden flash builder, java ve flash ile yaptığımızda yüklenme sayıları müthiş hızlı artıyordu.
    Ne zaman ki unity platformuna geçtim oyunların yüklenmesi bıçak gibi kesildi resmen. eskiden 2.000-3.000 günlük yüklemesi olan oyunlar 300-500 e düştü. 1 ayda yeni bir oyun 20.000 – 50.000 olurken, şimdi 500-1000 seviyesine bile erişemiyor.

    milyon üstü yüklemesi olan 3-5 oyunum var. onlar bile unity platformuna güncellendiğinde günlük yüklenme sayıları çok azaldı.

    yanlış bir tespit mi yaptım bu konuda diye düşünüyorum. ama oyunlar aynı kalıpta oluşturuluyor.

    unity güncellemeleri de sdk ve reklam firmaları tercihimden dolayı yapmak zorunda kalmıştım.

    Sonuçta açılışta Powered by UNITY ekranı çıkıyor.
    Acaba unity reklamı oluyor diye oyunu ön plana çıkarmama gibi bir düşüncesi mi var google amcanın? ;(

    Tecrubesi olan var mı bu konuda???

    • yasirkula dedi ki:

      Reklamla alakalı olduğunu sanmıyorum. Oyunun boyutu 10 MB kadar büyüdüğü için olabilir bir olasılık. Aklıma başka düzgün bir sebep gelmiyor. Bu konuda deneyimli başkaları da burada fikrini paylaşırsa güzel olur.

  139. İhsan Arslan dedi ki:

    Unity 3d ile üyelik sistemi nasıl yapılır ve oyunu player prefs ile bilgisayara kaydetmek yerine oyuna giriş yapan kullanıcının hesabına nasıl kaydederiz.derslerinin anlatımını yaparmisin

    • yasirkula dedi ki:

      Çok güzel konulardan bahsetmişsiniz ancak şu anda bu konular benim bilgi dağarcığımın dışında kalıyor. İnşallah ileride böyle bir ders güzel olur.

  140. Volkan dedi ki:

    camera follow isminde bir scriptim var x ve y kodları birbirinden ayrı yani ikisi de bool ve if ile çalışıyolar x-axis’i yaptım fakat y-axis’i yapamadım yeni transform olunca işler karışıyo yeni vector3 yazdım ama fayda etmedi nerde yanlış yaptım bilmiyorum acil düzeltmem lazım size zahmet y-axis için bana yardım edebilir misiniz? kodum aşağıdadır.

    using UnityEngine;
    using System.Collections;

    public class CameraFollow : MonoBehaviour {

    public GameObject cameraTarget; // Inspector> Assign the Camera Target NON è il target della camera ma la posizione che vuole raggiungere la camera
    public float smoothTime = 0.1f; // Delay in seconds to follow Player
    public bool cameraFollowX = true; // Inspector> if is checked -> The Camera will follow X position of cameraTarget
    public bool cameraFollowY = true; // Inspector> if is checked -> The Camera will follow Y position of cameraTarget
    public bool cameraFollowHeight = false; // if true the Camera Y Position = cameraHeight
    public float cameraHeight = 2.5f; // cameraHeight
    public Vector2 velocity;
    public float offset;
    private Transform thisTransform;

    void Start ()
    {
    thisTransform = transform;
    }

    void Update ()
    {

    if (cameraFollowX) { // if cameraFollowX = true = Inspector is checked
    float myX = Mathf.SmoothDamp (thisTransform.position.x, cameraTarget.transform.position.x + offset, ref velocity.x, smoothTime);
    Vector3 myV = new Vector3(myX,thisTransform.position.y,thisTransform.position.z);
    thisTransform.position = myV;
    }

    if (cameraFollowY) { // if cameraFollowY = true = Inspector is checked

    float myY = Mathf.SmoothDamp (thisTransform.position.y, cameraTarget.transform.position.y, ref velocity.y, smoothTime);
    Vector3 myO = new Vector3(myY,thisTransform.position.z);
    thisTransform.position = myO;
    }

    /*if (!cameraFollowY && cameraFollowHeight) { // if cameraFollowY = false = Inspector is unchecked AND cameraFollowHeight = true = Inspector is checked
    Camera.main.transform.position.y = cameraHeight; // The Camera Y position = cameraHeight
    }*/
    }
    }

    • yasirkula dedi ki:

      Vector3 myO = new Vector3(myY,thisTransform.position.z);

      Bu satırı şöyle yapın bir de:

      Vector3 myO = new Vector3(thisTransform.position.x,myY,thisTransform.position.z);

      • Volkan dedi ki:

        çok teşekkür ederim oldu nedense oraya x yazmak gerekiyomuş nası düşünemedim :S

  141. Mehmet KAYA dedi ki:

    Rahatsız olduğum konu bu kadar iyiliği neden sitenizde hiçbir reklam olmadan yapıyorsunuz ?

  142. yusuf dedi ki:

    Yasir Hocam merhabalar. Hocam bu Unity Ads konusunda siteye kayıt, kod kullanma script leme gibi birkaç ufak bilgi verebilirmisiniz.

  143. yusuf dedi ki:

    Yasir Hocam Geçen sorunun cevabı için teşekkürederim.

    Şimdiki sorum biraz basit sanırım ama yapamadım. canvas da Text ile score yazdırıyorum. yazdırdığım değişken int biçimden. yani tam sayı.

    Text.text = ” ” + score;

    bu şekilde yazdırdım. fakat hocam ben virgül kullanmak istiyorum örneğin 10,500,000 gibi
    ne yapmam gerekiyor.

  144. yusuf dedi ki:

    Merhaba Yasir Hocam.. Application.LoadLevel(“MainMenu”); bu tarz işlemler atadım buttonlara öncedende çok kullanmıştım fakat şuanda sürekli hata veriyor. Application. yaziyorum LoadLevel yazısının üstü kırmızı çizgi ile çizili. bazen kabul ediyor bazen hata veriyor ama daha sonra hep hata veriyor. bunu nasıl halledebilirim

    • yasirkula dedi ki:

      Unity’nin son sürümlerinde SceneManager.LoadScene komutu kullanılıyor. Bunun için “UnityEngine.SceneManagement” paketini import etmeniz lazım.

  145. yusuf dedi ki:

    Hocam merhaba.

    oyun içerisinde objelerim var ve tam küp şeklindeler (1,1,1). Hocam bunları sıfırlanacak şekilde yan yana getirdiğimde oyun ekranında aralarında oluşan çizgiler oluyor yani tam birbirine sıfırlanmamış gibi oluyorlar. Bu durumu nasıl çözebilirim

  146. agario dedi ki:

    faydalı bilgi dolu bir site sagolun

  147. sercan serdar dedi ki:

    hocam bir kaç soru sormak istiyorum izninizle.

    1- unity ile yapılan mobil oyunun kurulum dosyası boyutu ve donanım gereksinimleri neye göre değişiyor belirli bir sabitleri var mı bunun ? mesela atıyorum çok partikül kullanımı şu kadar +mb arttırır. yüksek poligonlu modeller şu kadar +mb arttırır gibi ? ya da kaliteyi çok düşürmeden oyun boyutunu düşük tutabilmek için ufak tefek ipuçları var mıdır ?

    2- c#, javascripte göre çok zorlar mı ?

    3- oyunu yükleyenler için mesela donanımı çok zorlanıyorsa, oyunu ona göre optimizasyon yapan belirli bir prosedür var mı ? görüntüyü yaymak yerine ekran boyutunun ayarlanması veya render distanceın azalması ya da gölgelerin kalitesinin azalması gibi ?

    4- oyunun menüsünde oyunun farklı versiyonu için bir seçenek bulundurucam. eğer diğer versiyon yoksa google playdeki sayfasına, eğer diğer versiyonu da yüklemişse adam ilk versiyonu kapatıp ikincisinin açılmasını istiyorum. bunu yaptırırken herhangi bir root erişimi ister mi ? sonuçta adamın cihazında diğer uygulamayı açtırıp eylem yaptırıyorum. ve böyle birşeye antivirüsler ne tepki verir ?

    grafik açısından zengin ama oynanışında fonksiyon açısından biraz fakir bir oyun fikrim var da o yüzden soruyorum yardımcı olursanız çok sevinirim. teşekkürler şimdiden kolay gelsin 🙂

    • sercan serdar dedi ki:

      son bir şey daha 2.soruyu iptal ettim konu başlığı varmış zaten kusura bakmayın çok göz atmadan sallamışım hemen soruyu 🙂 onun yerine şunu sorayım 1. soruya ek olarak.

      bölüm aralarına ufak sinematikler eklesem mesela bu sinematikleri video olarak göstermem mi yoksa direk unityde sahneyle kamerayla oynayarak yapabiliyormuyuz ? ikisininde avantajları dezavantajları nelerdir ?

    • yasirkula dedi ki:

      1- Oyunun boyutu, texture ve müziklerin compression’ına, kullandığınız 3D modellerin boyutlarına, kodlarınızda import ettiğiniz kütüphanelere ve pluginlere göre değişiyor. Bir objeden oyunda birden çok kez kullanmak oyunun boyutunu artırmaz; kullandığınız farklı farklı “asset”ler boyutu etkiler. Compression’ları ne kadar artırır ve modelleri ne kadar low-poly yaparsanız oyunun boyutu o kadar azalacaktır.

      2*- Sinematikleri video şeklinde yaparsanız oyunun boyutunda ciddi bir artma yaşanacaktır. Ancak sinematikleri Unity içerisinde yaparsanız bu zaman da Unity’nin grafik kalitesi ile yetinmek zorundasınız. Bu yüzdendir ki günümüz oyunlarında önemli sinematikler video şeklinde, geri kalan cutscene’ler oyun motoru içerisinde animasyon şeklinde yapılmakta.

      3- Oyunu optimize etmek için Profiler kullanabilirsiniz. Kim ne kadar kaynak yiyor hepsini görebiliyorsunuz.

      4- Bilgim yok 🙂

      • sercan serdar dedi ki:

        çoooooook teşekkürler iyi ki varsınız 🙂 bu import edilen kütüphane muhabbeti aynı web tasarım olayındaki gibi değil mi ? ne kadar import varsa derleyiciyi o kadar yavaşlatıyor ? 🙂

      • yasirkula dedi ki:

        Yavaşlatmaktan ziyade oyunun boyutunu artırıyor. Import’tan kastım kodun başına yazılan “import” veya “using” statement’ları.

  148. Evrenus Fırat dedi ki:

    Hocam öncelikle söylemem gerek bir süredir yazılarınızı takip ediyorum ve çok memnunum umarım bu şekilde devam edersin. Bir sorum olucaktı unity de basit bir uygulama yapmak istiyorum ve online bir veritabanı kullanmam gerek. Veritabanı olarak MSSQL kullanmak istiyorum(Windows Hosting’im var.) Ancak bir türlü veritabanına bağlanmayı başaramadım. Veritabanı 3 Column (ID, Kod, VerildiMi) şeklinde ID Primarykey olarak işaretli, Kod string, VerildiMi Boolean. Olay şu programın bir yerinde veritabanında bulunan kod column’da bulunan string ifadeyi çekmek ancak VerildiMi column’ı false ise vericek. Eğer yardım edebilirseniz çok sevirim. Başarılar…

  149. Muhhammed dedi ki:

    Önemli bir sorunum var düne kadar yoktu ama bugün unity 3d yi açtığımda başlatılıyor daha launcher açılmadan hdd’den tıkırtı sesleri gelmeye başlıyor ve bilgisayar donuyor. hdd de sıkıntı olduğunu düşünmüyorum çünkü sadece unityde oluyor gerisinde sıkıntı yok. sil yükle yapsam düzelir mi

    • yasirkula dedi ki:

      İlk defa böyle birşey duydum. Donanımdan daha çok anlayan birisini bulup ona danışmanız çok daha iyi olur zira ben şu an ne desem yalan olur.

      • mami27 dedi ki:

        silip tekrar yüklemek işe yaramadı sanırım unity 5.3.5 sıkıntılı 5.3 yükleyince çalıştı aynı problemi yaşayan olursa bu şekilde çözebilir

  150. Ömer dedi ki:

    Selam Aleyküm kardeşim Bir Sorum Olacak Unity Hakkında Spawn İle Oluşan Nesneler İç İçe Giriyor Haliyle Oyunda Görüntü Kirliliği Yapıyor Bu Sorunu Nasıl Çözebiliriz Bir Öneriniz Varmı ?

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

    • yasirkula dedi ki:

      Spawn noktasında başka bir obje var mı kontrol etmek için Physics veya Physics 2D’deki Overlap fonksiyonlarını kullanabilirsiniz. Eğer spawn noktası dolu ise bekleyebilir ya da başka bir spawn noktasında şansınızı deneyebilirsiniz. Bu arada attığınız resimde pek bir şey görünmüyor, onun alakasını tam anlayamadım.

  151. Ömer dedi ki:

    http://i.hizliresim.com/NEa8Og.png Şimdi Daha Anlaşılır Olmuştur İnşAllah. Aslında 2 Tür Spawn Kullanıyorum 1. Sabit spawn 2.İse Random pozisyonlarda çıkıyor. Oluşma Sistemide Random Olduğu için physics 2d İşimi Görür Diye düşünüyorumda daha önce physics kullanmadım hiç İlgili Tutorial Varsa Beni yönlendirebileceğiniz çok sevinirim.

  152. Kaan Karavar dedi ki:

    Merhabalar, sizin yazılarınızın da yardımıyla bir oyun yaptım. Oyunumda iki sahne bulunmakta biri menü sayfası olmak üzere. Fakat oyunda sahneler arası geçişte çok kasma oluyor bunun çözebilmek için ne yapmam gerekiyor. Cidden çünkü bi 15 saniye bekletiyor.

  153. Hasret Demir dedi ki:

    Merhabalar, ben bi loading ekranı yapmaya calışıyorum fakat delta time kodumu hatalı mı kullanıyorum emin değilim.

    public float sayi;

    if ( sayi < 100)
    {
    sayi += Time.deltaTime * 5;
    }
    }

    bu kodu yazıyorum 100 olduğunda da oyuna geçiyo fakat oyun ekranında sayı artmıyo 0.999999 da takılıp kalıyo direk bunu nasıl çözebilirim?

    • yasirkula dedi ki:

      Kodda sıkıntı görmüyorum. Hatanın kaynağı bu kod olmasa gerek.

    • ömer dedi ki:

      Kardeşim kodu şöyle dene bide bakalım çalışacakmı.?

      if ( sayi < 100)
      {
      sayi += (int)Time.deltaTime * 5;
      }

      • Hasret Demir dedi ki:

        yine olmadı

        using UnityEngine;
        using UnityEngine.UI;
        using System.Collections;

        public class loadingkodları : MonoBehaviour {

        public float sayi;
        public Text sayiyazi,ipucuyazi;

        void Start () {

        }

        void Update () {

        if ( sayi < 100)
        {
        sayi += (int)Time.deltaTime * 5;
        }

        }

        }
        bütün kodlar bunlar başka neden kaynaklanabilir ki ? zaman akmıyo

      • yasirkula dedi ki:

        Time.timeScale’in değeri 0 ise sayi’nın değeri artmaz.

  154. Nilay Akyuz dedi ki:

    Reklam ekleme kodlarınızda hata veriyo neden?

  155. Mevlüt Şahin dedi ki:

    İyi çalışmalar

    Web siteniz çok faydalı ve güzel bir site tebrik ederim.Bir sorunum var çözemedim yardımcı olursanız sevinirim.

    Unity 5.3.6p2 sürümünü kullanıyorum.Sahneye terrain(zemin) ekliyorum sonra player kontrol ekliyorum.Buraya kadar sorun yok ama game penceresinde oyunu çalıştığım zaman playerı hareket ettirince terrain(zemin)dışına çıkınca player aşağı düşüyor ve benim terrain en üstte kalıyor player sürekli aşağı düşüyor.Bunu nasıl önleyebilirim acaba?

    Yardımlarınız için şimdiden teşekkür ederim.

    • yasirkula dedi ki:

      Terrain’in dışına çıkınca havada yürüsün istiyorsanız yeni bir GameObject oluşturup buna Box Collider verebilirsiniz. Ardından bu GameObject’i zemin seviyesine çekip boyutunu “oldukça” artırırsanız artık havada yürüyebilirsiniz.

      • Mevlüt Şahin dedi ki:

        teşekkürler ama benim isteğim terrain dışına çıkmasın orada kalsın

      • yasirkula dedi ki:

        O zaman yapması daha kolay: 4 tane boş GameObject oluşturup bunları terrain’in 4 ayrı kenarına sürükleyin ve bunlara Box Collider verip bu collider’ları, tüm terrain’i dışarıdan saracak şekilde boyutlandırın.

  156. Yavuz dedi ki:

    mrhb,sitenizi şans eseri gördüm iki gündür detaylıca okuyorum ve gerçekten öyle paylaşımlarınız varki normalde kimse paylaşmayı istemez bilgisini sanki bildiği kadar zengin olacakmış gibi.Sitenizdeki alıntı pdf leri bile çevirirken anlaşılamıyacak kısımlar için kendiniz gerekli açıklamalarda bulunmuşsunuz,gelen soruları geri çevirmeyip yardımcı ve yöneltici olmuşsunuz.Siteniz çok faydalı ve öğretici oldu benim için o yüzden böyle bir teşekkürü borç bildim.Elimden Geldiğince takip etmeye çalışacam sizinde paylaşımlarınızı devam ettirmenizi umuyorum.
    İyi Günler.

    http://freelanceryazilimci.com

    Not :Link Olarak kendi sitemi ekledim mahsuru yoktur umarım.(Silebilirsiniz linki)

  157. JenBarber dedi ki:

    Merhabalar,
    benim sorunum daha cok App.box ile .rar ladığınız bir çok projeyi site de görüntüleyemiyorum,araştırdım, benden kaynaklı mı yoksa hesabınızla ilgli bir problem mi var çözemedim.(templerun,flappy bird gibi dosyalara ulaşamadım görsel ses doslarınınn bulunduğu,ayrıca videoya dair alt yazılarınız dahil).Yardımlarınızı bekliyorum şimdiden tesekkur ederim

    • JenBarber dedi ki:

      pdf’ler iniyor sıkıntısı yok,sorunum .rar dosyalırında

    • yasirkula dedi ki:

      Box.com hesabım ücretsiz olduğundan bandwidth’im var ve paylaştığım dosyalar download edildikçe bu bandwidth azalıyor. Bandwidth her ay resetleniyor. Dropbox alternatif linklerinde ise böyle bir sıkıntı yok. Eğer alternatif linki olmayan bir Box linki varsa ve erişemiyorsanız yorum atarsanız alternatif Dropbox linki de eklerim.

      • JenBarber dedi ki:

        şu an farketetim,appbox’ın yanında yazan alternatif bir linkmiş ve dropbox’a yönlediriyor.
        İlginize teşekkürler..

  158. YUSUF dedi ki:

    Yasir Hocam merhaba. Unityde tamamlamış olduğum projeyi yayınlamak istiyorum. fakat splash image kısmını kendim yapmak istediğim için Plus paket satın almam gerekecek. Crackli kullanmak istemiyorum. Şimdi sitede aylık ücret fiyatı verilmiş fakat x 12 diyor. Ben sadece 1 aylık satın alsam olurmu yani kalan 11 ay ıda almam gerekecekmi her seferinde. Sadece 1 aylık kullanmak istiyorum. Otomatik ödeme alaz değilmi her ay için ?

  159. YUSUF dedi ki:

    Hocam bu bazı png formatındaki buton veya gerekli yerlere atadığım UI ler için kullandığım dosyalar. düşük kaliteli telefonlarda yamuk yumuk bozuk görünüyor. mesela note2 denediğimde düzgün görünürken. grand neo da bozuk görünüyor nedeni ne olabilir ?

  160. İlker Yasin dedi ki:

    2 yıl önceki bi makalenizi artık bulamıyorum. programlama öğrenme üzerine bir sürü tavsiye içeriyordu. yayından mı kalktı acaba? kolay gelsin.

  161. Liberator dedi ki:

    Merhabalar, ben 3ds max’ de şeffaf bir obje tasarladım yani bakıldığında aarkasındaki obje net bir şekilde görülebiliyor, bu objeyi unity3d ye attım ve bu objenin şeffaflığı kayboldu yani arkasındaki herhangi bir obje artık görülemiyor, bu konuda yardım edebilir misiniz?

    İkinci sorum şu, 3ds max’ de oluşturduğum map 182 Mb boyutunda ve unity 3d’ ye atınca önce kasıyor ve sonra hata veriyor, bu konuda da yardım edebilir misiniz?

    • yasirkula dedi ki:

      Unity’de objenin materyalindeki shader’ın saydamlık destekliyor olması lazım. Eğer Unity “Standard” shader’lı bir materyal oluşturduysa onun en başındaki “Rendering Mode”u “Transparent” yapmanız lazım.

      Büyük boyutlu modellerdeki sıkıntı nasıl giderilir onu bilmiyorum, Google’da arama yapmanız lazım mecburen.

      • Liberator dedi ki:

        Yapamadım, bu anlattıklarınızı unit’de mi yoksa Max’de mi yapacam (bu arada max’de oluşturduğum objemi render’a tıklamadan direk uniy’e aktardım)

      • Liberator dedi ki:

        Anlattığınız gibi yaptım ve oldu, teşekkür ederim.

  162. YUSUF dedi ki:

    Yasir Hocam merhabalar. Hocam Android için 2D projede çalışıyorum, şöyle bir sıkıntım var ekran boyutu 480,854 çalışıyorum, UI de panel oluşturup 480,854 ayarlıyorum panelin boyutlarını bilgisayarda tam oturuyor ama farklı telefonlarda denediğimde telefonun ekranı daha geniş ise panelimin yanları boş görünüyor eğer telefon ekranı daha küçük olursa ise bu seferde panelim kenarlardan veya üstten kırpık gözüküyor. Ben telefondaki ekrana göre panelinde o oranda büyüyüp küçülmesini istiyorum. Ne yapmam gerekiyor.

  163. kaan dedi ki:

    unity de not defteri nasıl yapa bilirim lütfen yardım hiç kaynak bulamadım bu telefonların kendisinden gelen not defteri gibi

    • yasirkula dedi ki:

      Not arayüzü için TextField UI objesi kullanabilirsiniz. Kaydedilen notları Application.persistentDataPath’te tutabilirsiniz. Bir dosyaya veri kaydetmek işlemi için çok sayıda fonksiyon var, google’dan kesin bulursunuz.

  164. msutafa dedi ki:

    Hocam hayırlı günler saçma bir hata ile 1 haftadır uğraşıyorum saç kalmadı :S aynı hatayı alan varsa veya fikir olarak lütfen yardım edin bir karakter seçim sahnem var buradan buttonlara karakterleri atadım lakin bilgisayarda sprite olarak veya prefabs (setActive)olarak değişim oluyor yanlız telefonlarda ilk prefabs veya sprite neyse onla başlıyor bir daha değişmiyor ben burada nasıl bir hata yaşıyorum size göre.Şimdiden çok Teşekkür ederim…

    • msutafa dedi ki:

      KOD BU

      public class kodS : MonoBehaviour {

      public GameObject bat;
      public GameObject ask;

      public void batman (){
      bat.SetActive (true);
      ask.SetActive (false);

      }

      public void asker (){
      bat.SetActive (false);
      ask.SetActive (true);

      }

      }

      • yasirkula dedi ki:

        Her şeyi düzgün yaptığınızdan eminseniz telefonda beklemediğiniz bir hata alıp almadığınızı kontrol etmek için şu plugine göz atabilirsiniz: https://yasirkula.com/2016/06/18/unity-oyun-ici-debug-konsolu-ui-sistemi-ile/

        Butonların On Click event’lerini kullandığınızı düşünüyorum; bu durumda ben bir sıkıntı görmüyorum. Attığım linke bakmanız faydalı olabilir.

      • msutafa dedi ki:

        Hocam öncelikle yorum için teşekkür ederim dediğiniz plugins de böyle hata verdi sahneye atınca “modifications.empty()
        UnityEditorInternal.InternalEditorUtility:HierarchyWindowDrag(HierarchyProperty, Boolean, HierarchyDropMode)
        UnityEditor.DockArea:OnGUI()”

        Evet hocam On Click kullandım PlayerPrefs ile bu dosyaları değiştirip set komutuyla değişiklik yapılır yapılmaz kaydedip ayni zamanda çağırabilirmiyiz ? Saygılar

      • yasirkula dedi ki:

        Bu hata önemsiz bir şey, plugin yine de düzgün çalışıyor. PlayerPrefs ile önemli bir veri kaydettikten hemen sonra PlayerPrefs.Save() yaparsanız bu verinin cihaza kayıt edildiğini garanti altına almış olursunuz.

      • msutafa dedi ki:

        Hocam dediğiniz gibi program çalışıyor fıstık gibi elinize sağlık yanlız bende hata falan cıkmıyor sanki telefonda kod hiç çalışmıyor gibi aynı şekil button on click olayıyla bir prebs in spritesinide su kodla pc de değiştiriyorum ama telefonda olmuyor. Hocam şimdi fark ettim oyunda 10 bölüm var telefonda 6 tanesi acık olması gerekirken sadece ilk bölüm acılıyor her güncellemede acaba sürümdemi sıkıntı var 5.4.1 kullanıyorum 5.4.3 ü kursam bir faydası olurmu ? Saygılar
        function basinca () {
        GetComponent(SpriteRenderer).sprite = spriteImage;
        SceneManager.LoadScene(“menu”);
        }
        function basincaa () {
        GetComponent(SpriteRenderer).sprite = spriteImagee;
        SceneManager.LoadScene(“menu”);
        }

      • yasirkula dedi ki:

        PC’deki PlayerPrefs ile telefondaki PlayerPrefs aynı veriyi depolamadığı için iki cihazın unlocked level’ları senkronize olmayabilir elbette. PC’de level’ları nasıl unlock ettiyseniz aynı şekilde telefonda da etmelisiniz. Yaşadığınız diğer sıkıntının çözümünü bilmiyorum; açıkçası Unity’i güncelleyince düzeleceğine de çok ihtimal vermiyorum :/

      • msutafa dedi ki:

        EyvAllah hocam ilginiz için teşekkür ederim nasipse elbet çözeriz saolun 🙂

      • msutafa dedi ki:

        hocam son beynim yandı ama %90 projeyi bitirdim 0 hatayla böğle saçma bişeyde takılı kaldım şimdi işin kolayına kaçtım karakter in spritesini değiştiriyim dedim anen 2 button var kod karakterin içinde buttonların on click ine atadım kodum bu pc de calışıyor telefonda çalışmıyor acaba oyun ayarlarındamı sıkıntı olabilir.:(( Saygılar
        public Sprite arab;
        public Sprite japon;
        public void ar ()
        {
        this.GetComponent().sprite = arab;
        }
        public void ja ()
        {
        this.GetComponent().sprite = japon;
        }

      • yasirkula dedi ki:

        Aklıma gelen tek öneri sahnedeki EventSystem objesini silip GameObject-UI-Event System ile tekrar elle oluşturmanız. Yoksa ben de başka bir olası çözüm yolu düşünemiyorum artık.

      • mustafa dedi ki:

        Hocam DontDestroyOnLoad(gameObject); olayıyla yaptım button numaralarına spriteleri verdim hiç kaybolmadan değişim yapılıyor sahne geçince en son numarayı kaydettirip çağırıyom 🙂

        Yüksek musadenizle bir şey sormak istiyorum Hocam bu Destroy (a.gameObject); şekliyle veya a.Setaktive(false); kodlarıyla objeleri siliyozya bunları sahne değişince tekrar geliyor bunları kalıcı şekilde nasıl silebiliriz:

        if (deger > 1)
        {
        Destroy (a.gameObject);
        PlayerPrefs.SetInt(“dene”, deger);

        }

        boyle birşey denedim ama olmadı hani int 1 in üstü olunca silinen objeyi kaydetsin diğe ama kodçalıştı da objeyi hiç silmedi PlayerPrefsi koddan kaldırınca sildi objeyi ama kaydetmedi 🙂 SAYGILARIMLA

      • yasirkula dedi ki:

        Kalıcı olarak silmenin mümkün olduğunu sanmıyorum, ama: kalıcı olarak gitmesini istediğiniz objeler bir iki tane ise objeyi ilk yok ettikten sonra static bir boolean değişkeni true yapabilir ve objenin Start fonksiyonunda bu boolean true mu diye bakabilirsiniz. Eğer true ise objeyi silersiniz. Bu şekilde o sahnenin sonraki açılışlarında o obje sahne başlarken yok edilir.

      • mustafa dedi ki:

        Teşekkür ederim hocam.

  165. YUSUF dedi ki:

    Hocam merhabalar.
    2D oyunumda bir işlem yapmak istiyorum. 50 adet sprite obje var oyunumda. bu objelerden bir birlerine değenleri (çarpanları )nasıl bulabilirim. hangileri birbirine değiyor bir yönetem avrmıdır hocam. şuan raycast kullanıyorum objelerin herbirinde raycast var fakat 10 obje bir birine değince hepsini bir arada bulamıyorum anca bir birine değenlere ulaşabiliyorum. Collider2D de kullanabilirim çözüm ne gereklidir hocam.

    • yasirkula dedi ki:

      Birbirine değen objeler zincirini bulmak istiyorsanız Raycast yerine 2D Collider’lar kullanın. Her objede bir List değişkeni olsun, bu List’te objenin temas halinde olduğu objeleri tutun. Bunun için OnCollisionEnter2D veya OnTriggerEnter2D fonksiyonlarında listeye temas edilen objeyi ekleyip OnCollisionExit2D veya OnTriggerExit2D fonksiyonlarında da listeden temas edilen objeyi silin.

      Artık her objenin kiminle temas ettiğini biliyorsunuz. Buradan yola çıkarak recursive bir şekilde veya başka bir şekilde temas eden objeler zincirini bulabilirsiniz. Ancak algoritması için biraz düşünmeniz gerekebilir.

  166. .yetkin dedi ki:

    Merhaba ben uzun sure­dir unity uzerinde , ­mobil oyun yapmaya ça­lışıyorum.Unity match­ fonksiyonu hakkında ­hic bir yerden türkçe­ bilgi bulamadım . Ca­ndy crush im match si­stemi hakkinda bilgi ­almak istiyorum.Bu ko­nu hakkında bilginiz ­varsa benimle paylasi­rmisiz.

      • .yetkin dedi ki:

        Bu derslere daha önce bakmistim hocam türkçe olmadığından anlamadim sizin bu konu hakkında bilginiz varsa bana kaba saba bu fonksiyonun yapısı hakkında birşeyler anlatır misiniz.

      • yasirkula dedi ki:

        Bu tarz bir çalışmam olmadı ama aklıma 2 yol geliyor:

        – Eğer oyun alanı dikdörtgen olacaksa candy’leri 2D bir array’de tutup her hamle sonrası bir match var mı diye bakarım. Sadece yeri değişen 2 candy’nin olduğu koordinatlarda match kontrolü yapılacağı için hız konusunda sıkıntı olmamalı. 2D array’de her iki koordinat için de ayrı ayrı, o koordinattan yatay veya dikey yönde ilerleyince elimde bir match oluyor mu diye bakarım.

        – Eğer oyun alanı dikdörtgen olmak zorunda değilse (belki bir çokgen olabilir) bu durumda her bir candy’e bir script verir ve bu scriptte o candy’nin sağ, sol, alt ve üstünde yer alan candy’leri depolarım. Ardından bu candy’nin yeri değişince bu değişkenlerden faydalanarak yatayda veya dikeyde bir match var mı diye bakarım.

  167. YUSUF dedi ki:

    Hocam merhaba Invoke ile işlem çağırıyorum fakat, belirlemiş olduğum time kullandığım telefona veya performansa göre değişiyor.(Invoke(“deneme”),2); burada 2sn sonra çağırıyorum fakat sürekli farklı zamanlarda geliyor ya çok hızla yad yavaş. başka bir çağırma yöntemi veya zamana göre ayarlama durumu varmıdır.

    • yasirkula dedi ki:

      Unity’de tam 2 saniye içerisinde bir fonksiyon çağırmak mümkün değil diye biliyorum. Unity her frame’de ekrana bir şeyler çizip objelerin Update, FixedUpdate vb. fonksiyonlarını çağırıyor. Invoke fonksiyonu da muhtemelen arkaplanda bir Update fonksiyonunun içerisinde çağrılıyordur. İki frame arası geçen süre (Time.deltaTime) çok değişken olduğu için de bu Update tam 2 saniye sonra değil de belki 2.01 saniye sonra, belki de 2.5 saniye sonra çağrılabilir. Ama genelde 100ms.’den fazla bi sapma olmamalı bence.

      • YUSUF dedi ki:

        Anladım hocam farklı bir kaç yöntem bulamaya çalışacağım artık. Süreler bir birini tutmayınca çöp oluyor çünkü. Teşekkür ediyorum ilginiz için.

  168. .yetkin dedi ki:

    Hocam merhaba ben
    Public gameobject[ ] objeler;
    diye birden fazla obje belirledi bu objelerin içinden rasgele bir tanesini
    Public transform[ ] noktalar1;
    diye belirlediğimiz noktaların [0].elamanın pozisyonun olduğu yere isinlamak istiyorum nasıl yapabilirim.ben şöyle yaptim ama .c#

    Public transform[ ] noktalar1 ;
    Public gameobject[ ] objeler ;
    Random rastgelesayi =new random( ) ;

    Void start ( )
    int no
    =rasgelesayi.next(o,objeler.length

    Public void oluşum( )

    İf(Transform.position==Noktalar1[sayi].postion
    sayı=0 ;
    Noktalar[sayı].transform.position=İnstantiate( objeler[no] )Quaternion ;

  169. .yetkin dedi ki:

    Hocam birde
    Tanımladığımız birden fazla objeyi
    Public transform gameobject[ ] objeler ;
    Tanımladı birden fazla noktanın içine
    Public transform [ ] noktalar ;
    Rastgele olarak her bir noktaya her bir objeyi karıştırarak ışınlamak istiyorum
    Ben şöyle bir şeyler yaptım ama birde siz bakarmisiniz.c#

    Public Transform[ ] noktalar ;
    Public Gameobject[ ] objeler ;

    Public void karıştırmak ;
    {
    Noktalar.transform.position = İnstantiate(objeler[Random.range(O.objeler.length)]Qaternion.İdentitiy) ;
    }

    • yasirkula dedi ki:
      using System.Collections.Generic;
      
      // ...
      
      public void karistirmak()
      {
      	List<int> noktaIndexler = new List<int>();
      	for( int i = 0; i < noktalar.Length; i++ )
      		noktaIndexler.Add( i );
      	
      	for( int i = 0; i < objeler.Length; i++ )
      	{
      		if( noktaIndexler.Count > 0 )
      		{
      			int randomIndex = Random.Range( 0, noktaIndexler.Count );
      			objeler[i].transform.position = noktalar[randomIndex].position;
      			noktaIndexler.RemoveAt( randomIndex );
      		}
      		else
      		{
      			// noktalar array'inin uzunluğu objeler array'ininkine büyük eşit ise
      			// kodun buraya girmesine hiç gerek kalmayacak
      			objeler[i].transform.position = noktalar[Random.Range( 0, noktalar.Length )].position;
      		}
      	}
      }
      
  170. Alkan Kutluhan Ünüvar dedi ki:

    Yasir Bey Merhaba,

    Twitter üzerinden de yazmıştım. Unity eğitimi ile ilgili görüşmek üzere mail adresinizi veya iletişim bilginizi verebilir misiniz.

  171. Berkay dedi ki:

    Hocam merhaba bir şey danışcaktım. Tıklama / görme başına en çok kazandıran reklam firmaları hangileridir? İu anda admob kullanıyorum bundan daha kalitelisi varmı?. Şimdiden teşekkür ederim 🙂

    • yasirkula dedi ki:

      Şu sıralar ad mediation diye bir şey moda olmuş durumda; birden çok reklam servisini aynı anda kullanıyorsunuz ve hangi reklam servisi daha çok gelir getiriyorsa o reklam servisinin reklamları daha ağırlıklı olarak gösteriliyor. Onun dışında benim “şu reklam servisi daha iyi gelir sağlar” gibi bir bilgim maalesef ki yok. Ad mediation olarak Heyzap kullanıyorum, reklam servisleri olarak da Chartboost ve Unity Ads kullanıyorum. Ancak Admob dahil başka reklam servislerini de destekliyor Heyzap.

  172. MbatuhanKZ dedi ki:

    Unity 3d oyun içine market sistemi nasıl yapabilirim? (Oyun parasıyla değil, gerçek parayla).
    (Oyun parasiyla urun almayi biliyorum)
    Yani oyuncu 1tl ye ürün alinca benim banka kartina para gelicek..
    Bu sistemi anlatirsaniz sevinirim….

    • yasirkula dedi ki:

      In App Purchase (IAP) konusunu araştırmanız lazım. Kendim bu sistemi kullandığımda hakkında bir ders yazabilirim ama şimdilik kendi başınızasınız.

  173. ethem karal dedi ki:

    Merhabalar, yazmış olduğum oyunda herbir fbx dosyasını server da tutup oradan klasör içine kaydedip ardından kaydedilmiş fbx formatları importopen yardımıyla kullanmak istiyorum. Ancak veritabanındaki dosya konumundan hangi fonksiyon yardımıyla indirebilirim. Teşekkürler.

    • yasirkula dedi ki:

      İnternetten dosya indirmek için UnityWebRequest veya WWW class’larını kullanabilirsiniz. Ardından bu modeli runtime bir şekilde açabilmek (Mesh’e çevirebilmek) için şu scripti kullanabilirsiniz (ben denemedim): http://wiki.unity3d.com/index.php?title=ObjImporter

      Geriye bu scriptin döndürdüğü Mesh’i obje atmak kalıyor:

      GetComponent<MeshFilter>().sharedMesh = new ObjImporter().ImportFile( "FBXin konumu" );

      Materyal olayı nasıl olacak onu bilmiyorum.

      EDIT: Dilerseniz AssetBundle olayını da araştırmak isteyebilirsiniz.

  174. ömer dedi ki:

    birşey sormak istiyorum uygun kategoriyi bulamadığım için burdan sormak istedim sakıncası yoksa;
    time.scale ile oyunu durdurup tekrar başlattığım zaman ise örn:(3,2,1,0) diye geri sayım yapmasını istiyorum ve 0 olunca time.scale aktif olsun ama bu nasıl mümkün olabilir acaba ?

    • yasirkula dedi ki:

      Animasyonu script ile yapacaksanız Time.unscaledDeltaTime kullanabilir, Unity’nin animasyon sistemi ile yapacaksanız Animator’un “Update Mode”unu “Unscaled Time” yapabilirsiniz.

  175. taha dedi ki:

    merhabalar hocam. ekrana ilk dokunduğumuz parmağı algılatmak istiyorum yani ekrana 2 parmak değdirilirse ilk değdirdiğimiz işlemi yapacak. döngü kullandım ama olmadı.

    • yasirkula dedi ki:

      Eğer ilk parmağın OnMouseDown veya Input.GetMouseButtonDown fonksiyonlarını çalıştırmasını istiyorsanız Input.multiTouchEnabled’ın değerini oyunun başında false yapmayı deneyebilirsiniz (şahsen denemedim). Yoksa ekrana dokunan ilk parmağın fingerId’sini bir değişkende tutmalı ve Update fonksiyonundaki bir for loop’u ile her frame’de ekrandaki tüm parmakların üzerinden geçip bu fingerId’ye sahip parmağı bulmalı ve onun pozisyonu üzerinden işlemlerinizi yapmalısınız.

      • taha dedi ki:

        tesekkür ederim multitouch u pasif hale getirerek olayı çözdüm. iyi çalışmalar

  176. ibrahim dedi ki:

    6 aydir filan unity çalıyorum.ufak defek kendi uygulamamalarimizi yapar olduk.Burda emeğin büyük eline sağlık site harika sayende rahat bi şekilde kendimizi gelistiriyoruz .Ama aslinda dikat etmemiz gereken bi husus var telif haklari bununla ilgili içini rahatlatacak ha bunu kulanirim bunu kulanamam diyemiyoruz.Mesela resimler googlede araken lisans ile filitrelenmemiş olanlar ,ses kulanirken youtubeden faydalanma veya sesleri bulacağımız kaynaklar örneğin lisanssiz bir program ile çizdiğimiz grafikler veya ücretsiz photeacape ile yaptığımız shoplar .Bu konu ile ilgili bi makale yayinlarsan çok iyi olur

    • yasirkula dedi ki:

      Bu konuda benim de çok bilgim yok ancak: texture veya ses ararken CC0 lisanslı bulmaya çalışıyorum çünkü bu lisansta credit vermek gerekmiyor. Genelde bu lisans bilgisini asset’in olduğu sayfada ya da asset’i paylaşan web sitesinin “Licensing”, “About” veya “FAQ” gibi sayfalarında bulmak mümkün oluyor. İlaveten, anladığım kadarıyla Asset Store’daki asset’lerde de credit vermek gerekmiyor.

      Crack’li bir uygulama ile kendi asset’inizi üretirseniz bu illegal olur ve o şirket (mesela Adobe) bunu bir şekilde öğrenirse size karşı yasal haklarını kullanabilir. Tabi bunun olasılığı nedir orası meçhul.

  177. Sinan Saglam dedi ki:

    Selamun Aleykum ben c# ve unity 3d yeniyim. Öğrenmek amacıyla assetstoredeki bir oyunu alıp ediptlemeyi tercih ettim.(kendim 0dan yazsaymışım daha hızlı örenirmişim gibi.Adam oyunun içine premium ozellık koymş o scriptlerdeki kodlar olmayınca işim baya zorlaştı ama büyük bir kısmını uğraş bela tamamladım.Tamamlayamadıklarımı oyundan kaldırdım 😀 😛

    Şimdi çok küçük şeyler kaldı ama bilmeyince çook uzun sürüyor.Basit şeylerede internetten araştırma yapmaktan sıkıldım . Belli bir müddetten sonra öğrenme şevkimi kırıyor. Onun yerine size sormayı tercih ettim.Bir kaç sorum rica etsem okur musunuz?

    1——————————————————————————————————————
    Kardeşim şimdi oyunda engeller var ve topum bu engellere çarpınca efect veriyor.Fakat adam tüm engellere toplu işlem yapmış. Bense birine başka efect vermek istiyorum. Sanırım alttaki script anlamana yardımcı olur.

    using UnityEngine;
    using System.Collections;

    public class ObstacleController : MonoBehaviour
    {
    public float hitPushBack;
    public GameObject hitEffect;
    public Sprite[] sprites;

    public void Awake()
    {
    if (sprites.Length > 0)
    GetComponent().sprite = sprites[Random.Range(0, sprites.Length)];
    }

    void OnEnable()
    {
    GameManager.GameStateChanged += OnGameStateChanged;
    }

    private void OnGameStateChanged(GameState newState, GameState oldState)
    {
    if (newState == GameState.GameOver)
    gameObject.SetActive(false);
    }

    void OnDisable()
    {
    GameManager.GameStateChanged -= OnGameStateChanged;
    }

    void Update()
    {
    // Quaternion targetRotation = Quaternion.Euler(0, 0, RotationVariables.direction * Mathf.Abs(RotationVariables.maxAngle));
    // transform.root.rotation = Quaternion.RotateTowards(transform.root.rotation, targetRotation, RotationVariables.rotationDelta);
    }

    public void OnCollisionEnter2D(Collision2D col)
    {
    if (col.collider.tag == “Player”)
    {
    hitEffect.transform.position = col.contacts[0].point;
    hitEffect.gameObject.SetActive(true);

    GameManager.Instance.playerController.anim.Squeeze();
    GameManager.Instance.playerRigidbody.AddForce(col.contacts[0].normal * hitPushBack);
    }

    }
    }

    (Öğrendiğim kadarıyla kodları sana okumak istiyorum lütfen hatalarımı düzeltiver.

    a- 3 public oluşturmuş (float tam olarak ne anlama geliyor bilmiyorum ama diğerlerini biliyorum.
    b-awake bölümünde benim okuduğum sprite renderer componentine , sprites değerlerimi atıyor.(Random.Range(0, sprites.Length) burada tam ne diyor bilmiyorum ama beni anladığım. 0 ile spires.Length değerlerini yükle diyo 😀
    c = Direk gelelim efect kısmına en allatta col.collider.tag playere eşitse
    hit efect objesini aktif et diyor. sanırım. col.contacts[0].point buradaki değer ney bilmiyorum hangi pozisyonu atıyor.İşte benim yapmam gereken şey burada biliyorum ama yazamadım .1. spriteye başka efekt vermeden önce ona hiç efekt vermeyip kodu anlamaya çalıştım ama olmadı.Sanırım if(sprites.Lenght ==0)
    {
    hitEffect.gameObject.SetActive(false);
    }

    gibi birşey ekleyecem ama yukardaki olmuyor 😀 Nasıl 1.spriteden efekti kaldırabilirim ??

    2———————————–
    void OnEnable()
    {
    GameManager.GameStateChanged += OnGameStateChanged;
    }

    bu tüm scriptlerde var nerdeyse ne anlama geliyor bu?

    okuduysanız cevabınızı bekliyorum..Eğer vaktiniz olursa herşeyi detaylı bir şekilde anlatmanızı rica ediyorum.(öğrenmeye aç birisiyim).

    • Sinan Saglam dedi ki:

      Ben diyorum ya cevap çok basitte göremiyorum diye 😀 kaç gündür kodlara baka baka beynım sulandı 😀 😛
      if (GetComponent ().sprites[0] == GetComponent().sprite) {
      hitEffect.gameObject.SetActive (false);
      böyle yaptım oldu bu doğru kullanım mı ?

      if(eger dogruysa){

      diğer soruya geç = unity 3d de oyun performansını en üst düzeye çekmeye yönelik döküman biliyor musunuz ?

      else if(){dogrusu nedir :D}
      }

    • yasirkula dedi ki:

      a) Nasıl int tamsayıları depolamaya yarayan bir veri türü ise, float da rasyonel sayıları (küsüratlı sayılar) depolamaya yarayan bir veri türü.
      b) Random.Range(0,sprites.Length) fonksiyonu 0’dan “sprites.Length-1″e kadar rastgele bir tamsayı döndürdüğü için Awake fonksiyonunda (scene başladığında) component’in sprite’ını sprites array’indeki rastgele bir sprite’a eşitliyorsunuz.
      c) hitEffect public bir değişken olduğu için farklı bir efekt vermesini istediğiniz engelin hitEffect’ini Inspector’dan farklı bir obje yapmanız sorunu çözecektir diye umuyorum.
      d) “GameManager.GameStateChanged += OnGameStateChanged;” kısmında event veri türü kullanılmakta. “C# event” diye arama yaparsanız bu veri türünün nasıl çalıştığını görebilirsiniz.
      e) Oyunlarınızın performansını iyileştirmeniz için ordan burdan derlediğim optimizasyon önerilerini şurada paylaşıyorum: https://yasirkula.com/2016/06/19/unity-optimizasyon-onerileri/

  178. Muhammet can dedi ki:

    Merhaba hocam benim şöyle bir sorum var. Unity de bir proje yapıyorum be bu projede 4 önde ve 4 arkada olmak üzere 8tane boş noktam var bu noktalardan arkadaki 4 tanesinin transform. positionunda yanı üstünde 4 adet nesnem benim istediğim bu nesnelerin herhangi birine tıklandığında o tilladıgım objenin karşındakinin noktaya hareket etmesi.

    Yani kullanıcı nesneye tıkladıgında o nesnenin kendi karşındakinin noktaya hareket edecek.
    Ben şöyle bir kod yazdım ama hatalı oldu. Hata ise şu, her nesne tek bir noktada toplanıyor. Yani tıklanan her obje aynı noktaya gidiyor.
    Yazdıgım kod ise şuydu

    public Transform [ ] nokta1;
    public Transform [ ] nokta2;
    public int sayı;
    int hız;

    Void OnMouseDown ( )
    {
    İf (Transform. position==nokta1 [sayı].position )
    {
    sayı=0;

    Transform. position=Vector3. MoveTowards (Transform. position,nokta2[0] position,hız*time.deltaTime );
    }
    İf (Transform. position==nokta1 [sayı].position )
    {
    sayı=1;

    Transform. position=Vector3. MoveTowards (Transform. position,nokta2[1] position,hız*time.deltaTime );
    }
    İf (Transform. position==nokta1 [sayı].position )
    {
    sayı=2;

    Transform. position=Vector3. MoveTowards (Transform. position,nokta2[2] position,hız*time.deltaTime );
    }
    İf (Transform. position==nokta1 [sayı].position )
    {
    sayı=3;

    Transform. position=Vector3. MoveTowards (Transform. position,nokta2[3] position,hız*time.deltaTime );
    }

    }

    Bu scripteki yanlışa bakarmısınız? Objelere tıklandığında kendi karşısındaki noktaya gitmesi gerekiyordu ama her birine tıklandığında tek noktada toplanıyorlar.

    • yasirkula dedi ki:

      Kodu şu şekilde düzenleyebilirsiniz:

      public Transform[] nokta1;
      public Transform[] nokta2;
      public int sayı;
      int hız;
      
      void OnMouseDown()
      {
      	int i;
      	for( i = 0; i < nokta1.Length; i++ )
      	{
      		if( transform.position == nokta1[i].position )
      			break;
      	}
      	
      	if( i >= nokta1.Length )
      		return;
      
      	transform.position = Vector3.MoveTowards( transform.position, nokta2[i].position, hız * Time.deltaTime );
      	//StartCoroutine( HedefeGit( nokta2[i].position ) );
      }
      
      IEnumerator HedefeGit( Vector3 hedef )
      {
      	Vector3 pos = transform.position;
      	do
      	{
      		pos = Vector3.MoveTowards( pos, hedef, hız * Time.deltaTime );
      		transform.position = pos;
      		yield return null;
      	} while( pos != hedef );
      }
      

      Eğer StartCoroutine’li satırın başındaki comment’i kaldırıp üstündeki “transform.position = …”lı satırı comment’lerseniz nokta1’den nokta2’ye hareket yumuşak bir şekilde gerçekleşir.

      • Muhammet can dedi ki:

        Hocam aynı şekilde yaptım ve objelerin içine attım scripti her şeyi yerine koydum ama tikladigimda objeler hiç hareket etmiyor. Bu seferde.

      • yasirkula dedi ki:

        “int hız;”ı “public int hız = 10;” yapmayı deneyebilirsiniz.

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