Kayıtlar

2020 tarihine ait yayınlar gösteriliyor

Popüler Yayınımıza da Göz Atabilirsiniz

Unity Quit Game With Phone Back Button SOLVED!

Resim
      How to exit game or application on Android , Ios or any devices by pressing back button on phone's? This is the topic today.  In this way, we can exit the game, close the menu or change the scene and return to the main menu. 1. Create A New Script and Open          We will write our code on Update function. Escape key means back key for Android, Ios phones.     void Update ()      {                 if ( Input .GetKeyDown( KeyCode .Escape))                   {                           Application .Quit();                   }      }          Or If you want close a menu,  [ SerializeField ] GameObject your_menu;     void Update ()     {               if  ( Input .GetKeyDown( KeyCode .Escape))                 {                         your_menu. SetActive ( false );                 }     } Or change your scene         SceneManager .LoadScene( "MainMenu" ); 2. Add your script at any Gameobject on your scene. 3. And Test On Your Phone

Unity Nasıl Yüklenir En Güncel Eksiksiz

Resim
 Oyun motoru olarak kullandığımız Unity3D programının 2020 en güncel ya da istediğimiz farklı sürümünü bugün birlikte adım adım kurulumunu gerçekleştireceğiz. İlk olarak UnityHub programını yüklüyoruz. Bu program sayesinde, farklı Unity sürümlerini bir arada kullanabiliriz.  https://unity3d.com/get-unity/download Yukarıdaki bağlantıdan Download Unity Hub yazılı yeşil kutucuktan UnityHub'ı indirebiliriz. İndirdiğimiz programı çalıştıralım. Lisans sözleşmesini kabul ederek. Yükle ye basalım ve kurulumun bitmesini bekleyelim. Kurulum tamamlanınca, programı çalıştıralım. Açtığımızda bu tarz bir ekran ile karşılaşacağız. Sağ üst kısımdaki profil tuşuna basarak giriş yapalım . Eğer hesabımız yok ise aynı yerden bir hesap oluşturalım. Daha sonra bu ekrana tekrar gelip  sizde açık olacak olan ACTIVITE NEW LICENSE tuşuna basalım Burada Eğer ki Unity ile daha önce uğraşıp yıllık kazancınız $100.000 geçiyorsa Unity Plus or Pro seçeneğini seçip paralı sürümünü kullanmanız gerekiyor. Ama böyle

Unity ile SpriteAtlas Kullanımı Sprite Texture Paketleme

Resim
 Unity SpriteAtlas kullanarak oyunumuzda boyut azaltma , performans düzenleme gibi işlemleri yapacağız. Her kullandığımız texture için arka planda çizim çağrısı gerçekleştirir. Sayı arttıkça daha yoğun ağır gerçekleşir bu işlem , oyununuzun performansını da azaltır. Fps düşmesine neden olur. SpriteAtlas ile ise toplu textureleri bir texture de toplayarak , çağrı sayısını düşürmüş oluruz. Bu da performansa ciddi katkısı olacaktır. Ayrıca büyük texturelerinizi SpriteAtlas yardımı ile bir texture de toplamak , apk boyutunuzda kazanç elde etmenizi sağlayacaktır. Peki SpriteAtlas nasıl kullanılır bundan bahsedelim?  Project menüsünden Create diyerek bir SpriteAtlas oluşturalım. Oluşturduğunuz SpriteAtlası seçtiğinizde, Inspector Menüsü üzerinden ayarlamalarını görebiliriz.  Objects For Packing kısmında + ve - tuşları var bu tuşlar yardımı ile paketimize bir texture, sprite veya bir klasör ile toplu ekleyebiliriz.    İstediğimiz dosyaları ekledikten sonra , Tight packing seçeneğinizi kap

Unity ile Arkaplan Rengini Sürekli Değiştirmek Color.Lerp

Resim
          Unity' de Image , Sprite veya kamera rengini yumuşak , hafif geçişler yaparak değiştirmeyi ve güzel farklı bir görünüm yapıp elde etmeyi sizlere göstereceğim. Bu işlem için Color.Lerp ' den faydalanıyoruz. Peki Color.Lerp nedir? Ne işe yarar? Nasıl kullanırız? Bunun için örnekler göstereceğim ayrıca size scripti de ücretsiz olarak paylaşacağım.      Color duzenlenmis_renk = Color .Lerp(mevcut_renk , hedef_renk , deger); Deger değişkeni 0 ile 1 arasında bir float değer olmalı. Eğer sürekli bir renk değişimi istiyorsanız. Update , FixedUpdate veya bir IE numerator içinde çalıştırabilirsiniz.     mevcut_renk  =  Color .Lerp(mevcut_renk , hedef_renk ,  deger); Bu şekilde yaparak da belli rengi sürekli yumuşatabilirsiniz. Bu fonksiyona göre mevcut renginiz ve hedef renginiz arasında belirlediğiniz renge göre bir renk belirliyor ve onu düzenlenmiş renk olarak uyguluyor. Peki nasıl yapıyor?   Bir sayı doğrusu düşünelim. Mevcut rengimize 0 , hedef renge 1 diyelim. Eğer değer

