Unity Sıkça Sorulan Sorular (S.S.S)

Yayınlandı: 05 Eylül 2014 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

SON GÜNCELLEME: 23.05.2020

  • Unity’i ücretsiz olarak nereden indirebilirim?

Tabi ki kendi sitesinden: http://unity3d.com/unity/download

  • Unity ücretsiz mi?

Yıllık geliriniz 100.000$’dan az ise ücretsiz. Aksi taktirde, eğer yıllık geliriniz 200.000$’dan az ise Plus sürümü, daha çok ise Pro sürümü kullanmak zorundasınız. Bu sürümlerin ücretleri ve sunduğu ilave özellikleri şuradan görebilirsiniz: https://store.unity.com/compare-plans

Free sürüm ile sadece PC’ye değil, aynı zamanda Android’e, iOS’a, Windows Phone 8.1’e ve WebGL’e de oyunlarınızı ücretsiz bir şekilde çıkarabilirsiniz. iOS’a build almak için Mac bilgisayar, Windows Phone 8.1’e build almak için ise minimum Windows 8 gereklidir haberiniz ola.

  • Free (Personal) sürümde yaptığım oyunları yayınlayabilir ve onlardan para kazanabilir miyim?

Evet! Free (Personal) sürümde oluşturduğunuz oyunlardan dilediğinizce para kazanabilirsiniz. Bu paradan Unity Technologies’e tek kuruş komisyon ödemiyorsunuz. Ancak yukarıda da bahsettiğim gibi, yıllık geliriniz 100.000$’ın üzerindeyse Free sürümü kullanamazsınız.

  • Free (Personal), Plus ve Pro sürümleri arasındaki farklar neler?

Unity’nin kendi sitesinden bu sürümlerin karşılaştırılmasını inceleyebilirsiniz: https://store.unity.com/compare-plans

Kullanıcının gözlemleyeceği en büyük fark, oyunun başında çıkan Unity logosunu Plus ve Pro sürümlerde değiştirebiliyor olmanız. Sırf bunun için Unity’yi crack’lemeye değeceğini düşünmüyorum.

  • Crack’li Unity ile yaptığım oyunu yayınlasam sorun olur mu?

Sorun çıkması riski var, evet. Sonuçta illegal bir şekilde Unity’nin tüm özelliklerinden faydalanıyorsunuz. Yakalanır mısınız orası meçhul. Bence Free sürümü kullanın.

  • Unity’e yeni başladım ve daha hiçbir bilgim yok. Sizce nasıl bir yol izlemeliyim?

Eğer oyun sektöründe ciddi işlere imza atmak istiyorsanız önce İngilizce öğrenin. Piyasada istemediğiniz kadar İngilizce Unity dersi var. Kendi derslerim arasından ise şöyle bir yol çizebilirim:

1) https://yasirkula.com/2011/08/28/unity%E2%80%99nin-orijinal-baslangic-tutorialleri-%E2%80%93-simdi-tamamen-turkce/

2) https://yasirkula.com/2011/09/07/unitynin-orijinal-baslangic-tutorialleri-2-tamamen-turkce/

3) https://yasirkula.com/2011/08/09/caylaklar-icin-unityscripte-javascript-baslangic-kilavuzu-hicbir-programlama-gecmisi-gerekmez/

4) https://yasirkula.com/2014/05/17/klonluyoruz-unity-3dde-flappy-bird-yapimi/

5) https://yasirkula.com/2013/07/24/unityde-pong-oyunu-tasarlamak-ceviri-ders/

6) https://yasirkula.com/2013/07/27/unityde-tower-defense-kule-savunmasi-oyunu-tasarlamak-ceviri-ders/

7) https://yasirkula.com/2016/01/24/unity-navmesh-kullanarak-basit-bir-futbol-oyunu-yapmak/

8) https://yasirkula.com/2014/07/07/unity-c-tps-oyunu-yapimi-ceviri-projesi/

Size en büyük tavsiyem, Unity öğrenirken bir Word belgesine yeni gördüğünüz kodları, fonksiyonları, faydalı ipuçlarını vb. açıklamalar eşliğinde not alın ve bu belgeyi arada bir okuyun. Bu yöntem bende işe yaradı, umarım sizde de yarar.

  • Javascript (Unityscript) mi C# mı?

Bence C#. Bundan böyle hiçbir oyunumda da Javascript kullanmayacağım. Neden derseniz: genellikle plugin’ler C# dili ile yazılmış oluyor ve Javascript’ten C#’a erişmek Unity’de biraz sıkıntılı. Onun haricinde interface’ler, abstract class’lar Javascript’te mevcut değil. Javascript’in tek avantajı kod yazarken bazı konularda size kolaylık sağlaması ama bence bu kolaylığa değmez.

İlaveten, Unity’nin ileride Javascript desteğini keseceğini açıklaması da C# kullanmak için önemli bir etken: https://blogs.unity3d.com/2017/08/11/unityscripts-long-ride-off-into-the-sunset/

Javascript ile C# arasındaki temel farklara değindiğim yazıyı incelemek için tıklayın: https://yasirkula.com/2013/08/21/unityde-javascript-unityscript-ile-cin-birbirinden-farklari/

  • Hiç kod bilgim yok. Unity’den önce Javascript öğrensem işime yarar mı?

Büyük olasılıkla hayır. Normal Javascript bir web programlama dilidir ve syntax’ı, veri türleri Unity’deki Javascript’ten (Unityscript) oldukça farklıdır.

Javascript öğrenmenizi önermem ama eğer isterseniz C# öğrenebilirsiniz ve bunun size gerçekten faydası da olur. Tabi çok ileri düzey C# öğrenmenize gerek yok. Syntax aşinalığı, koşullar, döngüler vb. öğrenmeniz yeterli. Sonuçta Unity’de kod yazarken hemen hemen hep Unity’nin UnityEngine kütüphanesini kullanacaksınız. Asıl önemli olan bu kütüphanenin sahip olduğu fonksiyonları, değişkenleri vb. öğrenmek ki o da ders izleye izleye, takıldığınız noktaları araştıra araştıra olacak olan birşey.

  • Kod yazarken hangi programı kullanıyorsun?

Notepad++ kullanıyorum. Programın iyi yanı çok hızlı çalışması. Ancak çeşitli sebeplerden ötürü bu programı sadece ileri düzey kullanıcılara tavsiye ederim.

Unity’de Notepad++ kullanmak için: https://yasirkula.wordpress.com/2012/08/01/unity-3d-script-editoru-olarak-notepad-kullanmak/

Visual Studio kullanıyorum. Programın ilk açılışının yavaşlığı hariç Intellisense ve auto format özelliklerinden fazlasıyla memnunum.

  • Oyunumu Google Play’e koyacağım ama yıllık $25 ödemem gerekiyor, doğru mu?

Hayır. $25 ücreti sadece üye olurken ödüyorsunuz. Ondan sonra bir ücret ödemiyorsunuz.

  • Android oyunumda hangi reklam platformunu kullanmalıyım?

AdMob kullanıyordum ve memnundum. Ancak bir seferinde oyunum Google Play’den kaldırıldı ve hemen akabinde AdMob reklamları da otomatik olarak kesildi. Bu yüzden artık oyunlarımda AdMob’u tek başına kullanmayacağım. Şu anda Unity Ads kullanıyorum.

Eğer AdMob kullanacaksanız, benim önerim IronSource veya MoPub gibi bir mediation servisi kullanmanız yönünde (AdMob’un kendi mediation servisini kullanırsanız, oyununuz Google Play’den kaldırılırsa reklamlarınız kesilir). AdMob harici bir mediation servisi kullandığınızda, oyununuz Google Play’den kaldırılsa bile, mediation ağınızdaki diğer reklam sağlayıcılardan reklam alarak para kazanmaya devam edersiniz. İlaveten, mediation servisi cross-promotion destekliyorsa ve oyununuzu başka bir formatta yeniden Google Play’e yüklerseniz, cross-promotion ile mevcut kullanıcılarınızın oyunun yeni sürümünden haberdar olmasını sağlayabilirsiniz.

  • Android oyunum açılır açılmaz kapanıyor (crash), ne yapabilirim?

Projenizde kullandığınız plugin’leri tek tek silip bir işe yarayıp yaramadığına bakabilirsiniz. Player Settings’ten Target SDK’yı değiştirebilir, Build Settings’ten Build System’ı Gradle yapabilirsiniz. Varsa Android SDK’daki güncellemeleri kurmayı da deneyebilirsiniz. Ayrıca uygulamayı başka cihazda veya emülatörde deneyebilir, logcat kullanarak bir hata alıp almadığınıza bakabilirsiniz. Logcat için: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/. Eğer AdMob kullanıyorsanız, Play Services Resolver-Android Resolver-Force Resolve yapmayı deneyebilirsiniz.

Uygulamanın açılır açılmaz kapanması olayı çok sıkıntı bir şey çünkü genelde hata mesajları hiç açıklayıcı olmuyor ve hatanın nerede olduğunu bulmak için deneme-yanılma yapmak gerekiyor. En kötüsü, projeyi başka bir Unity versiyonunda açmayı da deneyebilirsiniz. Ama önce projenizin bir yedeğini almanızı öneririm.

  • Oyunumu Google Play’e yüklemeye çalıştığımda 64 bit hatası alıyorum, nasıl çözerim?

Şu dersime göz atabilirsiniz: https://yasirkula.com/2014/04/17/unity-android-oyununuzu-google-playe-yuklemek/

