Yasir Bey merhaba. Unity oyuna admin panel eklenebilir mi? nasıl? benim amacım oyuna güncelleme göndermeden admob reklamları panel üzerinden değiştirebilmek. Bununla ilgili yardımcı olursanız, siteniz için yazı hazırlarsanız sevinirim. Mutlu Yıllar.
Unity Remote Config diye arama yapabilirsiniz. Bu konuda şu anda ders planlamıyorum ama ilginize teşekkürler.
iyi günler yasir bey;
ben bir uygulama yapıyorum bu uygulama için telefonun sıcaklık ve barometre (yükseklik sensörü) verisine ulaşmam gerekiyor bunun için de çok araştırma yaptım fakat ne tr kaynaklarda ne asset store de ne yabancı kaynaklarda ne youtubede kaynak bulamadım nasıl yapılacağına dair.
bunu nasıl yapabilirim bu sensör verilerine nasıl ulaşabilirim.
“android java get temperature” ve “android java get barometer data” şeklinde arama yapıp ardından kendi Unity plugin’inizi yazabilirsiniz. Kendi plugin’inizi yazmanıza yardımcı olabilecek bir ders: https://yasirkula.com/2015/10/14/unity-androide-eclipse-adt-ile-basit-bir-plugin-yazmak/
Merhaba iyi çalışmalar.
Unity üzerinde bir oyun geliştirmeye çalışıyorum. ScreenManager scripti açtım ve burada nereye basınca hangi ekranlar açılacak, kapanacak, neye tıkladığımda hangi animasyonlar olacak gibi şeyleri atıyorum. Her şey bağlantılı olduğu için yeni script açmak istemiyorum çünkü orada tekrardan anaekran hangisi, menü ekranı hangisi tanıtmam gerekecek. Bu sebeple aynı scrip üzerinde birçok public değişkeni oldu. private yapmak istemiyorum. Haliyle unity üzerinde 30 40 adet belki public ataması görünüyor. Bu normal midir? Kapsamlı bir oyun düşünüyoruz böyle olması normal mi sizce bir yerde yanlışlık mı yapıyoruz.
Eğer normalde bunları biz düzene nasıl sokarız. Yani inspector üzerinde 40 tane public görmek istemiyorum bunları böyle collapse gibi açılır pencereler yapamaz mıyız veya yanlışımız varsa öneriniz nedir.
Zaman zaman çok fazla public değişken olması mümkün, ben sıkıntı görmüyorum. Düzene sokmanın en kolay yolu, bazı değişkenlerin başına [Header(“Bir Grup”)] attribute’ü eklemek. O değişkenlerin hemen üstünde Header’da yazan metin gözükecek ve böylece kısmen gruplara ayrılacak. Açılır pencere için ya kendiniz editör script’i yazmalı ya da hazır bir asset kullanmalısınız. Asset Store’daki en popüler asset Odin Inspector ama ücretsiz pek çok alternatife “unity inspector attributes github” şeklinde arama yaparak da erişebilirsiniz.
Merhaba unityde bitirmek üzere olduğum koşu oyununda takıldığım bir nokta var umarım bana güzel bir fikir verebilirsiniz. Sorunum şu karakter kontroller bir nesneye çarptığı zaman oyun sona eriyor ama atlama eğilme gibi durumlarda bazen nesneye ufak bir temas yapıp devam ediyor yada kalıyor. Tökezleme gibi yani.. Karakterin her bir uvzuna farklı colliderlar ekledim bir çok yol denedim ama tam istediğim gibi olmuyor. Mesela subway surfde trenlerın üstünden atlarken tam trene atladığın anda trenin ucuna çarparsan otomatik olarak seni üste koyup devam ettiriyor. Bunu nasıl yapabilirim sizce teşekkürler.
Subway Surfers’da muhtemelen karakterde Capsule Collider vardır. Bu collider’ın üst ve alt yüzeyleri küre şeklinde olduğu için, temas anında obje otomatik olarak yukarı yükselir. Temas kodunda da temas edilen noktanın karakterin ayaklarına olan mesafesine bakıp bu değer belli bir değerin altındaysa game over yapmıyorlardır. Sizin durumunuzda nasıl olur bilemiyorum
Öncelikle iyi günler. Ben bir alım-satım oyunu yapıyorum. Pazarlık sistemi yapmak istiyorum fakat bir türlü yapamadım. İnternetten de araştırdım fakat yok. Yardım eder misiniz acaba nasıl pazarlık sistemi yapabilirim.
Benim de tecrübemin olmadığı bir konu maalesef.
Peki ya nasıl aldığım ürünü envanterimde listeleyip sattığım ürünü o listeden çıkarabilirim?
Görsel bir envanterden bahsediyorsanız, bunun için GitHub veya Asset Store’daki hazır asset’leri kullanarak işinizi hızlandırabilirsiniz. Backend’den bahsediyorsanız, en basitinden envanterdeki tüm objeleri bir List’te tutabilir ve bu List’i kaydedebilirsiniz (serialization).
Merhaba,
Unity store da bulunan size ait native share eklentisini kullanıyorum bir projemde,
Whatsapp kodları yorum satırı olarak geldi, onları aktif ettim.
ios platformunda whatsapp seçeneği gelmiyor nasıl yapabilirim, veya bununla ilgili bir dersiniz var mı bulamadığım için buradan yazdım.
Teşekkür ederim.
iOS’ta sadece WhatsApp’ta paylaşmak desteği yok ama biraz kodu düzenleyerek listedeki diğer uygulamaları kaldırmak mümkün: https://forum.unity.com/threads/native-share-for-android-ios-open-source.519865/page-4#post-4011874
Merhabalar. 2D bir oyun yapmaya çalışıyorum ve yeni başladım. Bir sorunla karşılaştım ve çözümünü bulamadım. Sorunum bir karaktere hareket scripti ve ateş scripti atadım ve düzgün bir şekilde çalıştı unity içine döndüğümde karakteri hareket ettirdiğim bölümde ateş ettiğim görünüyordu fakat main kamerada görünmüyordu. Hatta sol tarafa giden ateş topları görülüyor sağ taraftakiler görünmüyor. fotoğraflar var isterseniz atabilirim.
Sprite Renderer’ın Sorting Layer ve Order in Layer değişkenleri, hangi sprite’ların diğerlerinin üzerine çizileceğini belirler. Aynı Sorting Layer’daki objelerden Order in Layer’ı yüksek olanlar, diğerlerinin üzerine çizilirler.
Merhaba, uzun süredir aşamadığım bir sorunum var fikir verirseniz sevinirim.
3D sahnede Plane oluşturarak rpg modunda obje sürükleme yapıyorum. (Script içinden Plane plane)
Ayrı bir script ilede touch fonksiyonları ile kamerayı hareket ettiriyorum.
Dokunduğum objenin üstünde popup çıkartıyorum. sorunum şu UI dokunmalarının algılatamıyorum butona basınca plane e dokunmuş olduğum için popup’ı kapatıyorum. bu ayrımı yapabilmemin bir yolu var mı?
Şöyle bir script kullanarak tekli bir obje üzerinde kontrol sağlayabiliyorum ama tüm UI objeleri için bunu yapabilmem gerekiyor.
public bool checkCanvasTouch=false;
public void OnPointerDown(PointerEventData data)
{
checkCanvasTouch = true;
}
public void OnPointerUp(PointerEventData data)
{
checkCanvasTouch = false;
}
Diğer scriptlerden;
FindGameobject fonksiyonu ile eriştiğimde başka bir objedeki, yine bu koda eriştiğinden doğru sonucu alamıyorum.
Teşekkür ederim.
EventSystem.current.IsPointerOverGameObject fonksiyonunu kullanabilirsiniz. Mouse input’u için parametre girmek gerekmezken, Touch input’u için fingerId’yi parametre olarak girmeniz lazım.
Çok teşekkür ederim, touch için parametre istediğini bilmiyordum. parametre verince çalıştı.
Merhaba, rica etsem Unity için Scrollview’de yerel reklam (native) veya banner reklamı Scrollview’de gösterme içeren bir makale hazırlayabilir misiniz.
Referans;
Unity 3D Oyunlarınıza Unity Ads Reklamları Eklemek – Resimli Anlatım
Native reklamlar bildiğim kadarıyla Unity Ads’te bulunmuyor, o yüzden bu mümkün değil. Banner reklamları ScrollView’da göstermek de mümkün değil maalesef.
Hocam selamlar büyük bir problemim var
Tasarladığım ve ilk kez Google Playde yayınladığım oyunum da çok ciddi bir problem var.
oyunun eski sürümlerinde bu problem olmamıştı ama Yılbaşı diye yeni tema yapmış ve yayımlamıştım.
oyun içinde banner ve geçiş reklamları da var.
internetle oynadığınız zaman(oyunumda internete ihtiyaç yok düz bir zeminde hareket 3d bir platform oyunu ) oyunda her hangi bir problem olmuyor, fakat interneti kapatıp oyuna girdiğimiz zaman oyuna ilginç şeyler oluyor. kimi telefonlarda oyun başlayıp saniyeler içinde nesneler bozuluyor ve absürt hal alırken kimi telefonlarda oyun başlayıp 20-30 saniye içinde sıfırdan başlıyor. oyun genel olarak menü ve game sahneden oluşuyor internet kapalıysa kendi kendine menüden oyuna atıyor ve oyunu başlatıyor ve sorun devam ediyor.
dediğim gibi internet açınca her hangi bir problem olmadan çalışıyor.
daha net görebilmeniz için oyunun google play linkini bırakıyorum yardım ederseniz çok sevinirim.
Tüm SceneManager.LoadScene fonksiyonlarınızın başına Debug.Log koymanızı ve hangi log’un konsola basıldığını kontrol etmenizi öneririm. Konsolu görmek için: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Merhabalar. Oyun yapımı hakkında uzun süredir bir araştırma içerisindeyim fakat kendimi tatmin edici bir cevap bulamadım. O yüzden size soruyorum. Genel olarak Java bilgisine sahibim yani programlama konusunda hakim sayılırım. Fakat oyun yapımına nereden başlamalıyım bilmiyorum. Java oyun yapımı için pek kullanılan bir dil değil, biliyorum. Zaten C#’a alışmamda uzun sürmez, syntax farkına alışırım 3-4 günde. Önemli olan nereden başlamam gerektiği. Oyun yapımı hakkında hiçbir bilgim yok. Sizin sitenizde olan tutoriallar ile başlasam olur mu? Bu ilk arayüz için olan tutorialdan başlayıp devam etsem nasıl olur? Bu konu hakkında bilir kişi olarak sizden bilgi almak istiyorum. Yardım ederseniz sevinirim.
Şu dersimde çizdiğim yol, olası seçeneklerden birisi; ancak bahsi geçen dersler oldukça eskidiği için verimi biraz azalacaktır. İngilizce’niz varsa, Unity’nin web sitesindeki dersleri öneririm: https://learn.unity.com/. Tabi Youtube ve Udemy’de de “unity beginner” şeklinde aramalar yaparak da çok sayıda derse erişebilirsiniz ve ardından bu derslerden popüler olanlarına göz atabilirsiniz.
Merhabalar,
Benim sorum daha çok kariyer ile ilgili. Ben normalde inşaat mühendisliği okuyorum. Yazılım alanına Unity üzerinden geçiş yaptım. Yani oyun programcılığı yapmak istiyorum ve Unity öğrenmeye başladım. Yalnız benim sorum sektörde para kazanabilmek mümkün mü ? Yani Türkiye’de bu sektör sanırım yaygın değil (sadece kendi gözlemim doğru olmayabilir aydınlatırsanız sevinirim). Tecrübeli bir oyun programcısı olarak bu konuda ki görüşleriniz neler ? Örneğin siz bağımsız game developer olarak geçiminizi nasıl sağlıyorsunuz ? Çünkü benim kafamda şuan game developer olarak iki şekilde para kazanma yöntemi mevcut. (yanılıyorsam lütfen düzeltin) ;
1) Bağımsız oyun geliştiricisi olarak oyun üretip mobil platformlara koyup satılmasını beklemek(ki bence bu ihtimal çok zayıf)
2) Bir şirkete bağlı olarak çalışmak (bu da Türkiye’de ne durumda sizce? benim gördüğüm pek fazla firma mevcut değil.)
Yorumlarınız gerçekten önemli. İlginize teşekkür ediyorum. İyi çalışmalar
Ben bir şirkette çalışıyorum. Tek başınıza bir oyun yapıp onu bir publisher ile çalışmadan store’a koyarsanız, oyunun internette tanıtımını/pazarlamasını çok iyi yapmadıysanız oyununuzun tutma ihtimali zayıf. Bence freelance işlerle daha çok para kazanabilirsiniz ama freelance tecrübem yok onu belirteyim.
Şirketlere geçecek olursak, LinkedIn’de sürekli yeni startup firmaların ilanlarını görüyorum. Özellikle hypercasual alanında epey firma var ancak çalışma koşulları ve maaşları konusunda bilgim yok. Bu firmaların yetiştirmek üzere Unity’ci alacaklarını düşünmüyorum, sizi şu an çoğunlukla stajyer olarak kabul ederler gibime geliyor. Full time çalışmak için biraz CV kasmanız gerekecek. Bence hypercasual için en iyi CV kasma yöntemi ise, piyasadaki popüler hypercasual oyunların temel mekaniklerini kendi başınıza klonlayıp, oluşturduğunuz bu projeleri GitHub’ınıza koymak. Ardından CV’nizin başında GitHub’ınıza link koyabilirsiniz. Yaptığınız projelerde kodunuzun temiz olmasına dikkat edin.
Size ulaşabileceğim e-mail veya telefon numarası bırakabilir misiniz ?
umutcandan9697@gmail.com
Merhaba. Bir sorunum var ve hiç yardım alamadım ve sayfanızı gördüm. Umarım göz atarsınız
Game manager scriptimi yazarken her seferinde bu hatayı alıyorum.
NullReferenceException: Object reference not set to an instance of an object GameManager.Start () (at Assets/GameManager.cs:20)
Kodlarım aşağıdaki gibidir.
Burada bir diğer sorunum ise text i “using UnityEngine.UI;” kodu elle girdim çünkü Microsoft Visual Studio Text imi görmedi.
Elle yazmam sorunu çözer mi yoksa başka bir şey mi yapmam gerekir?
Yabancı kaynaklarda da bu sorunu yaşayan çok kişi gördüm ama bir cevap yoktu.
Kafayı yedim yiycem:) Neyi görmüyor olabilirim? Aslında c# ı öğrenmek ve kod yazmak konusunda oldukça ilerlemeye başladım ama böyle bir sorunda takılı kaldım. Öğrenmek istiyorum ve yurt dışında yaşıyorum. Maalesef bir kursa gitmem de mümkün değil. Online derslerden tırnaklaya tırnaklaya öğrendim ne lazımsa.
Şimdiden teşekkür ederim.
Saygılar.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GameManager : MonoBehaviour
{
public Text mainText;
public Button option1;
public Button option2;
void Start()
{
mainText.text = “Giriş Metni!”;
option1.GetComponentInChildren().text = “Birincil Buton”;
option2.GetComponentInChildren().text = “İkincil Buton”;
}
Text için “using UnityEngine.UI;” eklemeniz lazım, yani elle ya da otomatik olarak eklemiş olmanızda bir sıkıntı yok. Aldığınız hatanın çeşitli sebepleri olabilir: Inspector’dan component’in public değişkenlerine değerlerini vermemiş olabilirsiniz, script’i başka bir objeye de yanlışlıkla vermiş olabilirsiniz veya Button’larınızda Text child objesi yer almıyor olabilir. Örneğin mainText’in değerini kontrol etmek için, “Debug.Log(mainText, this);” satırını Start’a ekleyebilirsiniz. Eğer konsolda Null yazarsa, değişkenin değeri atanmamıştır. İkinci parametre olarak verdiğimiz this, konsolda o log’a tıklayınca log’u çıkaran objeyi Hierarchy’de seçmeye yarar. Bu şekilde, hangi objede o değerin Null olduğunu bulabilirsiniz.
Hızlıca geri dönüş yaptığınız için çok teşekkür ederim. Önerilerinizi deneyeceğim. Çok ama çok teşekkür ederim. Eğer çözemezsem ve sorun hala devam ederse değerli vaktinize tekrar salça olurum 🙂 Uygun olursanız cevap dönmeniz beni çok mutlu eder. Olmazsa da canınız sağolsun. Saygılarımla.
İyi akşamlar.
Hocam iyi akşamlar.
Benim yardıma ihtiyacım var. Bir projemde dropdown var. Bu dropdownda dil kodlarım mevcut, options kısmında bulunuyor. Kodlarım çalışıyor options kısmında dili değiştirince değişiyor geri butonuna bastıktan sonraki gelen ekranda yazılarımızın dili değişmiyor.
Projeyi açıp kapatınca dil değişmiş oluyor.
Kodlarımızı uptade fonksiyonun içine yazınca doğru çalışıyor ama çok kasma yapıyor.
Yani geri butonuna basınca arka planda bir kere yenlemesi gerekiyor bunu nasıl yapabilirim ?
Genelde dil plugin’lerinde bunun için bir event bulunur ve dil değiştiğinde bu event çağrılarak, arayüzün dilinin tekrar güncellenmesi sağlanır.
Hocam iyi akşamlar aynı sorun bendede var dil için unity assetsten ücretsiz language ayalarını ımport ettim text mesh pro kullandığım için kodları buna göre tmp ye göre uyarladım kodlar çalışıyor arkadaşta olduğu gibi ama ana menü ve oyunun başladığı 2, sahneye geçmeden diğer yazılar değişmiyo sadece dropdownın bulunduğu bölümdeki textler değişiyor event bahsetmişssiniz kodlama kısmında o kadar iyi değilim plugin diye bir yerde bulamadım detaylı şekilde açıklama yapabilir misiniz? Rica etsem
İyi akşamlar.
Admob ile ilgili ilginç bir problem yaşıyorum.
Ödüllü reklam kullanıyorum,reklam ayarlarında ödül değerini “1” olarak ayarladım fakat 10’ar 10’ar puan veriyor.
Nerede hata yapıyor olabilirim acaba ?
Reklam kodlarını sizin siteden aldım bu arada.
Reward parametresinin Amount değişkeninden faydalandığınız halde ve değişikliğin ardından bir süre beklediğiniz halde böyle oluyorsa, maalesef bir bilgim yok.
Tekrar merhaba,şöyle bir şey geldi aklıma,Reklam ID orjinal ama reklam kodu olarak ödüllü reklamın örnek kodunu kullanıyorum deneme amaçlı ondan kaynaklı bir durum olma ihtimali var mı ? (Bu sebepten gibime geliyor,1 defa denesem ban yemem herhalde :))
Evet olabilir. Kendi reklam kimliğinizle test etmek için de bir yöntemden bahsetmiştim, ondan faydalanın derim. Ancak dersin başında da bahsettiğim gibi, artık AdMob konusunda daha fazla destek vermiyorum.
2d Karakterim var ve sağa sola hareket ettiriyorum. Sağa giderken sağa baksın , sola giderken sola baksın istiyorum. Benim karakter yön değiştirince kafa aşşağı gidiyor. Yardımcı olabilir misiniz?
Dönerken Rotation’ı değiştirmek yerine, localScale’in x değerini -1 ile çarpın.
Merhaba,
Unity mobil “runtime” da Seçili GameObject’i FBX olarak alma şansım var mı ?
https://github.com/KellanHiggins/UnityFBXExporter şundan başka bir kaynak bulamadım.
teşekkürler.
Bu konuda bilgim yok maalesef.
Merhaba kolay gelsin.
Bir konuda yardımınıza ihtiyacım var.
Unity 2019.4.13 versiyonunu kullanıyorum,5-10 tane küp’ün instantiate edildiği bir oyunda bile telefonlarda kasma yapıyor,bunun sebebi acaba Unity versiyonundan kaynaklanan bişey mi yoksa ben mi bir hata yapıyorum anlayamadım.
Grafik ayarlarını düşürdüm,kamera zaten solid color,bu oyunun en düşük özellikli telefonda bile rahat rahat oynaması lazım,sahnede toplasan 20 tane küp oluşuyor.
Standard shader özellikle eski mobil cihazlarda performansı düşürür. Optimizasyon dersimde bunun gibi başka bilgiler bulabilirsiniz: https://yasirkula.com/2016/06/19/unity-optimizasyon-onerileri/
Hocam merhaba, ben basit bir oyun yapıyorum düz zemin üzerinde giden bir küp var ben bu küpü market sistemi ile değiştirmek istiyorum. Mesala yeşil küpü sarı, mor gibi renklerle değiştirmek. Bunun seçimini de oyuncuya yaptırmak istiyorum fakat bir türlü konu hakkında bir yazı veya video bulamadım. Yardımcı olur musunuz?
Bu market, oyun içi parayla çalışacak diye tahmin ediyorum. Aksi taktirde “unity in app purchase” şeklinde arama yapmanız lazım. Oyun içi para ile alınan eşyaları bir yere kaydetmeniz lazım. Bunun için kullanacağınız yöntem size kalmış. En basitinden PlayerPrefs kullanabilirsiniz ama güvenliği en az tercih bu olur. Kırmızı küp için PlayerPrefs.SetInt("KirmiziKup", 1); fonksiyonunu çalıştırırsınız, daha sonra da PlayerPrefs.GetInt("KirmiziKup") == 1 ile kırmızı küpün satın alınıp alınmadığına bakarsınız. Daha güvenli bir save formatı için BinaryFormatter kullanabilirsiniz (unity binaryformatter diye arayın).
Aynı kullanıcı ismi ile bir daha yorum atarsanız artık yorumunuzu cevaplamayacağım.
Merhabalar kolay gelsin.
Benim yardım isteyeceğim konu şu;
Yapmış olduğum projeme admob ile reklam eklemek istiyorum. Geçişli reklam koymak istiyorum projem oyun, ve bu oyun 3 defa tekrar oyna butonuna tıklanınca rekalmın gelmesini istiyorum. Bu 3 defa saydırma ve reklam gösterme kodlarında yardımcı olurmusunuz ?
3 defa için public static int tekrar = 0; değişkeni oluşturup her seferinde bunu 1 artırabilir ve tekrar % 3 == 0 ise reklam gösterebilirsiniz. AdMob desteğimi kestiğim için reklam kodları konusunda yardımcı olamayacağım.
Reklam kodlarına gerek yoktu teşekkür ederim. Yardımınız için
Hocam merhaba
Bir haftadır çözemediğim ve araştırıp bulamadığım bir konu var. Swerve mechanic kullanarak bir duvar boyamam lazım ve bu duvarın ne kadarının boyalı olduğunu da yüzde olarak göstermem lazım. Google playde bu tarz uygulamalar yeni yeni çıkıyor. Restorasyon uygulamaları olarak. Arabayı boyama veya evi temizleme gibi oyunlar bu mekanikle yapılıyor. Fakat eskiden yaptığımız bir mataryeli sahnede klonlayarak yaptığımız işlem gibi değil onda zaten ne kadar boyadığımızın yüzdelik verisini alamıyoruz. Bunu sadece yazılımla yaptıklarını da düşünmüyorum. Unity 2019 lts nin yeni bir eklentisi ile alakalı olabilir mi? Sizin paylaşımlarınızı takip ediyorum sürekli hiçbir kaynaktan bulamayınca sizinle paylaşmak istedim sorunumu.
Teşekkürler
Bence boyama oyunlarında genel olarak şu asset kullanılıyor, % bulmayı da destekliyor: https://assetstore.unity.com/packages/tools/painting/paint-in-3d-26286. Ücretsiz alternatifleri “unity paint github” diye arayarak bulabilirsiniz ama bunlarda % bulmak var mıdır bilmiyorum. Kendiniz % bulmak için Texture2D’nin GetPixels32 fonksiyonunu çağırıp, döndürülen renklerin ne kadarının hedef renge eşit olduğuna bakabilirsiniz.
Paylaştığınız assestteki duvarı boyama kısmı aslında tam da benim aradığım şey hocam. Fakat 500 tl gibi bir miktar veremiyorum maalesef 🙂 Bir de kendim ayarlamak istiyorum. Dediğiniz gibi GetPixels32 komutuyla yaparsam sizce de ciddi performans problemi oluşturmaz mı? Fakat görünen o ki başka çare de yok. https://ibb.co/WWPCGvP bu linkteki gifte aslında net olarak gösteriyor yapmam gerekeni. Bunlarda GetPixels32 fonksiyonunu kullanıyorlar sanırım. Başka seçenek yoksa GetPixel32 komutunu araştıryorum. Bilgilendirmeniz için çok teşekkür ederim.
İyi akşamlar 🙂
Belki linkteki oyun da paralı/parasız hazır bir asset kullanıyordur. Texture’un boyutuna göre GetPixels32 yavaş olabilir. O fonksiyonu her frame çağırmayarak süreci biraz optimize edebilirsiniz.
Merhabalar Süleyman Bey,
Sitenizi uzun zamandır takip ediyorum çok faydalı bilgiler paylaşıyorsunuz,başarılar dilerim.
Şirketim için bir uygulama ve oyun geliştiriyorum,veritabanına ve bazı api lere ihtiyacım var.
Bunun için Firebase kullanmak istiyorum fakat sorun şu ki;
Firebase kurulumunda sorun yaşıyorum,eksik birşey mi yapıyorum yoksa bir uyumsuzluk veya bug mı var bilemedim.
1- Firebase consol’da projemi oluşturuyorum sdk’yı indiriyorum player settings’den package name vs. entegre ediyorum.FirebaseDatabase paketini import ediyorum.
Veri tabanı işlemlerine başlamak için;
DatabaseReference referans = FirebaseDatabase.DefaultInstance.RootReference;
kodunu yazınca,play tuşuna basatığım anda Unity tamamen çöküyor kapanıyor.
Teşekkürler.
Firebase kullanmadığımdan sorun şundandır diyemiyorum ama Unity’nin neden çöktüğünü görmek için crash log’larına bakabilirsiniz. Unity çökünce gelen diyalogda “Send Bug Report” dedikten sonra aşağıda birkaç .log dosyasının konumunu görürsünüz. O dosyaların içinde Unity’nin neden çöktüğü yazar. Ardından o hatayı google’da “firebase unity crash” kelimeleri ile birlikte arayabilirsiniz
Selamlar, sitenizden bolca faydalanıyorum.
Tesadüfen bulduğum ve çok ihtiyaç duyduğum pivot noktası değiştirme assetiniz harika. Asset store da bulunan bu assetiniz hakkında Türkçe kaynak bulamadım nasıl kullanılacağı ile ilgili Türkçe bir kaynak var mı ?
İlginiz için teşekkür ederim. Pivot asset’imle ilgili ders yazmadım; yazmayı düşünmüyorum çünkü bana çok ihtiyaç duyulan bir ders gibi gelmedi.
Yasir hocam merhaba
Bir kaç yıl önce bana game maker’da oyun yapmayı öğretmiştin
Mobil oyun yazmak için gam maker yeterli olurmu ?
GameMaker Studio 2 deneme sürümü yükledim önerilerin doğrultusunda satın alacağım.
tavsiyelerini bekliyorum.
GameMaker kullanalı çok çok uzun zaman oldu o yüzden böyle ciddi bir konuda satın alın veya almayın diyemem. GameMaker ile yapılmış mobil/PC oyunların ufak bir listesini şuradan görebilirsiniz: https://www.yoyogames.com/showcase
Yasir hocam,
cevabın için teşekkür ederim.
Soruyu şöyle sorayım, Gamemaker veya Unity’de yapılan oyunlar mobil ortamlar için (Android, IOS işletim sistemlerinde) oynanabilirler mi? Hangisi mobil oyun için daha uygun?
Hem Unity hem de GameMaker’da oyunu Android ve iOS’a çıkarabiliyorsunuz. Unity ücretsiz ama GameMaker konusunda bilgim yok. Bence hangi programı seçeceğinize karar verirken, şu 3 şeyi göz önünde bulundurun:
– 3D oyun yapacaksanız Unity bu konuda kesinlikle daha avantajlı
– GameMaker ücretli ise bu ücreti göz önünde bulundurun
– Üstteki maddelere göre hâlâ GameMaker da olur Unity de olur diyorsanız, hangi programı daha rahat kullanabiliyorsanız onu tercih edin
Selamlar. Sizlere bir şey sormak istiyorum eğer yardımcı olursanız sevinirim. Basit bir top oyunu üzerinde çalışıyorum ancak bir konuda takıldım. Topun bir nesne aldığında hızlanmasını sağlayabildim ancak 3 saniye içinde bu etkinin sonlanmasını istiyorum. Bir türlü beceremedim.
if (other.gameObject.tag == “SpeedDebuff”)
{
speed = 5f;
hizText.text = “HIZ 5X”;
Destroy(other.gameObject);
if (speed == 5f)
{
Timer -= Time.deltaTime;
if (Timer == 0f)
{
speed = 3f;
hizText.text = (“HIZ 3X”);
}
}
}
nasıl bir yol izlemem gerekiyor ?
Yasir çok iyi site, bunun benzerini makine öğrenmesi için yapmayı planlıyoruz.
Teşekkür ederim 😀 Yapacağınız sitede Unity ile ML kullanımından bahsedecekseniz, tahminimce Unity’nin ML-Agents plugin’ini kullanacaksınız. Site açıldığında linkini paylaşırsan sevinirim 🙂
iyi günler hocam Yanlışlıkla Yapılan Tıklamaları Teşvik Eden Düzen – Beklenmedik Şekilde Başlatılan Geçiş Reklamları şeklinde politika ihlali alıyorum ne yapsam düzeltemedim geçiş reklamlarını tamamen kaldırdım sadece banner var şimdi ama gine de düzelmedi 6-7 sefer itiraz gönderdim ama sorun hala devam ediyor diyorlar. ne yapmalıyım sizce.
Geçiş reklam kimliklerini tamamen kaldırdıysanız aslında böyle bir sorun yaşamamanız lazım. İsterseniz geçiş reklam kimliklerini AdMob web sitesinden silmeyi de deneyebilirsiniz.
ordan da sildim zaten hocam geçiş reklam birimlerini.
Bu raddede benim de aklıma bir şey gelmiyor.
Unity Ads hesabımızda kullanılanilir 120 dolar var ama otomatik ödemeyi hala aktif hale getiremedik. Nasıl aktif hale getiririz acaba yardımcı olur musunuz?
Unity Ads dersimde bahsettiğim bilgiler dışında benim de bilgim yok maalesef. İsterseniz Unity Ads’in kendi dokümantasyonunu da inceleyebilirsiniz: https://unityads.unity3d.com/help/resources/revenue-and-payment
İyi günler herkese
yaptığım oyunda save sistemi olarak .bin formatını kullanacağım. Mobilde .bin dosyasını hangi dosya dizinine kaydetmem lazım acaba?
Application.persistentDataPath’e kaydedebilirsiniz ancak oyunu silince save dosyası da silinir.
Teşşekkürler alttaki yorumu yok sayabilirsiniz sizin yorum gözükmüyordu ben yazarken
Silindiğinde gidiyor orada sıkıntı yok. Peki güncelleme yaptığımda gider mi?
Bildiğim kadarıyla gitmiyor.
Ya da otomatik dizin atamayı sağlayan bir kod varmı?
Faydalı içerikler. Teşekkürler.
Dostum merhaba öncelikle yazdığın her şey için kendim ve arkadaşlarım adına teşekkür ederim. Unity için tek Türkçe kaynak sen olabilirsin umarım bu işe devam edip bizi yarıyolda bırakmazsın 🙂 Şimdi bir sorunum var eğer vakit bulabilirsen bana yardımcı olmanı dileyeceğim. Hazır bir android oyununa reskin yapıp google playde paylaştım. Ancak leaderboard eklemek için oyuna buton eklemeyi denedim. Butonu ekliyorum unity ekranında ve scene bölümünde görünmesine rağmen apk build alınca adeta yok oluyor buton. Mevcut bir butonu da copy-paste yapınca da yine build alınca görünmüyor. Yardımcı olursan çok sevinirim günlerdir çözemedim.
Butonun veya parent objelerinden birinin Tag’ının EditorOnly olmadığından emin olun. Butonun canvas objesinin Render Mode’u “Screen Space – Overlay” değilse, bir de “Screen Space – Overlay” deneyin. Ardından butonun anchor’larını 0.5 yapmayı deneyin. Bunlar işe yaramazsa, logcat ile bir hata alıp almadığınıza bakın ve isterseniz Remote Inspector ile oyun esnasında Hierarchy’i kontrol edip bir eksiklik var mı bakın.
Benim play console hesabım banlandı. Başka hesaplardan da hesap açamıyorum. Nasıl hesap açabilirim?
Aynı IP adresi ile hesap açarsanız yine banlanabilir. Aklıma gelen tek yöntem VPN kullanarak hesap açmak ancak büyük ihtimalle hesaba daima VPN ile girmek zorundasınız, VPN’siz girince IP’niz tespit edilip hesabınız yine banlanabilir. Tabi tedbir için mail adresi olarak yeni bir mail kullanmalı ve hesabın 25$ ücretini farklı bir banka hesabı ile ödemelisiniz. Geçmiş olsun.
Teşekkür ederim.
Unity ads hesabımda şuan 140 dolar var ama 60 doları bu ay kazandığım için daha gözükmüyor ödeme profilinde yani şuan 80 dolar gözüküyor. ayın 1 inde de para yattığına göre ayın 1 inde benim profili güncelleyip mi atarlar parayı yoksa öbür ayı beklemek zorunda mı kalırım 100 dolar olmadığı için?
Bu kadar detaylı bilmiyorum ama bence ayın 1’inde hesabınızda ödemeye hazır miktar olarak 140 dolar gözükürse ödemeniz yapılır, yoksa sonraki aya sarkar.
hocam yaptığım oyun play storea koymak istiyorum ama artık önerilen api seviyesinin 29 olmasını istiyorlar unityde önerilen api leveli 29 yaptığımda bu api levelinin bende olmadığını yüklemem gerektiğini söylüyor yüklemeye çalıştığımda ise https://hizliresim.com/DIzjBZ bu hatayı veriyor.sdkları ayrıca kurup unitye gösterdim bu seferde unity komple build almamaya başladı.28 ve altında hiçbir sıkıntı yok ama onuda play console kabul etmiyor
Ben Android Studio’nun SDK Manager’ını kullanıyorum. Unity Hub’dan indirilen hazır SDK’i kullanıyorsanız, o nasıl güncellenir bilmiyorum. Android Studio veya başka bir yerden API 29’u indirince build hatası alıyorsanız, bu build hatasını Google’da aramanızı öneririm.
googleda yazanlar hep başka yerden indirmeyi söylüyor ki indirdimde ama çalışmıyor yinede teşekkürler
Hocam isterseniz birlikte uygulama geliştirebiliriz. Aklımda çok çılgın fikirler var. Bir tane uygulamam 1 ay içinde 6000 indirme almıştı. ama sizin oyunlarınız 2 yıliçinde 5000 indirme almış.
Ben başka projelerle uğraşıyorum ama teşekkürler.
Puanımız sıfır olunca oyundan çıkıp tekrar girince puanımız yine 25 oluyor. Ama puanımız 1 olunca çıkıp girdiğimizde bir kalıyor.
Hocam bu sorunu nasıl çözerim?
Emin olun bilmiyorum ama sanki bir sorun yaşayınca direkt bana yazıyormuşsunuz gibi hissetmeye başladım. Biraz kendiniz deneme-yanılma yapın, Google’a bakın. Bu konuşmayı daha önce de yaptım yanlış hatırlamıyorsam, insaf artık.
Google play’de uygulama veya oyunlarınız var mı?
Yakın zamanda çıkmış uygulamam yok ama şimdiye kadar yaptıklarım şunlar: https://play.google.com/store/apps/developer?id=S%C3%BCleyman+Yasir+Kula
peki şundan olabilir mi?
Please consider upgrading to the Packman Distribution of the Unity Ads SDK. The Asset Store distribution will not longer be supported after Unity 2018.3
UnityEngine.Advertisements.Advertisement:Initialize(String, Boolean)
UnityAds:InitAds() (at Assets/scripts/UnityAds.cs:106)
UnityAds:b__12_0(Boolean) (at Assets/scripts/UnityAds.cs:37)
d__20:MoveNext() (at Assets/scripts/UnityAds.cs:131)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
Unity 2018.3 ve sonrasını kullanıyorsanız Unity Ads’i Asset Store yerine Package Manager’dan import etmeyi deneyebilirsiniz. Daha önceki sürümlerde mecburen Asset Store’dan import ediyoruz. Ben dersi yazarken Asset Store sürümü düzgün çalışıyordu, şu anda değişen bir şey var mı bilmiyorum. Mutlaka logcat ile oyun esnasında bir hata alıp almadığınıza bakın: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Hocam stack overflow’da sürümü güncelleyince düzeliyor diyorlardı. O yüzden olabilir mi?
Mümkün. Bana sormadan kendiniz de deneyebilirsiniz, en kötüsü yaptığınız değişikliği geri alırsınız 😀
hocam böyle bir hata alıyorum. sanırım bu yüzden reklamlar çalışmıyor:
Failed getting available Android API levels. Make sure your android sdk tools version is 25 or higher and you have internet connection.
System.Threading.ThreadHelper:ThreadStart()
Unity’de Player Settings’e girince bu hatayı bazen ben de alıyorum. Bundan kaynaklanmamalı.
Hocam bu reklam gösterme sorunu sdk’lerden kaynaklanıyor olabilir mi?
Bence o da olasılıklar dahilinde.
hocam unity de resimleri nasıl kod ile parçalara bölebilirim? Bir kaç tane bitmap ile bölme gördüm ama unity içinde bitmap kullandığımda hata veriyor. Eğer bölünmüyorsa kod ile dosya içlerine nasıl erişebilirim
Eşit parçalara bölecekseniz şu plugin’deki TextureOps.Slice fonksiyonu işinize yarayabilir. Bir dosyayı kod ile okumak için File.ReadAllText veya File.ReadAllBytes fonksiyonları bulunmakta.
https://www.mediafire.com/file/smrri5pui5tmgp7/20200808_125635.jpg/file
Hocam burada yazan yere ne yazmalıyım?
Dosyayı direkt önizleyebileceğim bir yere (hizliresim gibi) yüklerseniz sevinirim.
Merhaba. Ben hazır vaktim varken YouTube üzerinden unity derslerine bakıyorum da. Eğer becerebileceğim gibi bir şeyse udemy’den kurs falan alıyım diyorum. Sizin dosyaları da inceleyeceğim aynı zamanda. Ama daha ilk dakikadan patladım.. denemeyi codecanyon üzerinden aldığım bir oyun üzerinde yapiyim dedim, import – custom package diyince hiç bir dosya görünmedi unitynin açabileceği. Bunu nasıl bulabilirim? Teşekkürler.
Aldığınız dosya zip ise, içindeki dosyaları boş bir klasöre çıkarıp o klasörü File-Open Project ile açmanız lazım. “.unitypackage” ise mutlaka içindeki dosyalar gözükür, gözükmüyorsa konsolda konuyla alakalı hata mesajları olması muhtemel.
Hocam sa pipe puzle tarzı oyun yapıyorum acil bana bi yöntem fikrri verirmisiniz win değerini nasıl yapıcam 2d borular var tıklayınca 90 derece dönen cs yazdım tamam orası, başlangıçtada rastgele dönderiyorum orasıda tamam ama oyun nasıl kazanılcak fikir verin colliderler in hepsi birbirine değince gibi bişey olurmu olsa bile kodu lazım email bildirim açıyorum yardım acil
Takıldığınız noktalara şu hazır asset’ten bakmanızı öneririm: https://assetstore.unity.com/packages/templates/packs/2d-pipe-puzzle-starter-kit-71018
Selamun Aleyküm yasir kardeş ben unity de farklı bir hata almaya başladım yardım edebilir misin?
Aleykümselam aldığınız hata nedir?
Ben btk akademi’den unity eğitici oyunlar programına katıldım.Orda ki hoca ile yaptığım oyunda
“ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index”
Hatası ile karşılaşıyorum.
Örneğin 2 elemanlı bir array’in sadece 0 ve 1. index’lerine erişebilirsiniz, -1 veya 2. index’ine erişmeye çalışınca bu hatayı alırsınız.
Bir de hocam DOTween güvenliği ile ilgili hata almaya başladım.Normal hatalara da benzemiyor.
“DOTWEEN ► SAFE MODE ► DOTween’s safe mode captured 1 errors. This is usually ok (it’s what safe mode is there for) but if your game is encountering issues you should set Log Behaviour to Default in DOTween Utility Panel in order to get detailed warnings when an error is captured (consider that these errors are always on the user side).
– 1 missing target or field errors”
Hatası ile karşılaştım.
Genelde bu uyarı, bir DOTween animasyonu çalışırken sahne değiştirince ortaya çıkıyor, animasyonun oynadığı obje yok olduğu için uyarı geliyor. Bu uyarıyı isterseniz yoksayabilirsiniz çünkü zararsız. Ama boş yere çıkmasın istiyorsanız, sahne değiştirmeden önce DOTween.KillAll(); fonksiyonunu çağırabilirsiniz.
Ama şöyle bişey var ben oyunun içersinde bulunan sayıları Random.Range(); ile belirledim de oyunun ortasında bazenleri bu hatayı veriyor ama bazenleri ise hiç hata vermiyor ben bunu nasıl düzeltebiliriim istersen kodu paylaşayım.
int rastgeleDeger = Random.Range(1, 13);
bolumDegerleriListesi.Add(rastgeleDeger);
butonaBasildimi = true;
bolenSayi = Random.Range(2, 11);
dogruSonuc = bolumDegerleriListesi[kacinciSoru];
kacinciSoru = Random.Range(0, bolumDegerleriListesi.Count);
bolunenSayi = bolenSayi * dogruSonuc;
Bence kacinciSoru satırını bir üst satıra taşımayı deneyin.
puan += 1;
PlayerPrefs.SetInt(“Puan”, puan);
Gold.text = puan + “”;
if (puan >= 25)
{
puan = 0;
PlayerPrefs.SetInt(“Puan”, puan);
}
Hocam puanımız 25 olduğunda uygulamadan çıkınca puanımız sıfırlanıyor ama puanımız 25’ken butona basınca sıfırlamasını istiyorum. Nasıl yapabilirim?
En son kaydedilen puanı oyunun başında PlayerPrefs.GetInt(“Puan”) ile çekip puan değişkenine atmayı unutuyor olabilirsiniz.
Yani hocam puanımız 25 ken uygulamadan çıkınca sıfırlamasını istemiyorum.
Dediğim şeyi yaptığınız halde sıfırlanıyorsa, PlayerPrefs.SetInt(“Puan”, puan);’tan sonra bir de PlayerPrefs.Save()’i çağırın. Hâlâ sıkıntı devam ediyorsa sebebini bilemiyorum.
Bana yardımcı olabilecek birilerini tanıyor musunuz?
Bu çok spesifik bir konu, benim bu konuda tanıdığım birisi yok. Facebook gibi sosyal platformlardaki oyun geliştirici gruplarına mesaj atarak oralardan birilerini bulmanızı öneririm.
Hocam şöyle bir c# script yazabilir misiniz?: 25 puanımız olduğunda butona basınca input fieldda yazan texti benim roblox grubumdan configure group>revenue>payouts>add payout recipient kısmına yazıp ok tuşuna basıp 0 yazan yere de 1 yazıp göndermesini ve puanımızı sıfırlamasını istiyorum.
Bu beni aşıyor.
Hocam share butonu nasıl ekleyebilirim? Hazır script var mı?
Şu derse bakabilirsiniz: https://yasirkula.com/2018/06/04/unity-android-sosyal-medyada-icerik-paylasma/
Hocam merhabalar, Dört İşlem matematik oyunu yapıyorum. Switch case kullanarak kodları yazdım. Şu an güzel bir şekilde çalışıyor sorularımız random geliyor. Şunu yapmak istiyorum: bir texte dogru yaptıkça bir ekle yanlış yaptıkça bir ekle diye komut verdim ve çalışıyor ben bu değerin otomatik olarak (oyuncu butona basmasın) o veri hep saklansın ve oyundan çıkıp girse bile tekrar görünsün istiyorum. Sadece bir sil butonumuz olsun ve o şekilde sıfırlansın istiyorum. Playerprefs kullanacağım sanırım ama nasıl olacak edecek bilemiyorum. Denedim int değerini stringe dönüştüremiyormuş böyle bir hata aldım, UI.Text hatası aldım. Bir el atar mısınız rica etsem çok mutlu olurum 🙂 [Bir de çıkartma işlemimizde ilk sayının ikinci sayıdan büyük olma şartını switch case de nasıl yapabiliriz]
Değerin kaydedilmesini istediğiniz zaman (mesela eşittir tuşuna basınca) PlayerPrefs.SetInt("SonDeger",intDeger); PlayerPrefs.Save(); fonksiyonunu kullanabilirsiniz. Oyunun başında (Awake veya Start fonksiyonunda) ise, intDeger = PlayerPrefs.GetInt("SonDeger"); kodunu çalıştırıp ardından bu değeri arayüzdeki Text’inize atayabilirsiniz.
En sonda bahsettiğiniz durum için bence switch-case’de çıkartma işleminin olduğu case’e bir if ekleyin.
Hocam roblox diye bir oyun var. Ben o oyunda grubumda olan kişilere uygulamam aracılığıyla 1 robux göndermek istiyorum ve bunun otomatik olmasını istiyorum. Hatta bazı siteler böyle yapıyor. Siz de bana bilginiz varsa öğretir misiniz?
Bu konuda bilgim yok maalesef.
Tamam hocam. Yine de teşekkürler.
Hocam butona basınca linkteki web sitesine gitmesini istiyorum. Nasıl yapabilirim?
Application.OpenURL fonksiyonunu kullanabilirsiniz.
Hocam birisinin puanı 100 olunca butona bastığında benim telefonuma input field’da yazılan textin mesaj olarak gelmesini istiyorum. Nasıl yapabilirim?
Eğer yanlış anlamadıysam, 100 puan alıp ardından bir butona basan her bir oyuncu için bir çeşit bildirim almak istiyorsunuz. SMS gelsin istiyorsanız, bu konuda hiç bilgim yok. Push notification da bu konuda işinize yaramaz sanırım çünkü push notification sadece size değil, tüm oyunculara bildirim gitmesini sağlayan bir sistem. Benim önerim Unity Analytics gibi bir analitik kullanmanız veya ücretsiz bir MySQL sunucu bulup, bu veriyi o veritabanına yollamanız.
Hocam services kımındaki ads bölümündeki advanced yazan yerde enable built-in ads extencion yazıyor. Onun işaretlemediğimde oyunumu build edebiliyorum ama reklamlar her telefonda gösterilmiyor. Onu işaretlediğimde build edemiyorum. Bu sorunu çözerseniz çok memnun olurum.
Hocam cevabı başka hiçbir yerde bulamadım. Sizin yardım edecğinizi düşünüyorum.
Services’tan Ads’i açmanıza gerek yok diye biliyorum; reklamların her cihazda gözükmemesinin sebebi başka bir şey olmalı. Logcat ile bir hata mesajı alıp almadığınıza bakıp, o hata mesajını internette aratmanızı öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Hocam emin misiniz? Logcat kullanmayı bilmiyorum.
Derste logcat’ten bahsettiğim için özellikle dersin linkini attım.
Hocam sizin Unity Ads scriptiniz her telefonda çalışır mı sizce?
Unity Ads’in dokümantasyonundan faydalandım, ben çalışmasını beklerim.
Cevabına ulaşamadığımız sorularda son olarak sitenize uğruyorum. Her cevabınız için teşekkür ederek meşgul etmek istemiyorum. Bu sefer verdiğiniz ve vereceğiniz cevaplar için hepsi adına teşekkür etmek istedim. Türkçe içerik olarak birçok kişiye fayda sağlayan bir arşiv olarak görüyorum sitenizi. Başarılar
İlginiz için teşekkür ederim.
Yasir Bey kolay gelsin.Daha önce de sorduğum soruma cevap verdiğiniz için teşekkür ederim şimdiden.Bu sefer sıkıntım şu oyunum google playde yayınlandı, maili de geldi hatta, ancak aratarak veya url kopyalayarak dahi oyunumu başka cihazlarda bulamıyorum.Nerede eksiklik olabilir teşekkürler.
Eğer Google Play geliştirici hesabınızda oyun hâlâ Yayımlandı olarak gözüküyorsa (Kaldırıldı, Durduruldu gibi bir durumda değilse) biraz zaman geçmesi gerekiyor olabilir.
Hocam merhaba. Ben unity ile motosiklet oyunu yapmak istiyorum fakat bir türlü başarılı olamadım. While Collider ile yapmaya çalıştım ilk başta motosiklet dengede durmadı arka tekere 2 while Collider koydum bu seferde sağ sola dönerken yamulmaya filan başladı pek güzel bir şey olmadı. Zaten motor gücünü ne kadar yükseltirsem yükselteyim bir türlü hızlı gitmedi motosiklet. Bana yardımcı olabilirsiniz? Bu konuda ne Türk nede yabancı kaynaklar da bilgilendirici yazı veya video bulamadım. Şimdiden teşekkür ederim 🙂
Bu konuda benim bilgim yok ancak “unity motorcycle physics” diye aratınca çeşitli yabancı kaynaklar bulabilirsiniz.
Selamlar Yasir Bey
3D mobil bir oyun düşünüyoruz. Kafa topu gibi düşünün ancak 3 boyutlu. Burada birçok 3d modeller, animasyonlar, görseller gibi birçok şey mevcut. Şimdi düşünüyoruz belki 500 adet 3d model, yüzlerce grafik olacak oyunda. Kafa Topu 2 yi düşünün siz bir yandan. Bu oyunun boyutu çok yüksek olacak gibi geliyor bize. Bu konudaki görüşleriniz veya verebileceğiniz bir bilgi mevcut mu?
Kaliteli bir görsel hazırladık örneğin 1mb tutuyor, kaliteyi bozmadan bunu unity içerisine nasıl gönderebiliriz?
Kafa Topu 2 gibi görsel ve animasyonsal zenginliğe sahip bir oyunun 80mb gibi bir boyutta olmasını nasıl açıklayabilirsiniz. Oynamadıysanız veya bilmiyorsanız tabi bir cevap bekleyemem sizden.
İşin özü bu kadar 3d modele ve birçok içeriğe sahip bir oyun düşünüyoruz ancak 400mb gibi bir şey çıkarsa bizim için çok olumsuz bir durum bu. Bu konudaki görüşlerinizi merak etmekteyiz.
Kafa Topu oyunununun boyutunda özel bir optimizasyona gitmişlerse, bu optimizasyon şunlardan biri olabilir:
1) Asset Bundle veya Addressables kullanarak Texture’ları internetten çekmek
2) Vektörel SVG resimler kullanmak (kendim kullanmadım ama boyuta ve kaliteye olumlu etkisi olabilir. Bu konuda ücretsiz plugin’ler mevcut: 1, 2)
3) Resimleri orijinal formatlarında tutmak (15 KB’lık bir PNG resim oyunun boyutuna 15 KB etki edecek) ve oyun esnasında Texture2D.LoadImage ile Texture objelerine çevirmek. Bunun için resmin uzantısını .bytes yapıp onu TextAsset değişkeninde tutabilir ve byte[]’ına TextAsset’in bytes değişkeniyle erişebilirsiniz
3D bir oyunun boyut optimizasyonunda işinize en çok 1. madde yarar, 2. madde işinize yaramaz ve 3. madde ise Texture’larınızın boyutunu düşürmekte işe yarayabilir (1. yöntemi kullanırsanız 3. yönteme gerek kalmıyor).
Merhaba ve iyi çalışmalar
-Online oyun tecrübeniz var mı acaba merak etmekteyim. Unity içerisindeki photon Türkiye’de çıkacak bir oyun için yeterli midir. Ping vb sorunlar adına soruyorum. Online kısımla ilgili bir tecrübeniz yoksa es geçebilirsiniz sorumu.
– 3D mobil bir oyun yazmak istiyorum. Sayenizde hızla öğreniyoruz. Size bir sorum var. Update komutuna yazmadığımızı düşünün, yani update komutunda sadece hareketler mevcut. Oyunla ilgili diğer tüm şeyleri yazarken, (ki bunun tek bir doğru yolu yoktur, herkes kendince bir şeyler yazar) fazla veya gereksiz bir şekilde kod yazmak sorun oluşturur mu performans olarak. Yani belki kısa bir yolu vardır ancak biz bunu çok uzun yollardan sağlarsak problem oluşturur mu sizce?
Örneğin bir top bir topa çarpınca ikisi de yok olsun. Bunu OnCollission ile yapabiliriz, ancak çok daha uzun olarak 5 satır yerine 50 satırda yazdık ve tüm oyunu böyle yazdık. Sizce performansı etkiler mi. Bunu şu yüzden soruyorum, update komutu belki saniyede 200 kere tekrar edebiliyor. Update içine gereksiz şeyler yazmadığımız sürece, kalan yerlere gereksiz olabilecek şeyleri koymak ne kadar etki edebilir diye düşündüm. Sizin görüşünüzü de merak etmekteyim.
Not: Profiller ile ilgili performans kontrolü yazınızı inceledim. Çok karışık geldi. Sorumun onunla ilgili olmadığını düşünüyorum
– Online oyun tecrübem maalesef yok.
– Update’in saniyede 200 kere çalışmaması için, oyunun başında “Application.targetFrameRate = 60;” kodu ile FPS’i maksimum 60 ile sınırlandırmanızı öneririm.
– Verimsiz yazılan kodun oyunun performansına etkisi var mı öğrenmek için 2 yol var: 1) göz kararı FPS’i kontrol ederek oyunun FPS’inde muazzam bir düşüş olup olmadığına bakabilirsiniz veya 2) Profiler’ın CPU modülünü kullanarak kodunuzun kaç milisaniyede çalıştırıldığını gözlemleyebilirsiniz.
Hocam Unity Ads kullanıyorum. Reklamlarım daha eski böyle 2016-2015 modellerdeki telefonlarda reklam gösterirken yeni telefonlarda reklam göstermiyor. Nedeni nedir?
Logcat’e bakmanızı öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Yasir bey bir sorum olacak.Oyun tamamlandı,unity remote5 üzerinden denendi sorun yok ardından build aldım ve apk dosyasını telefonuma yükledim.Oyun açıldı unity ekranı geldi ardından oyunumun ana menüsü geldi ancak play kısmına bastığımda tepki vermiyor.Sıkıntı hangi aşamada.Teşekkürler
Play butonunu UI sistemi ile yaptıysanız, sahnede EventSystem objesi de olduğundan emin olun. İlaveten, play’e bastığınızda bir hata alıp almadığınızı görmek için logcat kullanmanızı öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Hocam unity projesini arkadaşıma atmak istiyorum. Nasıl yapabilirim?
Assets, Packages ve ProjectSettings klasörlerini zip’leyip atabilirsiniz. Ardından arkadaşınız aynı Unity sürümü veya üst bir sürüm ile File-Open Project deyip proje klasörünü seçerek projeyi açabilir.
hocam iyi günler
ben unity de çalışırken visual-studio da otomatik düzelte seçenekleri çıkmıyor bu yüzden yazdığım bir kodun hangi değerler alması gerektiğine ya da kod içindeki kodlara yani noktadan sonra yazılacak kısımlara sürekli internetten bakmak zorunda kalıyorum
ayrıca import package kısmında sadece custom package seçeneği çıkıyor unitynin kendi packageleri gözükmüyor. character controller kullanamadığım içinde karakterin yere değip değmediğini kontrol edemiyorum. Nasıl import edebilirim ya da kontrolü isGrounded kullanmadan nasıl sağlarım
Visual Studio sorunu için şu başlıklara bakabilirsiniz:
https://stackoverflow.com/questions/8420303/visual-studio-c-sharp-intellisense-not-automatically-displaying
https://stackoverflow.com/questions/42597501/autocompletion-not-working-in-visual-studio
Custom Package harici paketler Standard Assets diye geçiyor. Bu asset’i Asset Store‘dan indirebilirsiniz ama son Unity sürümlerinde hata veriyor(muş).
Çok teşekkür ederim hocam
Merhaba, sitenizi ilk bakılacak yer olarak görüyorum. Burada bir cevap yoksa başka yerlere gidiyorum bu sebeple çok teşekkür ederim. Size bir sorum olacak mümkünse ve cevaplarsanız çok sevinirim.
Unity içerisinde bir animasyon yapmak istiyorum. Ancak bunu unity içerisinde yapmak çok zor olacaktır. After Effects gibi bir programa çok hakimim. Burada tam olarak istediğim efektleri yapabiliyorum. Örneğin bir paranın etrafında dönmesi. Altın sandığının parlaması gibi. Burada hazırladığım çalışmaları -örneğin 3 sn- fotoğraf olarak çıkartıp unity’ye sıralı olarak atıp orada hareketlendirmek istiyorum. Bu şekilde yaklaşık 90 görsel atmış oluyorum. Bu sizce doğru bir yol mu? Ya da kötü bir yol mu? Birçok animasyon olacağını düşünün bu gibi.
Diğer sorum bağlantılı olarak, unity içerisine atacağım görseller ne formatta veya boyutta olmalı. Photoshop’ta 72dpi olarak hazırladığım görsellerin bazıları çok büyük boyutta oluyor ve oyunun boyutunu da gereksiz yere etkiliyor sanıyorum. Görüntü kalitesinden ödün vermeden, göz kararıyla karar vermeden kesin bir şekilde doğru sonuç nedir? Atacağımız görsellerin formatı ne olmalı, nasıl bir işlemle hazırlamalıyız görsellerimizi?
Çok teşekkür ederim cevabınızı bekliyor olacağım.
2D bir oyun yapıyorsunuz diye tahmin ediyorum. 2D paranın etrafında dönmesini sprite sheet harici nasıl yaparsınız bilemiyorum (belki 3D para objesi kullanıp onu kendi etrafında döndürerek) ancak 90 adet resimden oluşan bir animasyon ciddi yer kaplar (para 32×32 gibi ufacık bir şeyse kabul edilebilir). Oyun bilgisayar içinse sorun olmayabilir ama mobilde bu tarz animasyonlardan birçok varsa oyunun boyutu çok yüksek olur ve animasyonlarınız RAM’de çok yer kaplar. Animasyonun frame sayısını düşürmenizi öneririm.
Altın sandığının parlaması için ise sprite sheet kullanmak yerine shader kullanabilirsiniz. Shader Graph, Amplify Shader Editor, Shader Forge vb. asset’ler ile görsel olarak shader oluşturabilirsiniz.
Unity’e resimlerinizi PNG, PSD veya TIFF formatında atarsanız resmin kalitesi bozulmaz, ama tabi Inspector’daki Compression ve Texture Format ayarları doğal olarak resmin kalitesini bozabilir. Resimlerinizin boyutuna siz karar verin, Unity’de resme tıklayınca Inspector’un en altında resmin ne kadar yer kapladığını görürsünüz. İsterseniz animasyonları sprite sheet olarak tek bir resim dosyasında atabilir ve daha sonra Unity’de bu resmin keyframe’lerini bölebilirsiniz. Bunun için Inspector’da Texture Type “Sprite” ve Sprite Mode “Multiple” seçili iken Sprite Editor butonuna tıklayabilirsiniz.
Inspector’daki Texture Format ve Compression ayarları aynı olan ve genelde aynı sahnede beraber kullanılan resimlerinizi bir Sprite Atlas‘ta birleştirmenizi öneririm. Sprite Atlas’lar resimlerinizin daha az yer kaplamasında yardımcı olurlar.
Merhaba, Unity’de proje geliştiriyorum. Render Pipeline olarak HDRP kullanıyordum ve çok güzel sonuç alıyordum ancak güçlü sistemlere yönelik bir proje ortaya çıkmış oluyor ve çoğu sistemde sıkıntılara yol açabilecek bir proje oluyor. Render Pipeline olarak LWRP ve URP’de Point Lightlar gölge oluşturamıyor. İç aydınlatma için Point Light dışında bir alternatif yok ve ışıklandırmayı Baked değil Realtime oluşturmak istiyorum. Herhangi bir Render Pipeline pakedi kurmadan Unity’nin kendi gölgelerinde ise gölgeler hem çok pikselli hem de obje köşelerinden ışık sızmaları ve gölgelerin objelerden biraz uzakta oluşmaya başlaması gibi problemler yaşıyorum. Yardıma ihtiyacım var.
Dediğiniz gibi, Point Light’lar için gölge desteği yokmuş ama eklemeyi düşünüyorlarmış. Bu durumda ya Point Light’ın gölgesini kapatmalı ya da Render Pipeline kullanmamalısınız. Point Light’ların Realtime gölgelerinin Directional Light’a göre çok daha performans harcadığını okumuştum, mobil oyun yapıyorsanız belki Point Light için gölge kullanmamanız daha iyidir. Eğer statik objelerin lightmap ile ortama gölge düşürmesi ama dinamik objelerin gölge düşürmemesi göze batmayacaksa, lightmap kullanmayı da düşünebilirsiniz. Render Pipeline kullanmadan Realtime gölge düşürmekte kararlı iseniz, bahsettiğiniz sıkıntılar konusunda maalesef benim bilgim yok.
Oyun PC için. HDRP dışında gölgeleri düzgün renderlayabilen bir render pipeline yok ama HDRP çok fazla sistem gücü istiyor bu şekilde projeyi tamamladığımda 1050Ti öncesi ekran kartlarında FPS’in çok düşük olması muhtemel. Konuyla ilgili pek fazla kaynak da yok zaten. Cevap için teşekkür ederim, iyi günler.
Hocam projemde other settings kısmında arm64 seçiliyken build alıyordu ama şimdi almıyor. Nedeni nedir?
Hocam acil cevap verir misiniz?
Scripting Backend olarak IL2CPP seçili olmak zorunda.
Benim uygulamamda bazı telefonlarda reklam gösterirken bazı telefonlarda reklam göstermiyor. Nedeni nedir?
Logcat kullanarak aldığınız hataya bakmanız lazım.
öncelikle iyi günler. ben uygulamamda günde 1 veya 2 kere tıklama hakkı olan bir buton yapacağım ama sayacın arka planda çalışmaya devam etmesi gerekiyor. nasıl yapacağım hakkında bilgi bulamadım. yardımcı olurmusunuz.
System.DateTime veri türünden faydalanabilirsiniz:
– System.DateTime.UtcNow değişkeni, kodu çağırdığınız andaki tarihi döndürür. Bu tarihi ToString ile string’e çevirip PlayerPrefs.SetString ile cihaza kaydedebilirsiniz
– System.DateTime.Parse, bir string’i System.DateTime’a çevirmeye yarar. PlayerPrefs.GetString ile okuduğunuz kayıtlı veriyi bu şekilde geri System.DateTime yapabilirsiniz
– İki System.DateTime objesini birbirinden çıkarınca System.TimeSpan objesi elde edersiniz. Bu obje, iki zaman arasındaki farkın kaç saat (TotalHours) olduğunu döndürür
Oyunumu test mode kapalıyken build ettim ama oyunu telefonuma aktardığımda test reklamı gözüküyordu. Bu durum normal mi?
Şu derste bahsettiğim üzere, bu değişikliğin uygulanması biraz vakit alabilir: https://yasirkula.com/2020/04/04/unity-3d-oyunlariniza-unity-ads-reklamlari-eklemek-resimli-anlatim/.
Sorduğunuz şeylerin çoğu ya derslerimde bahsettiğim hususlar ya da bir önceki gün sorduğunuz şeylerle aynı. Böyle devam ederse yorumlarınızı cevap vermeden sileceğim bilginiz olsun.
Peki tekrar mı build etmem gerekir?
Eğer test modunu koddan açtıysanız evet. Web arayüzünden açtıysanız gerekmez.
Hocam projemi Unity Ads test mode açıkken build ettim de Google Play’e yükledikten sonra başkaları indirince test mode reklamı göstermez değil mi?
Unity Ads dersimde bahsettiğim 3. yöntemi kullanmıyorsanız, test reklamlarını kapatmadığınız sürece başkaları da test reklamları görürler.
Hocam oyunumu ARM64 seçeğeneğinin tiki olduğu halde google play’de yayınlarken 64bit ile uyumlu değil hatası veriyor. Nedenini söyler misiniz?
Şu yazıdaki 64-bit kısmına bakabilirsiniz: https://yasirkula.com/2014/04/17/unity-android-oyununuzu-google-playe-yuklemek/
Çok teşekkür ediyorum hocam. İyi ki varsınız.
Hocam file kısmındaki build settingsde build app bundle yazan yerin tikini kaldırdım da google playe yüklerken bir sorun olmaz değil mi?
Daha önce dediğim gibi, Google hem APK hem de AAB kabul ediyor. Benzer şekilde, daha önce dediğim gibi, Services’tan Unity Ads’in tikini kaldırmadığınız sürece build alırken hata almaya devam edersiniz. Bu kadar sıklıkla soru sormak yerine bunları kendiniz de deneyerek görebilirsiniz.
Tamam hocam sizi boş yere meşgul etmeyeyim.
Hocam unity’nin services kısmındaki ads seçeneğinin içindeki advanced yazan yerin altındaki enable built-in ads extension yazan butondaki tik işaretini kaldırdım. Reklamlarda bir sorun olur mu?
Hocam İyi geceler Unity 2d oyun yapıyorum karakterim zıplama saldırı animasyonları sorunsuz çalışıyor fakat koşma animasyonum pek çalışmıyor karaterimi yönlendirdiğimde kıpırdamandan kayarak harektet ediyor ama zıplama hareketini yapınca karakterim koşma animasyonu aktif oluyor ve karakterim hep koşma animasyonunda takılı kalıyor.Yardımcı olursanız sevinirim bitirme proje ödevim bi aşamadım bu sorunu
Animasyonun loop yapması için, animasyon asset’ini Project panelinden seçip Inspector’dan “Loop Time” seçeneğini açmanız lazım. Koşma animasyonuna hemen geçilmiyorsa, Animator Controller’da koşma animasyonuna giden oka tıklayıp “Has Exit Time”ı kapatabilirsiniz.
Hocam iyi günler bir sorum olacak size. unity ile yaptığım bir oyunun güncellemesini play console yüklerken gizlilik politikası ihlali sebebi ile güncelleme reddedildi sorunu ile karşılaştım bunun çözümü nedir acaba?
Ayrıca play storeye oyumu attım fakat arama kısmında oyunumu bir türlü bulamıyorum direkt olarak play consolede ki linki açtığımda ve yükle dediğimde bu öğre kullanılamıyor hatası alıyorum yardımcı olursanız çok sevinirim
Eğer ihlalle ilgili daha fazla bilgi verilmediyse, “Google Play Store’daki varlığı-Uygulama içeriği” kısmından oyununuz için bir gizlilik politikası linki eklemeyi deneyebilirsiniz.
Selamlar , yakında çıkarmayı düşündüğüm mobil oyunum ile ilgili gerek öğrenme gerek geliştirme aşamasında sizden bir çok faydalı bilgi edindim elinize emeğinize ve bilginize sağlık. Sonsuz teşekkürler.
Rica ederim, oyununuz hayırlı olsun şimdiden.
google playe oyun atıcam ama su on kayıt yapılan oyunlar varya onun gıbı olsun ıstıyorum nasıl yapcam
Benim bilgim yok ama şu yazı işinize yarayacaktır: https://support.google.com/googleplay/android-developer/answer/9084187?hl=tr
Hocam chrome’un üst sekmesindeki gibi sekme değiştirme nasıl oluyor? Zahmet olmazsa bi el atsanız.
Unity’de diyorsanız, şu yazıya bakabilirsiniz: https://yasirkula.com/2018/06/05/unity-oyun-ici-dinamik-paneller-sekme-destekli/
Saffet için bir cevap yazın Cevabı iptal et