Unity Time.DeltaTime Nedir? AÇIKLAYICI | UNITY Eğitim

Resim
Update ve FixedUpdate gibi tekrar eden fonksiyonlarda Time.deltaTime kullanılır peki niçin , ne amaçla kullanıyoruz?  Biliyoruz ki her bilgisayarda aynı frame performansını anlamamız pek mümkün değildir.  Bir bilgisayarda 60 fps değeri , diğerinde ise 30 fps değeri ile oynadığımızı düşünelim. Update fonksiyonumuz birinde saniyede 60 kere çalışırken diğerinde 30 kere çalışacaktır. Bu yüzden burada yapmış olduğumuz tekrarlı matematiksel işlemler , karakterimizin hareketi farklılıklar gösterecektir. Bir bilgisayardaki karakter ile yarışın sonuna gelmişken diğeri ile daha yeni yarısında olduğunuzu düşünün. İşte bu durumu ortadan kaldırmak için Time.DeltaTime kullanıyoruz. Bu sayede her 2 frame arasındaki zaman hesaplanıyor. Yaptığımız işlemi bu değer ile çarpınca her 2 bilgisayarda da aynı konumda oluyoruz. Peki nasıl oluyor?  Şöyle farz edelim ki; A bilgisayarında her frame arası sabit bir şekilde 1 sn olsun B  de ise 2 sn olsun. A'da 2 frame gösterilmişken B'de ise 1 k

C# ile List İçinde Değer Arama ve Bulma Find ve FindAll Komutu

Resim
C# derslerinde koleksiyon yapısı olan List'in dizilerden farklı olarak içindeki bir değeri ya da değer aralığını birden çok değeri arayıp bulmayı sizinle göreceğiz. Find ve FindAll komutlarından yararlanacağız. İsterseniz kendi oluşturmuş olduğunuz bir class değerini de arayabilirsiniz. Referans olarak using System.Collections.Generic; using System.Linq; bu referans kütüphaneler kullanıyoruz. Eğer ekli değilse class dosyamızın en üst satırlarına ekleyebiliriz.                List < string > texts = new List < string >();             texts.Add( "RehaStudio" );       Mesela yukarıda bir texts adında List koleksiyonu oluşturduk ve "RehaStudio" adında bir eleman ekledik.                 string deger = texts .Find( value => value == "RehaStudio" ); Burada list ifademize Find komutunu yazıyoruz ve içine ise bir şart ifadesi girebiliriz. value => diyerek bir değer tanımladık ve sonrasında şartımızı giriyoruz. If yapısı olarak düşünebilirsin

C# Yılan Oyunu Hazır Bitmiş Proje Kodları İndir

Resim
  C# ile geliştirmiş olduğumuz Yılan oyunun h azır bitmiş kodlarını aşağıdaki linkten ücretsiz indirebilirsiniz . Bitirme proje, oyun projelerinizde kullanabilirsiniz kısıtlama olmadan. Eğer benimle birlikte oyunun yapımını görmek isterseniz aşağıdaki videodan izleyebilirsiniz. Yorum atıp , abone olarak bana destek olabilirsiniz. Projenin Bitmiş Hali:  https://yadi.sk/d/ijatP22a3Bg8GU Duvardan Geçen Yılan Bitmiş Hali:  https://yadi.sk/d/kvBAbXiT3HWydS

Unity Transform Nedir ? Özellikleri | TR