yorum
  1. sahan dedi ki:

    Hocam merhaba admobtan bana böyle bir mesaj geldi.
    Avrupa Ekonomik Alanı’nda (AEA) veya Birleşik Krallık’ta IAB’nin Şeffaflık ve Kullanıcı Rızası Çerçevesi (TCF) ile entegre olan bir sertifikalı kullanıcı rızası yönetim platformu (CMP) kullanmanız gerekiyor.

    GDPR kullanıcı rızası alma mesajı yayınlanmalıdır. Aksi takdirde, AEA ve Birleşik Krallık’taki uygulama reklam gelirleriniz önemli ölçüde etkilenebilir.

    Başlamak için aşağıdaki seçeneklerden birini belirleyin:

    1.Google’ın CMP’sini kullanarak bir GDPR kullanıcı rızası alma mesajı oluşturacağım
    2.TCF ile entegre olan sertifikalı bir CMP kullanarak GDPR kullanıcı rızası alma mesajı oluşturacağım
    3.GDPR kullanıcı rızası alma mesajı oluşturmayacağım

    Hangi şıkkı işaretleyeceğimi ve ne yapacağımı bilemedim o yüzden size sormak istedim yardımcı olursanız sevinirim.

  2. Barış Samurkaş dedi ki:

    Hocam merhaba kolay gelsin, Unity yeni bir ücretlendirme seçeneği eklemiş Unity Runtime fee diye. Benim 200 bin indirme oluyor ama 200 bin dolar tabii ki de kazanamıyorum yılda. Yıllık 200 bin dolar kazanamıyorsam 200 bin indirme olsa bile bizi etkilemiyor bu Unity’nin değişikliği sanırım? Siz bu haberi duyduysanız ne anlanıdız, X(Twitter)’te Unity son gönderilerinde çok fazla olumsuz yorumlar almış çok tepki çekti ama 200 bin dolar da büyük rakam niye insanlar bu kadar kızdı anlamadım acaba ben mi yanlış anladım diye şüphelendim. Yani o kadar yılda kazanıyorsak ve yazılımlarını kullanıyorsak o miktarı bağış bile yapmalıyız bence 🙂 https://eu-images.contentstack.com/v3/assets/blt95b381df7c12c15d/blt8b54438bc1dcfbb2/65007062086dec3f775bb619/NewFeeTable.png?width=828&quality=80&format=webply&disable=upscale https://www.eurogamer.net/unity-reveals-plans-to-charge-per-game-install-drawing-criticism-from-development-community#:~:text=Once%20the%20fees%20kick%20in,decrease%20as%20higher%20install%20thresholds https://www.ign.com/articles/why-unitys-new-install-fees-are-spurring-massive-backlash-among-game-developers

    • yasirkula dedi ki:

      Evet ben de duydum. Burada sıkıntı şu: o eşiği aştıktan sonra Amerika’dan gelen her bir install 0.2 dolar yani 5 TL fatura demek oluyor ve oyunun demo sürümlerinin kurulumları da buna dahil. Ayrıca oyuncu oyunu silip tekrar indirdiğinde tekrar bu ücreti ödemeniz gerekiyor. Oyunu korsan indiren kişilere veya gıcıklığına sürekli silip indiren kişilere karşı önlem alındığı iddia ediliyor ama inanmıyorum. İlaveten, Unity ile çoktan piyasaya sürdüğünüz tüm oyunlar da bu ücret değişikliğine maruz olacakmış ki bu bence yasal değil çünkü piyasadaki mevcut oyunlar yapılırken sözleşmede böyle bir ücretlendirme yoktu. Son olarak da, Unity’nin bu install verilerini toplaması demek, kullanıcılardan istekleri dışında analitik veri toplamak demek oluyor ki bu da gizlilik anlamında ayrı bir sorun. Herkes gibi ben de bu saçma sistemi sevmedim ve sorumlularının oyun sektöründen ebediyen kovulmalarını istiyorum.

  3. hocam merhaba,
    Unity de yaptığım uygulamada kullanıcı 3d modele istediği rengi ve dokuyu verebiliyor ve bunun ekran görüntüsünü alabiliyor ancak kullanıcının seçtiği renk ve dokuların bir tuş ile tablo halinde görmek istiyorum. bu mümkün mü ?
    şöyle bir şey yapmak istiyorum aslında önceden bir excel tablosu oluşturup unity ile ilişkilendirmek istiyorum, diyelim kullanıcı 3d model üzerinde kapı rengi kırmızı, duvar rengi beyaz olsun istiyor, print tuşuna basınca tabloda kapı rengi kırmızı, duvar rengi beyaz olduğu yazsın?

    • yasirkula dedi ki:

      Unity için Excel plugin’i görmüştüm sanırım ama kullanmadım (GitHub veya Asset Store’da olabilir). Onu kullanarak bunu yapmak mümkün olur.

      • Enes dedi ki:

        hocam ben Flipper Dunk oyunu yapıyorum topa vurmak için PlayerControllerim var public class PlayerController : MonoBehaviour
        {
        public float rotationSpeed = 100f;
        public float maxRotation = -75f;
        public float returnSpeed = 25f;

        private Rigidbody2D rb;
        private bool isRotating = false;

        private void Start()
        {
        rb = GetComponent();
        }

        private void Update()
        {
        if (Input.GetMouseButtonDown(0) && !isRotating)
        {
        StartRotation();
        }

        if (Input.GetMouseButtonUp(0) && isRotating)
        {
        StopRotation();
        }

        if (isRotating)
        {
        RotateStick();
        }
        else
        {
        ReturnToZero();
        }
        }

        private void StartRotation()
        {
        isRotating = true;
        }

        private void StopRotation()
        {
        isRotating = false;
        }

        private void RotateStick()
        {
        float currentRotation = transform.localRotation.eulerAngles.z;
        float newRotation = currentRotation – (rotationSpeed * Time.deltaTime);

        if (newRotation maxRotation)
        {
        newRotation -= (rotationSpeed*6) * Time.deltaTime;

        }
        rb.MoveRotation(newRotation);
        }

        private void ReturnToZero()
        {
        float currentRotation = transform.localRotation.eulerAngles.z;

        float returnSpeedModified = returnSpeed * (1f – Mathf.Abs(currentRotation) / Mathf.Abs(maxRotation));

        float newRotation = currentRotation + (returnSpeedModified * Time.deltaTime);

        if (newRotation > 0)
        {
        newRotation = 0;
        }

        rb.MoveRotation(newRotation);
        } bu sekilde ben sınırlama yapmak istiyorum ama bir türlü sınırlandıramadım matf kullanıyorum ama bu seferde sistem çalısmıyor yadımcı olabilir misiniz

      • yasirkula dedi ki:

        Eğer newRotation maxRotation’dan büyükse, “newRotation -= blabla” yapmak yerine direkt “newRotation = maxRotation” yapabilirsiniz. Ama bunun yerine benim önerim, newRotation’ın değerini hep Mathf.MoveTowards fonksiyonu ile vermeniz. O durumda verdiğiniz hedef değerin dışına taşma olmaz.

  4. Barış Samurkaş dedi ki:

    Hocam merhabalar, ilk başta apk yüklenen oyunları/uygulamaları aab güncelleyebilme sorununu çözdüm. Bu kişinin videosu çok yardım etti https://www.youtube.com/watch?v=Xy1wZbXLt3U&t=433s.
    Eğer ilk baştan aab yüklerseniz böyle görünüyor https://www.hizliresim.com/l5x5kc9
    developer consoleda oyunlarınıza girin ve sol taraftaki kurulum > uygulama bütünlüğü butonuna basın ilk aab yüklersek hiç sıkıntı olmuyor. Fakat benim bir oyunum böyleydi https://www.hizliresim.com/47qc1mv https://www.hizliresim.com/o72bnyz bazı oyunlarım ise böyle https://www.hizliresim.com/9qch1ku gördüğünüz gibi ilk apk yüklediğimden bazı oyunlarımda 1 seçenek var iken bazısında 2 seçenek var (Android studio ile başlayan). Her durumda Java ile başlayanı seçiyoruz ama benim bugün yaptığımda Android studio ile başlayan seçenek olmayandı. Eğer o seçenek yoksa şifreleme ortak anahtarını indirin diyeceksiniz ve cmd kodunda klasörü belirteceksiniz. Youtubedeki kişi bunu anlatıyor(Android seçeneği olan), burada https://www.hizliresim.com/9qch1ku siyah olan kodu cmd’ye yazmak gerekiyor. Bu arada niye böyle bazı oyunlar fark ediyor onu da hiç anlamadım açıkçası. Ama hiç zor olan bir şey de yok çok basit bir fark. O youtube videosu https://www.hizliresim.com/9qch1ku versiyonu yapmış yani kodu cmd ye yazmak gerekiyor. Ben ise aşağıdaki kodum

    java -jar C:\Users\Baris\Yenileme\Tool\pepk.jar –keystore=C:\Users\Baris\Yenileme\Key\Keystore.keystore –alias=”nightmare of escape” –output=C:\Users\Baris\Yenileme\Output\abc.pem –rsa-aes-encryption –encryption-key-path=C:\Users\Baris\Yenileme\PublicKey\encryption_public_key.pem

    Bunda ise cmd ye yazmıyoruz direkt klasör var çünkü. https://www.hizliresim.com/8w4qtx8 böyle bütün klasörleri hazırladım ve o indirdiğimizi PublicKey klasörüne attım. (Şifreleme ortak anahtarını indirin dediğimiz)

    Bence herkes en başta aab yüklemeli https://medium.com/berkut-teknoloji/google-play-app-bundle-uygulama-i%CC%87mzalama-c13872ec3f4f
    Burada da “Sıfırdan bir uygulama oluşturduğunuzda aşağıdaki adımları yapmanıza gerek kalmayacaktır” diyor. Yani ilk aab formatta yüklersek zaten her şey hazır oluyor.

    https://www.oracle.com/tr/java/technologies/downloads/#jdk20-windows
    Bunu kurmazsak cmd de Java is not recognized as an internal or external command, operable program or batch file. hatası veriyor. NOT: Benim pc de hiç java jdk yoktu hep unity’nin kendi için yeten javası vardı.

    https://adoptium.net/
    latest lts butonundan indirdim.
    OpenJDK indirme yolunu sordum ChatGPT ye bu siteyi önerdi, güvenilirmiş.
    Bunu kurmazsak bu hatayı veriyor https://stackoverflow.com/questions/76516045/cannot-find-any-provider-supporting-rsa-none-oaepwithsha1andmgf1padding-when-t en son output a çıktı vermiyor şifreleri girdikten sonra bir hata veriyor.

    Son olarak yukarıdaki cmd koduna da bakarsanız alias kısmı çok kritik
    Keystore oluştururken alias kısmı olur oyunun adını girerdik ya işte oraya ben direkt boşluklu bir şekilde girmiştim oyun adını eskiden fakat boşluk olunca da olmuyor cmd de hata veriyor ben de “alias adı” şeklinde tırnak içine aldım hata olmaması için.

    Hocam bunlar başımdan geçti siz de bu dediklerime bir göz gezdirirseniz sevinirim. Malum herkesin eskilerden apk oyunları var umarım herkes bu işlemleri başarıyla tamamlar.

    • yasirkula dedi ki:

      Çok detaylı bir şekilde açıklamışsınız elinize sağlık gerçekten 🙂 Sorunu çözebilmenize de sevindim. Bence bu tecrübenizi kendi blog’unuzda veya başka platformlarda da paylaşın çünkü tek bir yerde olduğunda nolur nolmaz siteye bir şey olur falan, bu kadar emeğiniz boşa gitmesin.

      • Barış Samurkaş dedi ki:

        Hocam bir de videodaki gibi şifreleme özel anahtarını indirin butonu yoksa böyle kod çıkıyorsa https://www.hizliresim.com/9qch1ku imzalamayı yapınca “Uygulama imzalama anahtarınızın şifreleme gücü, Google Play tarafından önerilen minimum standardı karşılamıyor” uyarısı oluyor ama aab güncellemek için engel değil bu iyi. Bu 2015, 16, 17,18 de yayınlananlar için geçerli sanırım. 2019 ve sonrası yayınlanan oyunlarımda ise şifreleme ortak anahtarını indirin diyor ve şifreleme ortak anahtarını indirin seçeneği ile yapılınca “Mevcut uygulama imzalama anahtarınızın şifreleme gücü, Google Play tarafından önerilen minimum standardı karşılıyor veya aşıyor” diyor. Yani o ufak farklılık tamamen oyunun ne kadar eskiden yayınlaması ile ilgiliymiş.

  5. Barış dedi ki:

    Hocam önceden ilk başta apk olarak yüklenen oyunu aab güncelleme yapmaya çalıştım developer console hata verdi kaydolmanız gerek vs. gibi bir şey dedi. Fakat ilk başta aab formatında yüklediğim iki tane oyunumu aab güncelledim hiç sıkıntı çıkmadı. İlk başta apk formatında yayınlanan bir oyunu aab olarak google playde güncellemek imkansız sanırım? İlk apk olarak yayınladıklarımla apk olarak devam mı edeyim sizce?

    • yasirkula dedi ki:

      Böyle bir kısıtlama olduğunu sanmıyorum ama gerçekten varsa da maalesef bilgim dışında kalıyor. Aldığınız hata mesajını aratmanızı öneririm çünkü hata başka yerde olabilir.

      • Barış dedi ki:

        https://www.youtube.com/watch?v=ktnNIRQRnbc&t=656s Hocam işte hata bu ama bunu anlatan unity üzerinden anlatmıyor. Yine denedim aab olmadı, apk direkt kabul etti güncellemeyi. aab güncellemeye çalışınca “Bir android app bundle yükleyebilmek için play uygulama imzalama’ya kayıtlı olmanız gerekir.” diyor. ingilizce hata karşılığı ise “To upload an android app bundle you must be enrolled in app signing by Google play” sonuç olarak benim anladığım sanırım developer console üzerinden imzalamam gerekiyor, developer console üzerinden imzalama yapmayı biliyor musunuz?

      • yasirkula dedi ki:

        Videoda bahsedilen süreci bildiğimi sanmıyorum 😦 Araştırırsam bir şeyler bulabilirim belki ama bu safhada benim yerime sizin araştırmanız benim açımdan daha iyi olur. Benim önerim, hata mesajının İngilizce versiyonunun sonuna “unity” (tırnaklı) ekleyerek tekrar arama yapın. Umarım sorununuza çözüm bulabilirsiniz.

  6. Barış dedi ki:

    Hocam yine ilginç bir sorun var 🙂 https://www.hizliresim.com/ieb25f5 burada gördüğünüz gibi Menu sahnesindeki UI butonlar üst üste binmiş https://www.hizliresim.com/9vhuzl6 buna da bakarsanız ne dediğimi anlayacaksınız. Bunun tek çözüm yolu ise Menu sahnesine çift tıklayıp (veya başka bir sahne önemli değil.) bu şekilde düzelmesi. Çözümü bu kadar basit hiçbir şey yapmaya gerek yok aslında fakat eğer bu ufak hareketi yapmazsanız ve build alırsanız ilk resimdeki gibi bozuk build alıyor, yani build i bile etkiliyor zaten beni bu panikletti. Sizce bu şekilde idare edeyim mi?

    • yasirkula dedi ki:

      Vertical Layout Group kullanıyorsunuz tahminimce. İsterseniz aynı objeye bir de Content Size Fitter verip Vertical Fit değerini Preferred Size yapmayı deneyin.

  7. Barış dedi ki:

    Hocam 2022.3.2f1 sürümünü kullanıyorum https://www.hizliresim.com/2v09p7l burada scale değeri 1x olması gerekmez mi? Halbuki daha projede hiçbir şey yok ve yeni oluşturdum sizce sebebi nedir? Ayrıca 2023 beta veya alpha sürümlerini önerir misiniz beta sürümler iyi mi sizce?

    • yasirkula dedi ki:

      Bence de 1x olmalı, bende öyleymiş en azından. Free Aspect butonuna tıklayınca “Low Resolution Aspect Ratios” seçeneğini kapatmayı deneyebilirsiniz. Olmazsa da can sağlığı deyin bence 😀 Bu arada ben alpha ve beta sürümlerini kullanmıyorum, stabil çalışmama ihtimaliyle karşılaşmak istemiyorum.

      • Barış dedi ki:

        Build settings’deki platform ayarı windows, mac, linux iken 1.3x oluyor ama android e alınca 1x oluyor ilginç bir durum. Yani çözüm sanırım andoid veya iOS a geçirmek platform ayarını.

      • yasirkula dedi ki:

        Ona takılmayın bence 😀

  8. Barış Samurkaş dedi ki:

    Hocam mackbook arızalandı. Oyunlarımı iOS build almak için windows bilgisayarıma sanal makine kurayım diyorum. Sizce o şekilde xcode, unity vs. çalışabilir mi? Ayrıca https://www.virtualbox.org/ buradan yüklememiz gerekiyormuş ve ücretsizmiş duyduğuma göre ama bundan şüphelendim apple niye bedava yazılımını kullandırsın, sanal makineden virüs bulaşır mı sizce? Halbuki tek yapacağım xcode çalıştırmak. Eğer virüs riski varsa hiç bulaşmayacağım.

    • yasirkula dedi ki:

      Sanal makineden build alınır mı maalesef bilmiyorum. Sanal makine uygulamasının kendisinden virüs bulaşabilir ama sanal makinede çalışan işletim sisteminden bulaşamaması lazım. Apple’ın ücretsiz sanal işletim sistemi sunması ise bana gerçek dışı geliyor ama araştırmadığım için kesin bilgi veremiyorum.

  9. Ahmet dedi ki:

    Hocam selamlar, google ads’ e reklam vermek istiyorum. Şirketim yok uygulamamdan para da kazanmıyorum. Bu yüzden goole ads’e vereceğim paradan kdv falan kesmeme gerek yok değil mi? Google Ads’e vereceğim paradan herhangi bir vergi ödememe gerek yok diye biliyorum. Vergi mükellefi olmadığım için. Size de bir danışayım dedim.

    • yasirkula dedi ki:

      Bu konuda yasal tavsiye verebilecek durumda değilim ama benim bildiğim kadarıyla vergi ödemiyorsunuz.

      • Ahmet dedi ki:

        Hocam siz google ads kullandınız mı peki? Kdv vermemiz ne zaman gerekiyor? Bir bilginiz var mı?

      • yasirkula dedi ki:

        Eskiden kullandım ama KDV olayını araştırmamıştım. KDV vermemiz gerekiyorsa beni de aydınlatırsanız sevinirim.

  10. Sey dedi ki:

    Merhaba hocam. Oyunum 1 gün önce Play Store’da yayınlandı. Ancak her şeyi doğru yaptığım halde google admob reklamları gözükmüyor. Bu neyden kaynaklı olabilir, birkaç gün daha mı beklemem gerekiyor. Ayrıca oyun indirme almasına rağmen google admobdaki verilerim (istek vs.) 0 gösteriyor.

    • yasirkula dedi ki:

      AdMob hataları konusunda artık ben de tıkandığım için o dersi yorumlara kapattım. Tek önerebileceğim, logcat kullanın ve reklam ile alakalı log’ları internette aratın.

  11. Ahmet dedi ki:

    Selamlar, oyunumdaki playerprefs kayıtlarını Google Play Services e kayıt etmenin yöntemi nedir? Google Play Services girişi yapıldığı zaman kayıtlar yüklenecek.

    • yasirkula dedi ki:

      Muhtemelen PlayerPrefs’e kaydedebildiğiniz tüm verilerin üzerinden tek tek geçip, PlayerPrefs.HasKey true döndürürse (PlayerPrefs’e kaydedilmiş) onu Google Play Services’e de kaydetmelisiniz. Google Play Services’tan kayıtları yüklerken de tüm kayıtların üzerinden tek tek geçip onları PlayerPrefs’e yazabilirsiniz.

      • Ahmet dedi ki:

        Playerprefsleri json a mı dönüştüreceğim? Örnek bir kod gösterebilir misiniz acaba?

      • yasirkula dedi ki:

        İsterseniz JSON yapabilirsiniz, olur. Bunun için tüm PlayerPrefs datasını tutan bir class yazıp içindeki tüm değişkenlerin değerini PlayerPrefs’ten tek tek çekmeli (otomatik yapan bir şey bildiğim kadarıyla yok) ve bu class’ı JsonUtility.ToJson veya başka bir JSON plugin’i ile JSON’a çevirmelisiniz.

      • Ahmet dedi ki:

        Araştırıyorum bu konuda yeniyim. Birçok şey çıkıyor karşıma. O yüzden playerprefs’i google play services ‘e kaydetmek ve giriş yapıldığında çekmek için en basit ve kullanışlı olması açısından sizin önerdiğiniz yöntem hangisi?

      • yasirkula dedi ki:

        Google Play Services da tıpkı PlayerPrefs gibi key-value bazlıdır diye tahmin etmiştim o yüzden PlayerPrefs.SetInt diyorsanız benzer şekilde PlayServices.SetInt gibi bir fonksiyon çağırırsınız gibime gelmişti ama json da geçerli bir çözüm. Burda en zorlu kısım, daha önce kaydedilmiş tüm PlayerPref’lerin üzerinden geçebilmek ve bunların int mi string mi vb. olduğunu bilebilmek ama bu aşamayı tek tek elle yapmak yerine optimize edebilir misiniz o işte milyon dolarlık soru. Bunu yapabilmek için aklıma gelen tek şey, kaydettiğiniz tüm PlayerPrefs’lerin bir listesini tutan bir veriyi ayrıca PlayerPrefs’e kaydedebilir ve her PlayerPrefs kaydederken onu da güncelleyebilirsiniz. Maalesef çok pratik bir çözüm aklıma gelmiyor.

      • Ahmet dedi ki:

        Uğraştıracak gibi. Hocam ayrıca bu Google Play Services Google Cloud kullanıyor. Burası paralı değil mi? Yani Google Play Services kullanırsam düzenli Cloud’a para vermem gerekecek. “Start your Free Trial with $300 in credit. Don’t worry—you won’t be charged if you run out of credits” yazıyor Google Cloud’da.

      • yasirkula dedi ki:

        Mesajınız gözümden kaçmış kusura bakmayın. En azından eskiden Google Play Services ücretli değildi diye biliyorum, şu anda bir şey değiştiyse malesef bilgim yok. Google Play Services eğer Google Cloud’dan bağımsız çalışmıyorsa, dediğiniz gibi ücretli gibi duruyor ama emin olmadan önce google’da iyi bir araştırmanızı öneririm.

  12. Salam . Unity 3D də Oyuncunun oyundan çıxdığı və girdiyi anların tarixini necə yadda saxlaya bilərəm (ANDROİDdə).
    Öncədən təşəkkürlər!

    • yasirkula dedi ki:

      Tarihi elde etmek için DateTime.Now veya DateTime.UtcNow kullanabilirsiniz. ToString ile bunu string şeklinde kaydedip Parse ile string’den geri DateTime elde edebilirsiniz. Oyunun başlangıcını Start fonksiyonunda, oyunun bitişini OnApplicationQuit fonksiyonunda tespit edebilirsiniz. Bu bahsettiğim şeyleri google’da aratırsanız daha detaylı bilgi de elde edebilirsiniz.

  13. Mustafa dedi ki:

    Merhaba obje yok olduğunda particle effect in çalışmasını istiyorum ama çalışmıyor en basit yöntemle nasıl yapabilirim

    • yasirkula dedi ki:

      Eğer partikül efekti yok olan objenizin child’ı ise, objeyi Destroy etmeden önce partikülün parent’ını SetParent(null) ile değiştirin yoksa partikül obje ile beraber yok olur.

  14. kursad dedi ki:

    Merhabalar sitenize göz attım kaynak konusunda Türkçeye çevirip hazırladığınız eski bir kaynak gördüm. Unity ortamına yeni girmiş ve biraz da kafası karışmış birisi olarak bu kaynak hala geçerliliğini korumakta mı? Nasıl bir yol izlemeyi tavsiye edersiniz?

    • yasirkula dedi ki:

      Eski derslerin içeriğinin yarısından çoğu hâlâ geçerli olabilir ama geçerliliğini yitiren kısımlar da büyük olasılıkla çıkar. Ben yol çizebileceğimi sanmıyorum ama öneri olarak Unity’nin kendi web sitesindeki İngilizce dersleri önerebilirim. Türkçe içerik olarak belki Udemy’deki komple dersler en doygun içerikler olabilir ama uzun zamandır piyasa araştırması yaptığımı da söyleyemem.

  15. enes dedi ki:

    merhaba kolay gelsin unity de çıktı alırken bir problem yaşıyorum sorunum tam olarak şu şekilde eğer ki oyunuma admob eklentisini eklersem il2cpp ile çıktı alamıyorum, fakat admob eklentisi varken il2cpp’yi mono’ya çevirirsem çıktı alabiliyorum, birde il2cpp açık iken admob eklentisini hiç eklememişsem yine çıktı alabiliyorum böyle bir hata ile karşı karşıyayım bunu nasıl çözebilirim her hangi bir fikriniz var mı? şimdiden teşekkür ederim iyi çalışmalar.

    • yasirkula dedi ki:

      Aldığınız hata mesajlarından birisinde hatanın sebebi net olarak yazar. En başta olmasa da hata mesajının ortalarında yazabilir. O mesajı bulmanız lazım. Akabinde google’da aratınca bence sonuçlar alırsınız. Dilerseniz direkt “unity admob il2cpp android build fail” diye de aratabilirsiniz ama sizinkinden bağımsız sorunlara da denk gelebilirsiniz.

  16. Ali dedi ki:

    Merhaba, unityde cihaz kamerasından yazıyı tanıyacak bir şey yapılabilir mi? Cihaz kamerasını açacağız, kitabın bir sayfasına tutup oradaki yazıyı içeri text olarak aktaracağız. Yani okumasını sağlayacağız.

  17. Mustafa dedi ki:

    İyi günler hocam. Benim bildirimle alakalı bir sorum olacaktı. Uygulamamda kayıtların bildirim şeklinde alınabileceği bir sistem yaptım. 1000 tane kayıt yaptım mesela istersem birer dakika ara ile, istersem 1 saat ara ile 1000 tane bildirim alabiliyorum. Bu yöntem cihazlara bir zarar verir mi? Ya da bu tarz bir yöntem yanlış bir kullanım mı? Bunun sınırı yok çünkü. Eski android telefonlarla uygulamadan atma yapıyor. Yenilerinde sıkıntı yok gibi(en fazla 100 tane bildirim denedim). Cevabınızı merak ediyorum.

    • yasirkula dedi ki:

      Senaryonuzu tam olarak anlayamadım ama birden çok bildirim deyince aklıma gelen bir şey, bir önceki bildirimi varsa uçurup yerine sadece yeni bildirimi koymanız. Örneğin önceki bildirimde 1 kayıt yapıldı yazıyor idiyse, o bildirimi kaldırıp yerine 2 kayıt yapıldı yazan tek bir yeni bildirim koyabilirsiniz. Bildirimlerle gerçek anlamda uğraşmadığım için belki dediğim şey teknik olarak mümkün değildir ama yine de olabilitesini araştırmanızı öneririm.

      • Mustafa dedi ki:

        100 bildirimde Android 9 cihazda tam bildirimleri ayarlama sırasında 1-2 saniyelik yavaşlama oluyor. 300 de 3-4 civarı. Sizce bir sınır koymalı mıyım? Whatsapp gibi uygulamalarda internete bağlanınca bazen 1000-2000 bildirim birden geliyor. Cihaza bir şey olmuyor. Belki sadece ısınıyor.

      • yasirkula dedi ki:

        Bildirimlerle ilgili maalesef yeterince bilgim yok :/

  18. Serkan dedi ki:

    Hocam merhaba,
    Konu başlığı olarak nereye yazacağımı bulamadım. Bir sorum olacak.
    Visual studio da yazdığımız kodların unity de derleme sırasını nasıl görebiliriz. Bazı kodların çalışma sırasına göre çakışma oluyor. tüm çalışan kodları sırayla görebileceğimiz bir şey var mıdır.?

    • yasirkula dedi ki:

      Eğer “Edit-Project Settings-Script Execution Order” veya [DefaultExecutionOrder] kullanmıyorsanız, script’lerin belli bir sırası yok diye biliyorum. Bir sahnede A scripti B scriptin’den daha önce çalışabilirken, başka bir sahnede bu tam tersi olabilir.

      • Serkan dedi ki:

        Peki hocam Awake metodu içindeki tüm kod ve metodlar çalışması tamamlandıktan sonra mı start çalışıyor.

      • yasirkula dedi ki:

        Evet tüm Awake’ler tüm Start’lardan önce çağrılır. Ancak bir GameObject oyunun başında inaktif vaziyette ise, onun Awake’i objeyi ilk defa aktif hale getirene çağrılmaz.

  19. Barış dedi ki:

    Hocam 2021 sürümü kullanmaktayım. Build settings de max texture size 1024 yaptım şimdi asla hiçbir texure 1024 üstüne çıkamaz değil mi? Ayrıca unity de JavaScript en son hangi sürümde destekleniyordu bilginiz var mı?

  20. Barış dedi ki:

    Hocam önceki yorumlarda “Render fonksiyonunu istediğiniz vakit çağırabilirsiniz.” demiştiniz bir şey anlamadım hocam 😀 (kodla nasıl olur hiç bilmiyorum açıklarsanız sevinirim) ama size tek bir sorum var 4 kamera kastırır mı peki? Security Room da zaten 4-5 dakika falan kalınacak sadece ve sadece odanın içindeyken kameralar enabled oluyor. En kötü 10 dan 4 e düşüreyim madem diyorum. Umarım telefonlarda kasmaz.

    • yasirkula dedi ki:

      Performansı denemeniz lazım, ben alternatif varken asla 4-10 kamerayı aynı anda açık bırakmazdım. Kameraya RenderTexture vermek için bu linke, kamerayı elle render etmek için bu linke bakabilirsiniz.

      • Barış dedi ki:

        Unity Ads reklamları hemen güncellediğiniz için size minnettarım hocam.
        Zaten security kameraların hepsinde RenderTexture var, ben elle render etmek için sormuştum size.
        Camera[] _securityCameras;
        void Start()
        {
        foreach (var s in _securityCameras)
        {
        s.enabled = false;
        }
        StartCoroutine(UpdateCameras());
        }
        IEnumerator UpdateCameras()
        {
        while (true)
        {
        for (int i = 0; i < _securityCameras.Length; i++)
        {
        _securityCameras[i].Render();
        return null;
        }
        }
        }
        reddit forumdaki arkadaş bunu yazmış bu kodu tüm security kameralara mı atmam gerek?
        Bu arada oyunum mükemmel oldu bitince size de atacağım oyunumu 🙂 Eğer sizin içinde sıkıntı yoksa oyunun credits kısmına yasirkula.com a özel teşekkürler diye eklemek istiyorum.

      • yasirkula dedi ki:

        Bu kodu sadece bir objeye verip _securityCameras’a değer olarak güvenlik kameralarınızı vermeniz lazım. Oyununuz umarım istediğiniz başarıyı elde eder, credit vermeyi düşündüğünüz için teşekkür ederim 😀

      • Barış dedi ki:

        Hocam empty gameobject oluşturup kodu attım sonrada tüm kameraları sırayla sürükledim oraya.
        Kodda Camera[] _securityCameras; vardı onu public Camera[] _securityCameras; yaptım. "_securityCameras’a değer olarak güvenlik kameralarınızı vermeniz lazım" demiştiniz bunun için yaptım bunu. Ve tüm güvenlik kameralarını sürükledim. Fakat şöyle bir sıkıntı var tüm güvenlik kameralarının camera componenti kapanmış oluyor hepsini elle aktif edincede yine kasma oluyor 😀 Vallahi bilemedim ben bu işi 🙂

      • yasirkula dedi ki:

        Evet kapalı oluyor, bu kod düzgün çalışıyor demektir. RenderTexture’ları materyallerinize verdiğinizde görüntüde bir sıkıntı olmadığını görürsünüz.

  21. Barış dedi ki:

    audioSource.PlayOneShot(impact, 0.7F); https://docs.unity3d.com/ScriptReference/AudioSource.PlayOneShot.html
    0.7F yerine direkt 1 yazabilir miyim F siz?

    Ayrca o kısım volume mü ayarlıyor onu da tam anlamadım hocam.

  22. Barış dedi ki:

    Oyunumda 2 tane kamera var. İlk başta 2 sinin de tiki açık yani enabled object. İşi bitince kod ile destroy yapıyorum sonra istediğim kamera açılıyor gayet iyi ama bir sorum var zaten tek 1 kamera kalınca o kamera açılır burası ok ama 2 kamera varsa hangisine öncelik verir Unity Engine? NOT: Benim gayet iyi tam istediğim gibi yani 2 si açıkkende benim istediğime odaklanmış oluyor fakat bazı özel durumlarda kalkıpta istemediğim kameraya odaklanabilir mi? Böyle bir risk mümkün mü sizce?

    • yasirkula dedi ki:

      Cinemachine Virtual Camera’dan değil normal bir Camera’dan bahsediyorsunuz diye anlıyorum. Açık olan her kamera render alınır o yüzden ihtiyacınız olmayan bir kamerayı kesinlikle açık bırakmayın. 2 tane kamera açık olursa, Depth değeri daha büyük olan kameranın görüntüsü ekrana çizilir. Depth değerleri aynı ise, iki kameradan herhangi birinin görüntüsü ekrana çizilebilir, burada belli bir kural olmayabilir.

      • Barış dedi ki:

        Evet normal bir Camera’dan bahsediyorum hocam. Teşekkürler işimi garantiye almak için Depth değerini ayarlayayım çünkü ne olur ne olmaz.

        Bu arada konudan bağımsız bir sorum daha var oyunumda security room içinde ekranlar var bir sürü ve 10 adet kamera ile o ekranlara görüntü gidiyor. Odaya girince kameralar aktif oluyor öyle ayarladım ama yinede 10 kamera render alınması çok kastırır mı sizce 5-10 dk falan o odada gezinse dursa mesela?

      • yasirkula dedi ki:

        10 kamera bence bilgisayarları bile kastırabilir ama denemeden bir şey diyemiyorum. Telefonu kastırmayacağına hiç ihtimal vermiyorum. Kameraları her frame değil, arada bir render almanızı öneririm. Örneğin her 1-2 frame’de bir 10 kameradan sadece biri güncellenir, diğerleri güncellenmez. Güncellenmeyen kameraların görüntüsünü kaybetmemek için, kameraları RenderTexture’lara render almanız lazım.

      • Barış dedi ki:

        Bir kameranın her frame de değilde 10 frame de bir render almasını nasıl sağlarım? renderTexture var elimde. Nereden yapılacak acaba?

      • yasirkula dedi ki:

        RenderTexture’u kameraya verip kamerayı disable yapıp elle kameranın Render fonksiyonunu istediğiniz vakit çağırabilirsiniz.

  23. Barış dedi ki:

    A ve B isimli 2 tane küp olsun.
    A nın child ı B olsun.
    B child olmasına rağmen A nın B ile birlikte dönmesini yani (rotation daki y sini) nasıl anlık olarak nasıl güncelleyebilirim?
    Bunu kod ile yapmam gerek.

  24. Barış dedi ki:

    kod temizlendi

    Hocam mobil oyunum için kamerayı kontrol etmek amacıyla bu kodu kullanıyorum normalde bu yükseklikte olması gerekirken https://www.hizliresim.com/sejg07e aşağı bakmak isteyince maalesef kamera eğiliyor aşağıya. Burada gördüğünüz gibi https://www.hizliresim.com/4lrqa4t bunu nasıl çözebilirim? Benim kodumdaki sıkıntı nedir acaba çok merak ediyorum hocam. Sizde işime yarayacak hazır alternatif bir kod varsa onu da atabilirsiniz hocam. Şimdiden çok teşekkürler size ne kadar teşekkür etsek azdır.

  25. Kaan Gül dedi ki:

    Öğretmenim merhaba, Bu kadar içeriği bize hazırlayıp hiçbir ücret beklememek büyük bir erdem ve saygı gerektiriyor size çok saygı duyuyorum ve emekleriniz için sonsuz teşekkürlerimi sunuyorum.

    Benim sadece sormak istediğim tek bir soru var; Vergi.

    Türkiye Cumhuriyetinde oyunlarımızın google play store ve steam üzerinden satış sonrasında vergilendirme nasıl işliyor? Sizin tecrübeleriniz nelerdir? İnanın bana bu konuda olan kaynaklar detaylı değil ve işlevsel gelmiyor.

    * Dijital alanda yaptığımız oyunların satışlarının vergilerini hangi şirket tipi ile ödeyebiliriz? (Şahıs, Anonim, LTD vb)

    * Yaptığımız oyunların satışı bazen milyonları geçebilecekse, milyonlarca faturayı tek başımıza nasıl keseceğiz? Yada muhasebeci bunu nasıl yapacak?

    * Yaptığımız işin belirli bir vergi oranı olmamakla birlikte sizin daha önceki tecrübeleriniz nedir?

    * 100.000$’ın üzerinde olduğumuzu var sayalım, Unity bizden kaç komisyon istiyor? Unity Komisyonu + Google Komisyonu (%30) + (KDV 18) + Şirket Vergisi (%?) + Damga Vergisi gibi bu kadar vergi modüllerinin arasında bu işi yapmak sizce mantıklı mı?

    Cevaplarınızı sabırsızlıkla bekliyor ve sitenizi ziyaret etmekten çok keyif alıyorum. İyi Günler dilerim efendim.

    • yasirkula dedi ki:

      Gösterdiğiniz ilgi ve alaka için ben de teşekkür ederim.

      Benim sadece Google Play’den gelirim oldu o da çok eskiden AdMob reklamları ile ufak bir meblağ oldu. Oyunu bireysel olarak koymuştum, herhangi bir şahsi/umumi ticari firma vasıtasıyla koymadım. Benim tecrübe ettiğim, AdMob gelirleri üzerinden otomatik olarak vergi kesiliyor (kesin bilmiyorum, sadece ben öyle düşünüyorum). AdMob direkt TL banka hesabınıza geliri EFT yapıyor, büyük ihtimalle Google Play gelirleri için de aynısı geçerlidir.

      Unity, oyunlarınızdan komisyon almıyor. Ancak yıllık geliriniz belirlediğiniz seviyeyi aşıyorsa, Unity’nin Plus/Pro sürümlerini kullanmak zorundasınız.

      Diğer sorularınızı, startup firma kurmuş kişilere LinkedIn üzerinden sormanızı öneririm. Onların bu konularda tecrübeleri vardır.

      Şimdiden başarılar dilerim!

  26. Ümit dedi ki:

    Hocam yazınızı okudum. İçeriklerinize de gör attım yakında düzenli bir şekilde çalışmaya başlayıp kendi oyunumu yapmak istiyorum.
    Piyasada hazır oyun satan bazı siteler var reskin yaparak oyunu veriyorlar. Oyun sektörü ciddi anlamda büyüyen ve üstüne düşülmesi gereken bir sektör. Bundan dolayı sektöre atılmak için siz ne tavsiye edersiniz. Hangi yolları izlemek lazım

    • yasirkula dedi ki:

      Benim naçizane önerim, direkt Unity’den başlamak yerine düz C#’ın ve nesne yönelimli programlamanın temellerini öğrenmek (siyah konsol ekranında çalışan hesap makinesi gibi basit uygulamalar yazarak). C# hakkında sayısız başlangıç dersi bulabilirsiniz. Temelleri iyice kavramanın akabinde Unity’e geçiş yaparsanız, Unity’de çok daha hızlı ilerlersiniz (benim görüşüm). Unity’nin kendi web sitesindeki video dersleri bence son zamanlarda yeterince iyi. İlaveten YouTube’dan da ilginizi çeken başlangıç seviye içeriklere bakarsınız.

  27. Zakir dedi ki:

    Hocam merhaba. Oyunum 2 gün önce Play Store-da yayınlandı. IOS için de build almak için proje dosyalarını manuel olarak duplicate edip IOS-a switch yapabilirmiyim? Yani tamamen iki farklı proje olabilirlermi?

    Bazı yerlerde IOS build için iphone-a bile sahip olmak yeterli diye okudum. Kod almak için. Bu da olmazsa sanal makineler iş görür mü?

    Oyunu yayıncıya göndermek istiyorum. Denemek için Facebook SDK kurmamı istiyor. SDK kurarsam AdMobda meditation yapmak zorunlumu? Ve SDK-yı ekleyip yeniden Play Store-a update yapmalı mıyım?

    • yasirkula dedi ki:

      İsterseniz 2 farklı proje yapabilirsiniz ama öyle yaparsanız, oyunda yapacağınız her bir değişikliği 2 projeye de elle uygulamanız gerekecek, bence yorucu olur. Bu sorunu çözmek için ben mutlaka Git kullanmanızı öneririm (Git bilmiyorsanız biraz araştırmanız iyi olur).

      iOS build için Mac cihaz gerekiyor. Sanal makinede hiç denemedim. Mac’siz build aldığını iddia eden bir plugin var ama ben kullanmadım ve okuduğum kadarıyla ilk build için yine bir Mac gerekiyor.

      Facebook SDK’i reklamlar için istemiyor olabilirler. O yüzden bence AdMob’la alakalı bir değişiklik yapmanız gerekmeyecek ama bu soruya ve update atıp atmayacağınız sorusuna kesin cevabı sadece yayımcı verebilir.

      Oyununuz şimdiden hayırlı olsun.

  28. Barış dedi ki:

    Hani telefona bir süre dokunmayınca ekran kapanır ya, oyunumda bunu nasıl engelleyebilirim?

  29. Barış dedi ki:

    Oyunumda resimlerdeki merdiven böyle kamerayı yakınlaştırıp uzaklaştırınca görüntüsü gidip geliyor. Ayrıca karakterimle üstüne çıkınca bile görüntü gelmiyor çok yakın olmama rağmen. (Gerçi neyle ilgisi var bilmiyorum) Ama collider ı hep çalışıyor sadece görüntü gidip geliyor. Ne yapmalıyım hep görüntünün çalışması için sizce?
    https://www.hizliresim.com/gvlk4i7 ilk buna bakın
    https://www.hizliresim.com/a3eyqz7 sonra buna

    • yasirkula dedi ki:

      Gerçekten çok garip duruyor. Projenizde Occlusion Culling kullanıyor musunuz? Kullanıyorsanız, geçici olarak kapatmanın etkisi oluyor mu? Merdiven shader’ı transparent ise, onu opak yapmak sorunu çözüyor mu? Veya kameranın Near/Far Clipping Plane değerleriyle oynamak işe yarıyor mu?

      • Barış dedi ki:

        Teşekkür ederim occlusion culling kapattıktan sonra sorun kalmadı. Rendering sekmesinden yaptım.

  30. Barış dedi ki:

    3D oyunumda bir bölgeye alev sesi koydum fakat uzaklaşınca bile alev sesi hala geliyor (max distance geçmeme rağmen audio source componentindeki) yinede ses geliyor bunu nasıl engellerim?

  31. sedat dedi ki:

    Merhabalar unity de oyunumu ios build alıp (windows bilgisayardan) build alınan dosyayı telefonuma atıp test edebilirmiyim ?

  32. Salam. Oyunun UI elementlərinin bütün ekranlara uyğun hala necə gətirə bilərəm?

    • yasirkula dedi ki:

      Öncelikle Canvas Scaler’ın “Ui Scale Mode”unu “Scale With Screen Size” yapıp referans çözünürlüğü istediğiniz gibi ayarlayın. Ardından ben genelde “Match Width or Height” değerini 1.0 yapıyorum. Artık ekranın yüksekliği değiştikçe, canvas otomatik olarak scale olacak. Bu işlemi yeni oluşturduğunuz her Canvas’a uygulamayı alışkanlık haline getirin derim.

      Eğer oyununuzun sol ve sağ kenarlarında UI objeleri yoksa belki sırf Canvas Scaler ayarı işinizi görmüş olabilir. Aksi taktirde, ekranın hep solunda kalmasını istediğiniz objelerin Anchor’larını ekranın soluna, ekranın hep sağında kalmasını istediğiniz objelerin Anchor’larını da ekranın sağına taşımalısınız.

  33. Barış dedi ki:

    Hitman oyunları oynadıysanız bilirsiniz içgüdünüz vardır tuşa basarsanız önemli nesneleri sarı renkte gösterir hatta o nesnelerin önünde obje olsa bile yinede arkadaki nesnenin ne olduğunu anlarsınız. Böyle bir sistem nasıl yapabilirim?

  34. Salam. void Update() metodu Performansa təsiri çoxdu?
    void Update() saniyədə neçə dəfə oxunur bu metod?

    • yasirkula dedi ki:

      Oyunun her karesinde (frame) Update 1 kere çalışır. Yani oyun 60 fps’te çalışıyorsa, Update saniyede 60 kere çalışır. Update’in içinde çok fazla ağır kod varsa bu oyunun performansını gözle görülür şekilde etkileyebilir.

  35. Hamza dedi ki:

    Merhaba, Ben Unity de korku oyunu yapıyorum da yerden not almak istiyorum. Öyle özel birşey değil sadece bir image zone olsun yani bir noktaya gelince ekranda not belirsin bunu nasıl yaparız?

    • yasirkula dedi ki:

      Image Zone’u temsil eden bir Collider oluşturup Is Trigger’ını açabilir, Tag’ini de ImageZone yapabilirsiniz. Ardından player’ın OnTriggerEnter fonksiyonunda collider.CompareTag(“ImageZone”)’un değeri true ise ekranda not belirtirsiniz, OnTriggerExit’ta notu ekrandan kaldırırsınız.

  36. Barış dedi ki:

    Unity Hub dan new project deyince templates soruyor mobil oyun yapacağım fakat mobile 3d diye de bir seçenek var ama hep 3d yi seçerdim. Ne farkı vardır bilginiz var mı?

  37. Barış dedi ki:

    Unity ve PHP, MySQL ile veritabanı kurma konusunda tecrübeniz var mı? Oyunda saat var ama oyuncular telefon saatini değiştirip saati ileri sarabilir bunun önüne geçmek için direk veritabanı üzerinden yapmak istemiştim işlemleri. Bu konuda bir ders yapmayı düşünür müsünüz?

    • yasirkula dedi ki:

      Şu anda bu konuda bir ders planım yok. Unity ile PHP veya MySQL kullanmadım ama bu konuda Unity’den bağımsız normal C# dersleri bulursanız onlar da işinize yarar diye tahmin ediyorum.

  38. Unity 3D də Multiplayer oyun yaratmağa aid bir dərs yayınlamağı düşünürsünüz ?

    • yasirkula dedi ki:

      Şu an için planım yok. Bu konuda Udemy’deki derslere (örnek 1, örnek 2) bakabilirsiniz veya İngilizceniz varsa internetteki güncel kaynakları takip edebilirsiniz.

      • Yasirkula indi Unity3D ilə bağlı hansı məqaləni paylaşmağı düşünürsünüz? Sizin bir məqalə paylaşmağınızı həvəslə gözləyirəm.

      • yasirkula dedi ki:

        Açıkçası şu anda aklımda bir makale fikri yok. Genelde oyun yaparken takıldığım yerler hakkında makale yayımlıyorum ama bir süredir takıldığım bir yer olmadı.

  39. SenanApps dedi ki:

    Salam. Unity 3D’də Firebase istifadəsi ilə bağlı bir dərs hazırlaya bilərsiniz?

  40. acespoly1 dedi ki:

    Hocam merhaba, bir konu ile ilgili görüşmem lazım ama mail yolu ile ulaşabilir misiniz. Burada konu ile ilgili bilgi var ama daha detaylı bir bilgi öğrenmem lazım.

  41. eyüp çaçan dedi ki:

    Kolay gelsin benim sorum unity assetlerinde satılan 2 boyutlu resimleri başka oyun programları ile kullanabilir miyim? Mesela 2D Fantasy Art Assets Full Pack satın alıp rpg maker programında kullanmak için entegre edebilir miyim? Ana site bir türlü cevap vermediğinden tam bir bilgim yok beni aydınlatırsanız sevinirim

  42. Barış dedi ki:

    Merhaba, multiplayer dersleri vermeyi düşünür müsünüz? Keşke 2-3 ay içinde bu konu hakkında da bir yazı yapsanız süper olurdu😃
    Ayrıca kısaca bir soru sormak istiyorum. Photon falan kullanılıyormuş sanırım ama full (ücretli) olanda bile 100 kişinin üzerine çıkılamıyor sanırım böyle bir şey olabilir mi? Unity ile o zaman multiplayer bir oyun geliştirmek imkansız sanırım?

    • Barış dedi ki:

      https://assetstore.unity.com/packages/tools/network/darkrift-networking-2-pro-95399#reviews
      Galiba bunda kişi sınırlaması yok (bende ilk defa şimdi gördüm ve şaşırdım)
      https://assetstore.unity.com/packages/tools/network/photon-pun-2-120838 ama bunda var sınırlama ve hemen hemen fiyatlar aynı ne farkı vardır acaba?

    • yasirkula dedi ki:

      Multiplayer konusunda maalesef tecrübem sıfıra yakın ve şu an için multiplayer’da kendimi geliştirmeyi düşünmüyorum. O yüzden bu konuda yakın zamanda ders planlamıyorum. Multiplayer asset’leri çok araştırmadım, en sağlıklı bilgiyi Reddit veya Unity forumları gibi yerlerde bulabilirsiniz (bu konuda sayfalarca tartışmalar bulabilirsiniz). Benim bildiğim, Photon’da sunucu kiralamakla uğraşmıyorsunuz, Photon’un kendi bulut sunucuları kullanılıyor. Diğer alternatiflerden bazılarında ise kendi sunucunuzu kurmanız/kiralamanız gerekiyor ama kişi limiti bulunmuyor. Ciddi bir multiplayer oyun Photon’un 100 kişi limitiyle nasıl başa çıkar gibi konularda yine google’a danışmanız lazım, oralardaki tartışmalar bizim gözümüzden kaçan önemli detaylara dikkat çekiyor olabilir.

  43. Efe dedi ki:

    Selam hocam unity de kodlama için visual studio yu seçeceğine not defterini seçtim nasıl düzeltebilirim? Unity de edit in yerini bulamadım. Yardım edebilirmisisniz

  44. sabih dedi ki:

    hocam unity assets storeda lisans tipelri var. bilgi verebilir misiniz. mesela ucretsiz olarak indiriyorum ama bunu oyun haline getirip yayınlarsam sıkıntı olur mu ? bazılarında extension asset felan yazıyor. bir bilginiz var mı bu konuda ?

    • yasirkula dedi ki:

      Asset’in açıklamasında veya varsa LICENSE.txt dosyasında özel bir lisanstan bahsetmiyorsa, oyun haline getirip yayımlayabilirsiniz. Örneğin şu asset’in özel bir lisansa sahip olduğunu açıklama kısmında görebilirsiniz. Extension Asset yazısına tıkladığınızda “One license required for each individual user” veya “One license per seat” yazar. Yani eğer bu asset’i birden çok kişi kullanacaksa (örneğin şirket içerisinde), kullanacak her bir kişi için asset’in ayrı ayrı satın alınması gerekiyor.

      • sabih dedi ki:

        tek başıma yapacagım oyunda assetlerı kullanabilirim yani. yayınlamakta sorun cıkmaz. bir şirket sahıbı değilim. ileride kuracak olsamda tek basıma yayınlamak ıcın şirket kuracagım. teşekkür ederim hocam cevap için .

  45. nusret dedi ki:

    bir nessne nin bişeyye değdiğinde bişey olmasını istiyorum nasıl yapçam

  46. Furkan dedi ki:

    Hocam unity asset storedan bir asset almak istiyorum Are you exempt from paying consumption tax? diyor buna yes desem ne olur no desem ne olur anlamadım hiç asset storedan alışveriş yaptınız mı bir bilginiz var mı sormak istedim

  47. Mustafa dedi ki:

    Hocam selamlar, Unity Ads kullanmak istiyorum ama hata yaparsam play console hesabım ceza alır mı? Unity Ads ile google arasındaki kurallar nerede var? Ayrıca Unity Ads’yi kullanmak istersek, AdMob hesabı kısmından mı kullanıyoruz ? Bir de reklam kimliğini direk unity içerisine mi ekleyelim yoksa uzak sunucuları vasıta yaparak reklam kimliğini ordan mı gönderelim?

  48. SEL_ dedi ki:

    İyi günler hocam nereden soracağımı bilemedim. Unity ile online oyun yapmaya çalışıyorum serverı unity oyun motoru ile yapıyorum yani c# ve TCP kullanıyorum. Çoğu işimi server tarafına almama rağmen veriler client tarafına gecikmeli gidiyor. UDP ile denedim bir değişiklik olmadı uzun zamanımı aldığı için buradan yazıyorum. Tavsiye veya fikirlerinizi almak istedim

  49. Barış dedi ki:

    Machine Learning ile ilgili bir ders yapmalısınız. Hem Unity’nin kaynağı var sanırım benim ingilizcem yok o yüzden anlayamıyorum 🙂 Ve Bu yapay zeka işlerinde kendimi geliştirmek için Unity dışında da ne kullanabilirim prog. dili ve program olarak (Unity ve Visual Studio gibi). Genel olarak yapay zeka olaylarına Unity’nin içinde mi başlamamı önerirsin başlangıç ve ileri düzey dersek?

    • yasirkula dedi ki:

      Machine Learning konusunda dediğiniz gibi Unity dersleri var ama Machine Learning hakkında genel bir bilgi sahibi olmadan o derslerden tam verim alamıyorum. Çok da zorlamadım çünkü Machine Learning şu anda ilgimi çeken bir konu değil. O yüzden şu anda Machine Learning’le alakalı bir planım yok.

      Ben full-time C# ile çalışıyorum, diğer diller konusunda çok araştırmam yok. Yapay zeka için genelde Python duydum ve “most popular languages for ai” şeklinde arama yapınca da karşıma gelen listelerin çoğunda Python’u gördüm. Unity ile oyun yapacaksan yapay zekaya Unity’nin içinde başlayabilirsin sanırım, yapay zekanın yaptığı işi direkt 3D uzayda gözlemleme şansın olur. Ama bu da C# veya C++ kullanmak zorunda olman anlamına geliyor.

  50. Barış dedi ki:

    Sizin Naughty Dog gibi veya Rockstar Games bir şirkette çalışma gibi bir hedefiniz var mı? Ve öyle büyük firmalar bildiğim kadarıyla Unity veya Unreal bile değil direk kendileri mi oyun motorlarını mı yazıyorlar? C++ ile yapılıyormuş oyun galiba ama oyun motoru acaba hangi dille kodlanıyor? Hep merak ettim böyle büyük oyunların yapılışını 🙂

    • yasirkula dedi ki:

      Benim böyle bir hedefim yok. Dediğiniz gibi çoğu oyun motoru C++ ile yazılıyor ama motoru kullananlar C++ harici diller kullanıyor olabilir (örneğin Unity’de motorun kullanıcıları olan bizler C# kullanıyoruz). Ben bir oyunun motorunu merak ettiğimde genelde “gta 5 game engine” veya “fifa game engine” şeklinde arama yapıyorum. Bazen oyunların yapım aşamalarından videolar da paylaşıyorlar, onları ise genelde “gta 5 behind the scenes” veya “making of gta 5” şeklinde aramalar yaparak buluyorum.

  51. Barış dedi ki:

    Bende hazır animasyon var asansör kapısı kapansın istiyorum içeri girince. animasyon var ama bunu kodla nasıl yapacağım bilemedim? OnTriggerEnter ile mesela temas olur olmaz o animasyon dosyası çalışsa?

    • yasirkula dedi ki:

      Asansör kapısı modelini seçtikten sonra Inspector’daki Rig sekmesinden “Animation Type”ı Legacy yapın. Ardından sahnedeki objenin Animation component’indeki “Play Automatically” seçeneğini kapatın. Artık ne zaman animasyon oynasın isterseniz, “animationComponenti.Play();” veya “animationComponenti.Play(“Animasyon klibi ismi”);” fonksiyonlarını kullanın.

  52. Ahmet dedi ki:

    2d oyunlar için asset store alternatifi güzel bir site buldum. İhtiyaç duyulabilecek tüm her şey bu sitede mevcut. Bizimde çorbada bir tuzumuz olsun 😀
    https://www.freepik.com/search?dates=any&format=search&page=3&query=game+button&sort=popular&type=vector

  53. Barış dedi ki:

    ontriggerenter ile sadece 1 defa temas kontrol ettirebiliyorum. Benim amacım şu; box collider var saklanma yerlerinde karekter oraya gelince otomatik ışık kapanacak ve temastan çıkınca ışık açılacak. Ben nasıl anlık kontrol yapabilirim? Ve bu işlem için sizce SetActive mi kullanmalıyım?

    • yasirkula dedi ki:

      Karakter collider’ın içinde olduğu sürece OnTriggerStay çağrılır ama benim önerim, karakter collider’a girince OnTriggerEnter, collider’dan çıkınca da OnTriggerExit’tan faydalanın.

  54. Ahmet dedi ki:

    Hocam 2d oyunlar için asset store harici ücretli ya da ücretsiz mağazalar önerebilir misiniz.

  55. Barış dedi ki:

    Huawei AppGallery’e oyunumu yüklemek istiyorum. (Çok yeni bir mağaza olduğu için) Ama reklam konusu nasıl olacak bilmiyorum mutlaka bir reklam şirketi vardır destekleyen fakat yinede Huawei’e build almak In App Purchases konusu ve reklamlarla ilgili kafamda çok soru var sizce ne yapmalıyım? App Store ve Google Play yeterli mi? Yani aslında yeterli ama Huawei’in iyi yanı daha çok yeni bir mağaza olması bu yüzden soruyorum. Unity Ads&AdMob desteklemiyor mesela bunlar hep sorun.

    • yasirkula dedi ki:

      Bence de yükleyin, en azından tecrübe olmuş olur. Reklam gibi konularda maalesef benim de bilgim yok, bu konuyu Google’a sormanız gerekecek.

  56. Barış dedi ki:

    Abi şu multiplayer sistemini biraz araştırayım dedim photon pun 2 kullanılıyor sanırım. Bunun plus versiyonu da varmış ama o da 100 kişi en fazla (free olanı zaten 20 kişi) yani şimdi 100 kişi sınırını ben nasıl geçebilirim? Ve bu iş için gerçekten iyi bir kaynak var mı acaba? Veya Wifi üzerinden aynı ağa bağlanıp pvp tarzı bir şey nasıl yapabilirim? Bu daha kolaysa kısaca şu pvp için acaba kaynak bulsanız bile harika olur

    • yasirkula dedi ki:

      Multiplayer konusunda benim güncel bilgim neredeyse sıfır. Ancak multiplayer için sadece Photon yok; “unity multiplayer comparison” şeklinde arama yaparsanız istemediğiniz kadar multiplayer plugin’le karşılaşabilirsiniz. Bunların artılarının eksilerinin tartışıldığı onlarca kaynak da bulabilirsiniz.

  57. Ayktu dedi ki:

    Unity 2019.4.3f1 sürümü yüklü. yalnızca windows tarafını kurdum. Ancak assets kısmında package’larda standart packagelar yok. Nasıl yükleyeceğimi bulamadım. Yardımcı olabilir misin?

  58. Barış dedi ki:

    Merhaba, geçen ay https://assetstore.unity.com/packages/templates/systems/mobile-horror-hide-and-seek-kit-157274 asset i satın aldım enemy waypoint lere gidiyor fakat giderken sadece bu assetteki map çalışıyor. Yani başka mapde yapay zeka hareket etmiyor etse bile örneğin düz gidip sağa dönecekse bile onu algılamayıp duvara yürüyor(gideceği yolu bilmiyor duvarı geçmeye çalışıyor) waypoint e ulaşmak için. Yani sadece bu assetin mapine uygun. Satın aldığım kişiye mail attım henüz cevap gelmedi siz ne düşünüyorsunuz bu konuda? Sanırım yapımcı hazırlarken enemy nin gideceği yolları kendi ayarlamış ve bu yüzden başka map e uyarlayamıyoruz mesela kendi map ini tamamen kaldırınca sanki(yapımcının assetin mapi (sorunsuz olan)) hiçbir şey yokmuş gibi yani enemy önündeki objeler sanki orada duruyormuş gibi hareket ediyor scene de map olup olmamasına rağmen? Sanki gideceği rota tamamen ayarlanmış gibi yani. Yere de düşmüyor ve mesela haritada merdiven var normalde o haritayı tamamen kaldırıyorum ama hala merdiven iniyormuş gibi yapıyor? Yani alçalıyor git gide çünkü waypoint normalde o haritada alt katta. Siz hiç bu tarz bir şeyle uğraştınız mı? Sanki enemy waypointlere giderken tamamen belli rota izliyormuş gibi çok ilginç?

    • Barış dedi ki:

      Ve şu da var enemy beni görürse waypoint e gitmeyi bırakıp beni takip ediyor beni kaybederse de tekrar waypointlere odaklanıyor enemy i haritanın en uç köşesine dahi götürsem kendimi takip ettirerek yinede tekrar waypointlere kaldığı yerden devam ediyor beni kaybedince. Yani öyle direk animasyonda değil aslında. Yapımcının kendi haritasında mükemmel bir uyum var. Size asset paketini mail adresinize yollayayım mı abi? Şimdiden teşekkür ederim.

    • yasirkula dedi ki:

      Sizin de dediğiniz gibi, NavMesh sistemi kullanılıyor gibi duruyor. Haritanızdaki statik objeleri (zemin, duvar, masa vb.) Inspector’dan Static olarak işaretledikten sonra, Window-AI-Navigation’ın Bake sekmesindeki Bake butonuna basarak AI’ın hareket edebilececeği alanı oluşturabilirsiniz. Bu alan Scene panelinde mavi renkle gösterilir, oradan bakarak objelerinizin Static’liğini gerektiği gibi değiştirip tekrar tekrar Bake alabilirsiniz.

      Benim öncelikli önerim, asset ile gelen dokümantasyonu okumanız. Büyük olasılıkla orada NavMesh ve waypoint sisteminden bahsediliyordur. Sonrasında ise “unity navmesh ders” şeklinde arama yaparak NavMesh dersleri izlemenizi öneririm. Benim yazdığım şu dersteki “Navigation Sistemine Giriş” başlığı da ilginizi çekebilir: https://yasirkula.com/2016/01/24/unity-navmesh-kullanarak-basit-bir-futbol-oyunu-yapmak/

      • Barış dedi ki:

        Çok teşekkür ederim dersinizi az önce fark ettim iyice bu sistemi araştıracağım. Bu arada kusura bakmayın yorum yayınlanmadı sandım ondan biraz fazla yorum yayınladım.

  59. Raşit dedi ki:

    Merhabalar hocam,

    Unity ve C# öğrenmeye 3 ay kadar önce başladım günde 3-4 saat video izleyerek baya birşey öğrendim teorik olarak. Bir game studio da game developer olarak işe başlamak için kabaca bir kriter verebilir misiniz ne seviyede olmak gerekir? Basit bir oyun yapıp porfolioda göstermek yeterli midir?
    her çeşit öneriniz çok yardımcı olur.

    Cevabınız için teşekkür ederim.

    • yasirkula dedi ki:

      Türkiye’de firmalar genel olarak mobil hypercasual oyun üretiyorlar. Piyasadaki popüler 5-6 hypercasual oyunun temel mekaniklerini Unity’de sıfırdan yazıp bunları GitHub’a koyarak ilgi çekici bir portfolyo oluşturabilirsiniz (aklınızda kendi hypercasual fikirleriniz varsa onları da kullanabilirsiniz). Yazdığınız kodun takılmadan çalışması ve çok çorba olmaması önemli. Oyunların da görsel olarak biraz da olsa albenili olması güzel olur. Son olarak da, bu oyunları WebGL formatında build alıp oyunun linkini GitHub’ınızda paylaşırsanız, oyunun neye benzediğini görmek için illa kodu indirmek gerekmez (WebGL build’inizi itch.io’ya ücretsiz olarak yükleyebilirsiniz).

  60. Emirhan dedi ki:

    Unity 2019 ile 2018 arasındaki fark nedir?

  61. coder54 dedi ki:

    Hocam iyi günler, ben BTK Akademi ile birlikte Unity ve C# üzerine eğitim almaya başladım. internette Türkçe kaynağa pek denk gelememişken bu site karşıma çıktı. Bende göz gezdirdim Türkçe kaynaklar için sana teşekkür etmek istiyorum.

    Youtube’da Unity ile oyun yapanları izlediğimde belli başlı şeyler aynı iken araya farklı değişik kodlar giriyor bunları öğrenebilmek için ne tavsiye edersin gerçekten yardımcı olursan sevinirim.

  62. harun dedi ki:

    unity de çizginin uzunluğu nasıl sınırlandırılır?
    çizgiyi hızlı çizdiğimizde daha büyük oluyor ama yavaş çizdiğimde daha küçük oluyor.

    • yasirkula dedi ki:

      Çizgiden kastınız Line Renderer veya Trail Renderer kullanarak fare ile bir şeyler çizmek mi? Yaşadığınız sıkıntının screenshot’ını alabilir misiniz?

  63. hakan dedi ki:

    Unity oyun motoruyla kelime savaşı oyunu yapmak istiyoruz tv2 yayınlanan yarışmaya benzer.
    Soruları ve cevapları mssql tutmayı planlıyoduk ancak direk bağlantı yapılmıyor ara sunucu gerekiyor.Tavsiyeniz nedir.Sizce nasıl bir yol izlemeliyiz.

  64. hakan dedi ki:

    unity motorunu c# formla bağlantı yaparsak c# form için android desteği sağlamış olurmuyuz

  65. furkan becit dedi ki:

    Merhaba benim bir sorum olacak blender’da tasarladığım bir modeli collision ile birlikte unity de nasıl çalıştırırım yardımcı olabilir misiniz ?

    • yasirkula dedi ki:

      Modeli Unity sahnesine attıktan sonra Rigidbody component’i verin. Daha sonra collider’ları vermek gerekiyor. Burada önerilen yöntem, Box Collider, Capsule Collider ve Sphere Collider gibi temel collider’lar kullanmak. Gerekirse birden çok Box Collider vs. kullanarak karmaşık şekilleri de temel collider’larla kabaca çevrelemek mümkün. En kötü durumda ise Mesh Collider kullanabilirsiniz. Ancak objeyi fizik motoru hareket ettirecekse, component’teki “Is Convex” işaretli olmak zorunda.

  66. Enes ecioğlu dedi ki:

    Teşekkür ederim
    İphone kullanıyorum build alıp nasıl yüklicem kendime pc windows,

  67. Enes ecioğlu dedi ki:

    Hocam unity 5 kullanıyorum bi proje takılıyorum kendimce ekranımı 1920 1080 gibiydi galiba ayatladım ip7plus kullanıyorum 2d uygulamamda remote 5 ile deniyorum ama götüntü kalitesi berbat pc de çok iyi butonu falan kendim adobe ps işe yaptım sorun nedir acaba 2 d grafik ayar bilgileri başlığı açılmamış youtubede gördüğüm standart assets image efect falan gibi değil netlik istiyorum e mailden foto atabilirim

    • yasirkula dedi ki:

      Edit-Project Settings-Editor’deki Unity Remote ayarlarıyla oynamayı deneyebilirsiniz. Ancak performans testleri için oyunu build alıp cihazda test etmeniz lazım çünkü Unity Remote kullanırken bilgisayarın CPU ve GPU’su kullanılıyor.

  68. Caner Bıçakçı dedi ki:

    Hocam selamlar benim bir kodum var:

    if (sesverisi == 1)
    {
    GetComponent().clip=GameObject.FindWithTag(“data”).GetComponent().ses1;
    }
    if (sesverisi == 2)
    {
    GetComponent().clip=GameObject.FindWithTag(“data”).GetComponent().ses2;
    }
    if (sesverisi == 3)
    {
    GetComponent().clip = GameObject.FindWithTag(“data”).GetComponent().ses3;
    }
    .
    .
    .
    .

    Bu kod böyle devam ediyor.Her sayı için if komutu oluşturmaktansa Ben bunu şunun gibi birşeye dönüştürmek istiyorum:

    GetComponent().clip = GameObject.FindWithTag(“data”).GetComponent().”ses” + sesverisi;

    (SON KISMINDA BİR DEĞİŞTİRME VAR)

    bunu nasıl yazarız biliyormusunuz ??

    • yasirkula dedi ki:

      Array kullanabilirsiniz. Sesleri “public AudioClip[] sesler;” değişkeninde tutup Inspector’dan sırayla bu array’e ekledikten sonra kodunuzu GameObject.FindWithTag("data").GetComponent().sesler[sesverisi-1]; şeklinde güncelleyebilirsiniz (sesverisi-1 çünkü array’ler 1’den değil 0’dan başlar).

  69. tolgahan dedi ki:

    unity 2019.3.0a8 de networking kalkmış nasıl online oyun yapabilirim

  70. tolgaguducu dedi ki:

    Oyunu play storeda yayınladım ve App storeda yayınlamak istiyorum fakat yeterli bi bilgi bulamadım 100doları bilgisizce çöplemek istemiyorum. Sana sorum ios için oyunu yayınlarken nelere ihtiyacım olacağı. Kimisi mac bilgisayar falan diyor. Bununla ilgili bir rehber yapıcak mısın? Veya kısa yollu cevaplayabilirsen de çok makbule geçer. Windowstan ios için çıktı almamız yeterli değil mi veya ne gibi bir yol izlemeliyim şeklinde. Kolay gelsin

    • yasirkula dedi ki:

      Evet MAC bilgisayar lazım çünkü Xcode Windows’ta çalışmıyor. Kendim iOS’a oyun yayımlamadığımdan nasıl olurunu bilemiyorum.

  71. Bayram Uğurlu dedi ki:

    Heyzap Mediation ve unity ads ile reklam nasıl ekleyebilirim? Sitede dersi bulunan admob reklam ekleme gibi yapılabilen birşey mi?

  72. Barış dedi ki:

    Oyunumu artık 64 bit zorunluluğu gelince IL2CPP yaptım apk yı yüklemeyi başlattım fakat hala daha bu uyarıyı veriyor?

    Uyarı
    Bu sürüm Google Play 64 bit gereksinimi ile uyumlu değil

    Aşağıdaki APK’ler veya Uygulama Paketleri, 64 bit cihazlarda kullanılabilir ancak yalnızca 32 bit yerel koda sahipler: 24.

    Tüm sürümlerin, 1 Ağustos 2019 tarihinden itibaren Google Play 64 bit gereksinimiyle uyumlu olması gerekir.

    Uygulamanıza 64 bit ve 32 bit yerel kod dahil edin. Her cihaz mimarisinin yalnızca ihtiyaç duyduğu yerel kodu almasını otomatik olarak sağlamak için Android App Bundle yayınlama biçimini kullanın. Bu sayede, uygulamanızın genel boyutunu büyütmekten kaçınmış olursunuz.

  73. Barış dedi ki:

    Oyunum bilgisayarda çok yüksek fps ile çalışıyor ve oyunum 2 boyutlu kastıramayacak az kod olan bir oyun olmasına rağmen telefonda sadece 30 fps alıyorum ben neden telefonda 60 fps oynayamıyorum(en azından 60 fps)?Not:Bütün oyunlarımda bu saçmalık var, sanki oyunları 30 fps e sabitlediler durduk yere

    • yasirkula dedi ki:

      Oyunun başında Application.targetFrameRate = 60; yapmayı deneyebilirsiniz. Ayrıca Edit-Project Settings-Quality’den “V Sync Count”ın değerini değiştirmeyi de deneyebilirsiniz.

  74. Barış dedi ki:

    Leaderboard sistemi veya Achievement sistemini nasıl yapabilirim?

    • yasirkula dedi ki:

      Genelde Google Play Games Services kullanılıyor. Bunun için “unity google play games services lider tablosu” şeklinde arama yapabilirsiniz.

  75. Kadir Can Geyik dedi ki:

    merhaba hocam yaptıgım oyunun sadece yatay olarak açılması için ne yapmalıyım …

  76. Barış dedi ki:

    Yeni proje aç diyerek bomboş bir sahnede android e build almayı deniyorum fakat gradle i internal yapınca ancak build alabiliyorum. Fakat benim asıl build etmem gereken oyunumun olduğu projede gradle zaten olmuyor da internal yapıncada ”Unable to convert classes to dex format” diye bir hata alıyorum?

    • yasirkula dedi ki:

      “Unable to convert classes to dex format” çok genel bir hata mesajıdır, asıl hata mesajını konsoldaki hatalardan birinde bulabilirsiniz. Ardından o mesajı internette aratmanız lazım.

      • Barış dedi ki:

        CommandInvokationFailure: Gradle build failed.
        C:/Program Files/Java/jdk1.8.0_131\bin\java.exe -classpath “C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-4.2.1.jar” org.gradle.launcher.GradleMain “-Dorg.gradle.jvmargs=-Xmx4096m” “assembleRelease”

        Build completed with a result of ‘Failed’
        UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

        UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors
        at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x0021f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:187
        at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x0007f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:94

        Abi kusura bakma ingilizcem çok iyi değil de internetten sana zahmet 1-2 yere bakar mısın şu hatalar yüzünden o kadar emek verdiğim oyunumu yayınlayamayacağım 😦 Bu hataları normal gradle modda iken aldım.

      • yasirkula dedi ki:

        Bu hata mesajında da açıklayıcı bir şey yok, başka bir hata mesajı varsa onu kontrol edin. İnternetten kendiniz araştırma yapabilmek için de Chrome kullanabilirsiniz, sayfaları İngilizce’den Türkçe’ye çevirince (sayfada boş bir yere sağ tıklayarak) çoğu kısmı anlarsınız diye düşünüyorum.

  77. Emre dedi ki:

    Hocam merhaba, Ben unity 2018 kullanıyorum. Standard Assets kurdum ve Third person controller i kullanacaktım. Oyunu android versiyon yaptım ve kendi verdiği controlleri canvas a attım ama ekranda gözükmüyor.

    • Emre dedi ki:

      Bir de Hocam şu third person controller var ya w basınca koşuyor w+shift basıncada yürüyor. Normalde ters olması gerekiyor. Animasyonların yerini değiştirdim ama pek güzel olmadı. Kodlardan falan ayarlamak mümkün mü?

    • yasirkula dedi ki:

      Standard Assets veya Third Person Controller çok uzun süredir kullanmadım, nasıl çalışıyor açıkçası hatırlamıyorum. Animasyonların yerini değiştirmeden, sadece kodu düzenleyerek W+Shift olayını çözmeniz mümkün olmalı ama bunun haricinde yardımcı olamayacağım.

      • Emre dedi ki:

        Sıkıntı yok Hocam 🙂 cevap verdiğiniz için teşekkürler 🙂

  78. Alper dedi ki:

    bir hayatta kalma oyunu yapıyorum elime alabileceğim 3 tane silah olucak ama silahlar değiştiğinde mermi sayılarının, animasyon değişmesi vs. gibi silah özelliklerinin nasıl değişeceğini bilmiyorum yardım etme imkanınız var mı 😦

    • yasirkula dedi ki:

      Tüm sistem nasıl olur bilemiyorum ama her bir silahın animasyonları için ayrı birer Animator Override Controller kullanabilirsiniz; böylece silah animasyonları silahtan silaha farklılık gösterir. Mermi sayısı gibi şeyleri silah script’inizde public değişkenlerle halletmeye çalışabilir veya her silah için ayrı bir script/ScriptableObject oluşturmayı deneyebilirsiniz.

  79. byportakal dedi ki:

    merhabalar. hocam ben unity’i ilk defa indirip kurdum. yeni proje açtığımda bana bu hatayı verdi:

    Failed to resolve packages: The file [C:users\Yunus
    YiGiT\AppData\Local\Unity\cache\npm\packages.unity.com\.tmp\tmp-25369Zi2vNC96sj1\package\package.json]
    cannot be found. No packages loaded.

    A re-import of the project may be required to fix the issue or a manual modification of C:/Users/Yunus
    YİGİT/OneDrive/Belgeler/New Unity Project {2)/Packages/manifest.json file.

    Click on Retry to relaunch Unity and reopen your project.

    Click on Continue to launch Unity. Some or all packages may not be imported which may cause compilation
    errors.

    unity’ kayıt defterinden de tamamen silerek tekrar yükledim. ama sonuç aynı.

  80. Harun dedi ki:

    yasir abi basit bir şekilde karakter sistemi nasıl tanımlayabilirim ? (içinde 2 karakter olucak spriteları olucak 1.si main karakter oyun açıldığında herkeste olan 2. ise parayla satın alınabilecek).Yardım Edersen Çok Makbule geçer(Bunlar İçin market panel yapacağım için işin içine Biraz sprite sokmam gerekiyor birde).

    • yasirkula dedi ki:

      Mobil platformlarda oyun içi satın almalar için genelde hazır IAP (in-app purchase) pluginleri kullanılıyor. Benim bu konuda hiç tecrübem olmadığından bu konuda yardımcı olamayacağım. Dilerseniz “unity oyun içi satın alma” veya “unity IAP” şeklinde aramalar yaparak faydalı linkler bulabilirsiniz.

      • Harun dedi ki:

        Reis Demek istediğim orjinal parayla değil oyundan kazandığımız altın ile satın alma

      • yasirkula dedi ki:

        Bunun için veriyi internetteki kendi sunucunuza kaydedebilir, “Google Play Services Saved Games” servisini kullanabilir (kendim kullanmadım), PlayerPrefs kullanabilir (aralarında en güvensiz metot) veya BinaryFormatter ile veriyi binary formatında bir dosyaya kaydedebilirsiniz. PlayerPrefs ile BinaryFormatter’ın dezavantajı, kullanıcı oyunu başka bir cihaza yükleyince satın aldığı eşyaların oraya taşınmayacak olmasıdır.

  81. fatih dedi ki:

    100.000 doları geçersek ne olur ?

    • yasirkula dedi ki:

      Ücretli olan Unity Plus’a geçiş yapmanız gerekir. Eğer geçmezseniz ve bu durumdayken oyununuzu Unity’nin ücretsiz sürümü ile geliştirdiğiniz tespit edilirse, çok büyük olasılıkla Unity’nin hakkınızda dava açma hakkı olur.

  82. nickname dedi ki:

    unity 5 32 biti windows için indirdim ama kurulumu yaparken bilgisayar kapanıyor. Aynı olay cmd açılınca da oluyor bunla alakası olabilir mi ?

  83. anonim dedi ki:

    hocam unity 5 ile unity 3d arasındaki fark nedir

    • yasirkula dedi ki:

      Unity 5, Unity 3D programının bir sürümü. Buna benzer şekilde, Unity 2017 ve Unity 2018 gibi daha güncel sürümleri de mevcut.

  84. Yusuf dedi ki:

    https://play.google.com/store/apps/details?id=com.kAPPtan.crazyball
    bu uygulamadaki daire ve etrafındaki cisimin hareketini nasıl yaparız hocam

    • yasirkula dedi ki:

      Dışarıdaki çemberi yapmanın en kolay yolu, önce çemberi olmasını istediğiniz yere yerleştirip ardından çemberi daire gibi gözünüzde canlandırıp bu dairenin tam ortasında boş bir obje oluşturmak ve bu objeyi çembere parent olarak vermek. Artık bu objeyi döndürerek çemberi hareket ettirebilirsiniz. Top için ise çembere ve topa Bounciness’ı 1 olan bir Physics Material 2D verip topun Rigidbody 2D’sinin “Linear Drag”, “Angular Drag” ve “Gravity Scale”ini sıfırlayabilirsiniz.

      • Yusuf dedi ki:

        hocam top olayı tamamda çember olayını tam anlamadım maalesef

      • yasirkula dedi ki:

        – CemberParent
        — CemberObjesi

        Bu şekilde obje hiyerarşiniz olsun ve CemberParent, CemberObjesinin merkezinde yer alsın. Çemberi hareket ettirmek için CemberParent’ı döndürebilirsiniz.

  85. Mehmet Ali dedi ki:

    Hocam İyi Günler iki sorum olucak…
    1. 50 tane float değerini nasıl büyükten küçüğe sıralayabiliriim?
    2. internetten izlediğim hiçbir admob veya ads videolarından yararlanamadım.. bildiğiniz bir kaynak varmı?

  86. ahmet dedi ki:

    Hocam selamun aleyküm. Oyun içinde bir klavyem var. Metin alanına tıkladığımızda yanıp sönen dikey bir çizgi oluşturmak istiyorum. Türkçe adını tam hatırlayamadım. Input caret oluşturmak istiyorum. Nasıl yapılabilir şimdiden teşekkür ederim.

    • yasirkula dedi ki:

      Yanıp sönecek objeye loop eden bir animasyon verip bu animasyonda objenin renderer’ını açıp kapatabilirsiniz. Veya direkt Unity’nin UI-Input Field objesini de kullanabilirsiniz ve gerekirse canvas’ı World Space yapabilirsiniz.

  87. Barış dedi ki:

    Window>Rendering>Lightning Settings deki Realtime Lighting ve Mixed Lighting nedir? Bunları aktifleştirince unity de objelerin yerini oynatınca sağ altta bir yükleme gelip bekletiyor unity.

    • yasirkula dedi ki:

      Ben de çok bilmiyorum çünkü bu özellikleri kendim hiç kullanmadım; ama bildiğim kadarıyla konuşacak olursam:

      Mixed Lighting shadowmap oluyor, yani gölgeleri bir texture’a işleyerek gölge hesaplamalarından kurtulmaya yarıyor ancak sadece statik objelerde işe yarıyor. Bu seçenekte ışığın şiddeti veya yönü oyun esnasında değişmemeli.

      Realtime Lighting ise gölgelere etki etmiyor ama sadece sahnenin ışıklandırmasına etki edip daha gerçekçi bir ışıklandırma sağlıyor. Yine sadece statik objeler etkileniyor ama sahnedeki ışığın şiddeti veya eğimi değişince bir sıkıntı olmuyor.

      Bu iki seçeneği de kapatırsanız sağ alttaki bar artık çıkmaz.

  88. Serkan dedi ki:

    Merhaba hocam,
    Bir oyun geliştiriyorum ve bu oyunda PlayerPrefs ile bir takım değerler sakladım. Oyundan çıkıldığı zaman bir PlayerPrefs kaydının sıfırlanması gerekiyor.
    Kullanıcı eğer oyundan çıkmak için direkt mobil cihazının orta tuşunu kullanırsa bu kaydı nasıl sıfırlayacağımı bilmiyorum.
    Bu konuda yardımcı olabilir misiniz?
    Saygılar

    (Eğer derslerinizde anlattıysanız kusuruma bakmayın. Çok aradım ama bulamadım.)

    • yasirkula dedi ki:

      Oyundan çıkıldığı zaman sıfırlanması yerine oyun açıldığında sıfırlasanız aynı şeye denk gelmez mi?

      • Serkan dedi ki:

        Onu da yapmıştım da istediğim gibi olmamıştı. Neyse ki PlayerPrefs’e ihtiyaç kalmadan farklı scriptten kod çekerek de yapabileceğimi fark ettim. Yani bir sorun kalmadı. İlginiz için teşekkür ederim.

  89. yusuf dedi ki:

    hocam ben bir circular scroll kullanıyorum hazır olarak buldum fareyle kullanırken tek bir noltaya bastığımızda farenin tek bir konumu olması sebebiyle tıkla bırakta bi sıkıntı yok ama parmak biraz daha geniş bi alan kullandığı için tıkla bırakta scroll un x değeri değişiyor bunu nasıl engelleriz?

  90. Ahmet dedi ki:

    Hocam standard assets yüklerken sürekli crash bug yaşıyorum ne yapmam gerek

    • yasirkula dedi ki:

      Harddiskinizde yeterli boş yer olduğundan emin olun. İlaveten, dilerseniz Görev Yöneticisi’ni açıp Standard Assets’i yüklerken tam crash esnasında CPU veya RAM’in %100’e erişip erişmediğine bakın; belki sıkıntı bilgisayardadır. Aksi taktirde başka bir Unity sürümü kullanmayı deneyebilirsiniz.

      • Ahmet dedi ki:

        Harddiskimde yeterli yer var CPU %100’e erişmiyor.Bu arada kullandığım sürüm 5.6.6f2(32-bit)

      • yasirkula dedi ki:

        Daha güncel bir Unity sürümünde de deneyin derim. Belki artık Standard Assets eski Unity sürümlerini desteklemiyordur.

      • Ahmet dedi ki:

        Maalesef 32 bit i destekleyen en son sürüm bu.

      • yasirkula dedi ki:

        Unity’nin setup’ında hangi modülleri kuracağınızı seçerken (Android, WebGL vs.) Standard Assets de seçiliyordu sanırım; oradan kurarsanız Standard Assets’e Assets-Import menüsünden erişebilirsiniz diye tahmin ediyorum.

      • Ahmet dedi ki:

        Diğer asset leri yüklerken de aynı hatayı verdiğini fark ettim.Sıkıntı galiba bilgisayarımda.Gene de teşekkür ederim ilgilendiğin için.

  91. js dedi ki:

    İyi günler hocam. RightDown ve RightUp diye functionlar var ve bunlar pointerdown ve pointerup buton metodudur.Butona basınca Right=true çekince Right=false yapıyor.Aynı şeyler Left için de geçerli.Buton metodunun tek görevi bu.Buna göre aşağıdaki koddaki gibi hem right hem left i yazınca kod çalışmıyor.Sadece right veya sadece lefti yazınca sorunsuz çalışıyor.İkisi farklı function farklı bool ne çakışıyor çözemedim.Tam istediğim gibi çok smooth bir kontrol sistemi oldu ama dediğim gibi ikisini birden yazınca çalışmıyor lütfen yardım hocam.

    //aracın y rotasyonu belli bir açıya gelince tekerler düzeltilerek dönüş sınırlanır//
    var Roty:Vector3 = transform.eulerAngles;
    while( Roty.y > 180 ){
    Roty.y -= 360;
    }
    while( Roty.y 20||Left==true&&Roty.y<-20){
    steerInput=Mathf.Lerp(steerInput,0,4*Time.deltaTime);
    }
    if(steerInput==0){
    transform.rotation.y=0;
    }

    ///RIGHT///
    //Sağa basınca 20 dereceye kadar döner bırakılınca whellcolliderler sıfırlanır//

    if(Right==true&&Roty.y80){
    LeftSkidmark();
    }}
    if(Right==false){
    steerInput=Mathf.Lerp(steerInput,-20,4*Time.deltaTime);
    }
    if(Right==false&&Roty.y-20){
    steerInput=Mathf.Lerp(steerInput,-20,2*Time.deltaTime);
    if(currentSpeed>80){
    RightSkidmark();
    }}
    if(Left==false){
    steerInput=Mathf.Lerp(steerInput,20,4*Time.deltaTime);
    }
    if(Left==false&&Roty.y>0){
    steerInput=0;
    }

    • yasirkula dedi ki:

      Siz Right’a basarken Left boşta olacağı için, o esnada Right==true’ya ilaveten Left==false kodu da çalışıyor ve büyük ihtimalle bu iki kodun yaptığı şeyler birbirini sıfırlıyor. Sadece her iki tuşa da basılı değilse bir şey yapmak istiyorsanız, Left==false&&Right==false koşulu kullanın.

      • js dedi ki:

        O tür bütün olasılıkları da ekleyerek denedim olmadı birbirini engelliyor hocam.Yapmak istediğim şey dönüş olayını gerçekçi olması için her türlü wheelcolliderle yapmak.Bu işlemi yön tuşlrı bırakıldığında aracın transform.rotation.y’sini yavaşça 0’a eşitleyince de oluyor ama çok yapay duruyor kasanın süspansiyonu rigidbody fizik etkisi bozuluyor.Aslında şöyle birşey lazım hocam transform.rotation.y yi direkt script ile değiştirdiğimiz gibi wheelcollideri de değiştirmek mümkün mü?
        Mesela benim aracın ön tekerlerin dönüş sistemi şöyle

        wheels[0].steerAngle = maxangle*Time.deltaTime * steerInput;
        wheels[1].steerAngle = maxangle*Time.deltaTime * steerInput;

        Mesela right left tuşları bırakıldığında hiç function bollean olayına girmeden
        aşağıdaki gibi manuel olarak wheelcollider açısıyla nasıl oynayabiliriz varmıdır bir yöntemi?Tuşlar basılı değilken veya basıp çekince wheelcolliderler her zaman kendi rotasyon y sini sıfırlasın z ekseninde dümdüz olsun.Bu kodu denediğimde hata vermiyor ama bişeyde olmuyor.Bu dediğim bişeyi youtubda görmüştüm quaternion ile yapıyordu ama şimdi bulamadım video silinmiş galiba.

        wheels[0].transform.rotation.y=Mathf.MoveTowards(wheels[0].transform.rotation.y,0,1);
        wheels[1].transform.rotation.y=Mathf.MoveTowards(wheels[0].transform.rotation.y,0,1);

      • yasirkula dedi ki:

        Dediğiniz gibi bir sistem nasıl yapılır bilmiyorum. Youtube’da gördüğünüz kod ise belki şöyle bir şey olabilir:

        wheels[0].transform.rotation=Quaternion.RotateTowards(wheels[0].transform.rotation,Quaternion.identity,1);

  92. Onur dedi ki:

    Merhaba hocam update fonksiyonu dışında bir fonksiyonda yaptığım işlemler teker teker görünmüyor.Fonksiyondan dönen sonuç geliyor ekrana ama ben aşamaları da gelsin istiyorum nasıl yapabilirim?

    • yasirkula dedi ki:

      Coroutine kullanabilirsiniz. Örneğin şu koddaki AsamaAsamaIslemYap fonksiyonunu çağırabilirsiniz:

      void AsamaAsamaIslemYap()
      {
      	StartCoroutine( AsamaCoroutine() ); // AsamaCoroutine coroutine'ini başlat
      }
      
      IEnumerator AsamaCoroutine()
      {
      	Debug.Log( "islem 1" );
      	yield return null; // 1 frame bekle
      	
      	Debug.Log( "islem 2" );
      	yield return null; // 1 frame daha bekle
      	
      	Debug.Log( "islem 3" );
      	yield return new WaitForSecondsRealtime( 1.5f ); // 1.5 saniye bekle
      	
      	Debug.Log( "islem 4" );
      }
      
  93. yusuf dedi ki:

    hocam ben bir nesnenin instantie ile klonunu alıyorum.ananesneyi sürükleyebilmek için box collider özelliği vardı ama klonun sabit kalması lazım bunun için box collider özelliğini nasıl kapatırım.

    • yasirkula dedi ki:

      Objenin fizik motoru tarafından hareket ettirilmesini istemiyorsanız, Rigidbody’sinin isKinematic’ini true yapabilirsiniz. Aksi taktirde tam demek istediğinizi anlayamadım çünkü Box Collider ile objenin sabit kalması arasında doğrudan bir bağlantı hatırlamıyorum.

  94. yasirkula dedi ki:

    Edit-Project Settings-Editor-Version Control Mode’un “Visible Meta Files” olduğundan emin olup projeyi tekrar Mac bilgisayarınıza atmayı deneyebilirsiniz. Eğer git veya svn kullanıyorsanız bu değişiklik otomatik olarak git’e yansır ve yeni bir commit attıktan sonra sorun düzelir diye düşünüyorum.

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

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.