Resim
Transform, Unity ortamında Gameobject'lerin konum , rotasyon , büyüklük ölçeği ve parent-child ilişkisini taşımaktadır. Bu yayında Component olarak özelliklerinden bahsedeceğiz. Script olarak özelliklerine, detaylarına ise buraya tıklayarak ulaşabilirsiniz. Gameobject'den transform componentini kaldırmamız olası değildir. Her objenin kendine özgü transform componenti vardır. Property değerlerine bakalım. Position: Unity ortamında objenin x , y , z eksenlerinde konumunu gösterir. Rotation:  Unity ortamında objenin x , y , z eksenlerinde rotasyonunu gösterir. Scale:  Unity ortamında objenin x , y , z eksenlerinde ölçeğini gösterir. Obje değerinin büyümesi o eksende daha büyük ölçekli görünmesini sağlayacaktır. Bu özellikleri sayesinde biz bir objenin nerede bulunduğunu daha rahat ulaşabiliyoruz. Eğer Hieararchy menüsünden objemize çift tıklarsak da objenin Scene menüsünde konumunu görebiliriz. Değerleri düzenlemek için değerinin yazdığı metin aralığını kullanabilirsiniz veya X ,

Unity Loading Yükleniyor Ekran Gelişmiş Basitçe Nasıl Yapılır?

Resim
        Loading ekranının oyunlar için görsellikten öte çok daha fazla anlamı bulunmaktadır. Bir sonraki scene'e geçtiğimiz zaman buradaki verilerin yüklenmesi zaman alır. Eğer ki oyunda biraz büyükse ana ekranda bir süre beklemesi kullanıcı üzerinde negatif etki yapabilir. Belli bir süreyi aşması durumunda ise yanıt vermiyor durumuna geçebilir. Hatta oyun crash verip kapanabilir. Android platformda size ANR olarak yansıyabilir. İnternette yükleme ekranı olarak mantıksız sadece görsel amaçla kullanılan loading ekranları görüyoruz. Biz bugün doğru bir gelişmiş, ileri düzey Loading ekranı yapımını öğreneceğiz. Haydi başlayalım o zaman. İlk önce Hierarchy menüsünde boş bir GameObject oluşturalım. İsmine Loading adı verelim. Kendisine Inspector menüsünden bir Canvas Componenti ekleyelim. Yani Canvasın alt objesi olarak değil . Boş bir obje oluşturup Canvas Componenti ekleyerek yapıyoruz. Buradaki Sort Order değerini 1 yapalım. Bunun nedeni normal bir Canvas objesi eklerseniz Sort

C# İle Adam Asmaca Oyun Yapımı? Nasıl Yapılır?

Resim
 C# oyun yapımı derslerinde Adam Asmaca oyunu yapımını öğreneceğiz. Basit bir görünüm kolay ve anlaşılır şekilde sizlere aktaracağım. Bu serinin tüm videolarını aşağı bıraktığım Youtube üzerinde yayınlamış olduğum seri ile rahatça erişebilir ve dinleyebilirsiniz. Ayrıca oyunun bitmiş halini de aşağıdaki linkten erişebilirsiniz. İndirme bağlantısı :  https://yadi.sk/d/J9VbCaCTrYJf2

Unity Android Apk Aab Almak Arm 64 bit Google Play de Yayınlamak

Resim
Google Play'de yayınlamak için Unity ile Android apk aab dosyası Arm 64 bit işlemci için nasıl alacağımızı bu yayınımızda anlatacağım. Önerim Unity versiyon olarak 2019 ve üzerini kullanmanızdır. 2019 öncesi versiyonlarda android build alırken daha fazla Gradle build hatalar ile karşılaşılmaktadır. Ama 2019 sonrası versiyonlarda fazla gerçekleşmiyor. Olanlar ise belli bir yöntem ile çözülebiliyor. Ama eski versiyonlarda sürüme göre uyumsuzluklar nedeni ile çözmek her zaman mümkün olmamakta ,ancak versiyon değişikliği gerekiyor. Ben bu dersimizde 2019.2.4 versiyonu kullanıyorum. Adım 1: Unity Hub Açalım ve Yüklemeleri Edinelim Unity Hub açıldıktan sonra aşağıda gösterdiğimiz resimdeki gibi sol menülerden Installs kısmını seçelim. Kullandığımız versiyonu bulup sağ üst kısmındaki üç noktaya tıklayalım. Add Modules seçeneğine tıklayalım. Eğer bu seçenek aktif olarak yoksa 2019'dan eski bir versiyon kullanıyorsunuz demektir. Eski versiyon için gerekli olan JDK, NDK ve Androi

Unity SerializeField ve HideInInspector Nedir, Ne İşe Yarar ve Nasıl Kullanılır?

Resim
Bu yayınımızda SerializeField , HideInInspector  nedir , ne işe yarar bize nasıl bir fayda sağlıyor. Nasıl kullanılır bunlardan bahsedeceğiz. Biliyoruz ki public bir değişkenimiz varsa bunu Inspectordan görüp , değer atayabiliyoruz. Ayrıca diğer scriptlerden de erişim sağlayıp değer müdahale edebiliyoruz. Ama private kullanırsak ne inspectordan ne de başka bir scriptten müdahale edilebiliyor işte burada SerializeField dediğimiz yapı devreye giriyor. Bize şöyle bir avantaj sağlıyor. Inspectordan bu değeri değeri değiştirip atayabiliyoruz ama başka scriptlerden müdahale edemiyoruz. Yani ne public ne de private. Arasında bir erişim sağlıyor. bize. Peki nasıl kullanıyoruz.  [ SerializeField ] GameObject man; Değişenimiz başına köşeli parantezlerimizin arasına SerializeField yazarak kullanabiliriz. Eğer tam tersini istersek Inspector'da gözükmesin ama başka scriptlerden erişebilelim. Protected yapısı da bu isteğimizi gerçekleştrime de yeterli değil. O zaman işte  HideInInspector kull

Unity null reference exception object reference Hatası Çözümü %100 Kesin

Resim
Unity null reference exception object reference not set to an instance of an object hatası çözümü nasıl olur bu yayınımızdan bundan bahsedeceğiz. İlk olarak hatayı daha iyi anlayıp nedeni kavrayacağız. Null reference hatası objeye herhangi bir değerin atanmadığını gösteriyor yani bir bakıma obje hiçbir şey taşımayan boş olarak görülüyor. Hiç değer taşımıyor. Bu yüzden de istediğimiz işlem yapılamıyor. Mesela resimde gözüken hataya bakalım ve anlamaya çalışalım. NullReferenceException: Object reference not set to an instance of an object Tutorial.Die () (at Assets/Tutorial.cs:19) Tutorial.Start () (at Assets/Tutorial.cs:11)      Burada sizinkilerde daha çok yazı olup karışık görünebilir. Asıl önemli olan siz kendi kullandığınız scripte ait olan satırları bulun . Zaten hepsi genelde alt alta  oluyor. Geri kalanlar Unity'nin kendi scriptleri ve bizim işimiz yok.     Hatada Tutorial adlı scriptin 19. satırında Die fonksiyonunda ve 11.satırda Start fonksiyonunda problem olduğu beli

Unity'e Dosya Atamama - Yükleyememe Problemi

Resim
Unity üzerinde sık karşılaşılan problemlerden biri de herhangi bir ses, resim vb. dosyaları Project menüsüne sürükleyip yükleyememek. Aslında bu sorunun çözümü çok basit, nedenini kaldırdığımız zaman çözülecektir.  Unity'yi yönetici olarak çalıştırıyorsunuz demektir. Yönetici olarak çalıştır seçeneğini kaldırdığımız zaman düzelecektir. Peki bu durumu nasıl düzeltiriz? Hem Unity üzerinde hem de mevcutsa Unity Hub üzerinde düzeltiyoruz. Unity.exe nin yüklü olduğu konumu bulalım.  Bende;  C:\Program Files\2019.2.4f1\Editor bu yolun içinde sizde benzer olabilir , farklı konumda da olabilir.  Unity.exe'yi bulamazsanız masaüstünde kısayolu varsa  , bu kısayola sağ tıklayıp D osya Konumunu aç diyerek, Unity.exe dosyasını bulabiliriz. Eğer hala bulamıyorsanız. Unity.exe olarak aratıp bulabilirsiniz. Dosyayı bulduktan sonra sağ tıklayıp Özellikler diyelim. Uyumluluk sekmesine gelelim Aktif olan Yönetici olarak çalıştır seçeneğini kaldıralım Uygula ve Tamam dedikten sonra sorun çözül

Sıfırdan Oyun Yapımı Serisi

Resim
Merhaba bu serimizde bir oyunu sıfırdan başlayıp reklam ve uygulama içi satın alma dahil Play Store üzerinde yayınlamayı size göstereceğim. Bu seride hiçbir şey bilmek zorunda değilsiniz , sahip olmanız gereken 2 şey Unity ve Visual Studio'nun yüklü olması. Sonrasında hem Unity kullanmayı öğrenip , componentlerin mantığını , yazdığımız kodların mantığını , hataları nasıl değerlendirip çözeceğimizi öğreneceğiz. Hemen sen de bu seride bize katıl ve öğrenmeye başla  Oyun Assetleri :  https://yadi.sk/d/gxcFw5TCiwq6VA