Yeni bir yazı yayınlandığında anında e-posta yoluyla haberdar olmak için hemen şimdi e-posta bilgilendirme sistemine dahil olun.
E-posta Adresi:	
Beni de ekle!
Kategoriler
Diğer (27)
Oyun Tasarımı (126)
Game Maker (29)
Çeviri Dersler (8)
Diğer Dersler (19)
UNITY 3D (93)
Ekstralar
Ziyaretçi Defteri
Son Yazılar
Unity Çerez Ders: Büyük Texture’ları (TIFF, PSD, TGA, BMP) PNG Formatına Çevirerek Proje Boyutunu Düşürmek
Unity Çerez Ders: Projenizdeki Klon (Duplicate) Asset’leri Bulmak
Unity LOD Sistemi
Unity Scroll View’da Çok Sayıda Objeyi Performanslı Bir Şekilde Göstermek
Unity Çerez Ders: 2019.3 Hierarchy’sindeki Göz ve Parmak Gizmo’ları
En Popüler Yazılar
Unity Optimizasyon Önerileri	
Unity DOTween Kullanımı	
Unity UI (Arayüz) Sistemi	
UNITY Android SDK Kurulumu - Resimli Anlatım	
Unity C# Delegate ve Event'ler	
UNITY 3D İçin Ders Arayanlar Buraya - Güncel	
Unity Profiler Kullanımı	
UNITY Fonksiyonlarının (Update gibi) Görevleri ve Çalıştırılma Öncelikleri	
Unity Bir Script'ten Başka Bir Script'teki Değişkene Ulaşmak	
Unity C# TPS Oyunu Yapımı (319 Sayfalık Çeviri Ders)	
Son Yapılan Yorumlar
Unity LOD Sistemi için Ivan	
Unity UI (Arayüz) Sistemi için yasirkula	
Unity UI (Arayüz) Sistemi için muhammet aksoy	
UNITY Fonksiyonlarının (Update gibi) Görevleri ve Çalıştırılma Öncelikleri için LS	
UNITY Fonksiyonlarının (Update gibi) Görevleri ve Çalıştırılma Öncelikleri için yasirkula	
UNITY Fonksiyonlarının (Update gibi) Görevleri ve Çalıştırılma Öncelikleri için LS	
UNITY 3D Multi-Touch Destekleyen Butonlar Oluşturmak için yasirkula	
UNITY 3D Multi-Touch Destekleyen Butonlar Oluşturmak için LS	
UNITY 3D Multi-Touch Destekleyen Butonlar Oluşturmak için LS	
UNITY 3D Multi-Touch Destekleyen Butonlar Oluşturmak için yasirkula	
Bağlantılar
Game Maker Oyun Motorunun Resmî Sitesi
UNITY Oyun Motorunun Resmî Sitesi
Facebook Grupları
Blender Türkiye
Genç Oyun Yapımcıları
Oyun Geliştiriciler
Türk Oyun Geliştiricileri
Türkiye Oyun Geliştirici Öğrenciler Grubu (TOGOG)
Unity 3D Yardımlaşma Platformu
İstatistiklerimiz
1.935.674 tıklanma sayımız oldu. Tüm ziyaretçilerimize teşekkürler :)
COPYRIGHT
Süleyman Yasir KULA 2010-2021 Copyright
Sitedeki herhangi bir makale, örnek oyun, ders veya resim alıntı yapıldığı belli edilmek şartıyla paylaşılabilir.
Aksi belirtilmediği sürece, paylaştığım kodları kendi oyunlarınızda kullanırken atıfta bulunmanıza gerek yoktur.
Anlayışınız için teşekkürler ^_^
Tweetlerim
Ziyaretçi Defteri
702
Facebook'ta paylaşmak için tıklayın (Yeni pencerede açılır)
Twitter üzerinde paylaşmak için tıklayın (Yeni pencerede açılır)
Linkedln üzerinden paylaşmak için tıklayın (Yeni pencerede açılır)
WhatsApp'ta paylaşmak için tıklayın (Yeni pencerede açılır)
yorum
Sinan dedi ki:	
02 Kasım 2021, 17:10	
Merhaba ben animasyon optimizasyonu hakkinda fikir almaya geldim. Oyunumda 300tane küpe animasyon verdim. Animasyonlarda örnegin aynı anda 150 tanesi yukarı cıkıyor sonra diger 150 tanesi basliyor. Haliyle mobil oyunda illaki kasma yaratiyor. Animation controller yerine normal animation yapip ekledim. Gene de buyuk bir etki yaratmadı. Surekli calisacaklarindan pool olusturup render almamasınıda saglayamiyorum.Animasyonu çalışmayanlarda render oluyor. Bu tarz aynı objeler ve ayni animasyonlar icin bilindik bir yöntem var mı?
Cevapla
yasirkula dedi ki:	
02 Kasım 2021, 19:52	
Öncelikle animasyonları kapatıp sıkıntının animasyonlardan olduğundan emin olun. Eğer öyleyse, animasyonu DOTween ile vermeyi deneyebilirsiniz. Benim anladığım kadarıyla, animasyonunuz basit bir yukarı aşağı hareketten oluşuyor ve bu hareketi DOTween ile kolayca verebilirsiniz.
Cevapla
sinan dedi ki:	
03 Kasım 2021, 15:12	
Evet animasyonum sprite değiştirme ve sadece yukarı gibi basit bir animasyon.Animasyon kullanmak yerine kodla da yapabilirim.Ama update de 300 tane hareket kodu animasyona göre daha yük bindirir diye düşünmüştüm. Bir de kodla deneyeyim o zaman. Teşekkürler
yasirkula dedi ki:	
03 Kasım 2021, 15:43	
300 tane Update yerine, kodu ona göre ayarlayarak tek bir Update’te 300 animasyonu oynatabilirsiniz.
Ahmet dedi ki:	
29 Ekim 2021, 16:24	
Hocam oyun içinde reklamlar için sadece Unity ads kullanıyorum. Gizlilik sözleşmesine buradaki 2 bağlantı yeterli olur mu
.Unity–>> https://unity3d.com/legal/privacy-policy
.Google Play hizmetleri –>> https://policies.google.com/privacy?hl=tr
Cevapla
yasirkula dedi ki:	
29 Ekim 2021, 16:49	
Bu konuda cevap verebilecek yetkinliğe sahip değilim maalesef. Ben sadece 2 linkten oluşan bir privacy policy görmedim ama dediğim gibi doğru yöntem nedir bilmiyorum.
Cevapla
Ahmet dedi ki:	
29 Ekim 2021, 19:02	
Gizlilik politikam uzun uzuna yazıldı zaten. Daha önce admob kullanıyordum.
.Admob–>> https://support.google.com/admob/answer/6128543?hl=en
şeklinde bağlantı veriyordum.
Admob hesabım kapandı. Unity Ads’e geçtim. Unity Ads içinde bağlantı verilmesi gerekiyorsa onu bulamadım ben.
yasirkula dedi ki:	
29 Ekim 2021, 19:27	
Anladım. Unity Ads’in gizlilik poliçe linki attığınız link de olabilir bu link de olabilir, hangisi doğru emin değilim.
mehmet07 dedi ki:	
23 Ekim 2021, 20:20	
Hill Climb Racing oyunun rpm nasıl çalışır unity de bunu yapmaya çalışıyorum. Rpm yaptım ama hill climb racing gibi çalışmıyor. Bu konuda bilginiz var mı?
Cevapla
yasirkula dedi ki:	
23 Ekim 2021, 21:38	
Araç fizikleri konusunda maalesef yardımcı olamam.
Cevapla
Emin dedi ki:	
21 Ekim 2021, 16:05	
Hocam merhaba. Ben animator içerisindeki bir state’e dışarıdan duruma göre animation atamak istiyorum. Bu animation’ları “[SerializeField]” ile referans olarak elle ekleyip karakterimin seçimine göre istediğini oynatmasını sağlayacağım.
1-) Bu animation’ları inspector penceresinde sürükle bırak yapamıyorum. Değişkeni “Animation” olarak yapınca olmuyor. GameObject mi yapayım? Bir problem olur mu?
2-) Bu değişken olarak atadığım Animation’ları, State içerisindeki mevcut Animation ile yer değiştirmek istiyorum. Nasıl yapacağımı bulamadım. Yardımcı olur musunuz?
Cevapla
yasirkula dedi ki:	
21 Ekim 2021, 16:17	
Değişken türünüz AnimationClip olmalı. Bunları Animator’e oyun esnasında verebilmek için, Animator Controller’ınızdan bir Animator Override Controller oluşturup Animator component’inize onu vermeniz lazım. Daha sonra Animator Override Controller’ın GetOverrides ve ApplyOverrides fonksiyonlarını çağırabilirsiniz.
Cevapla
Ahmet dedi ki:	
20 Ekim 2021, 22:38	
Merhaba,
Yaptığım projelerde bir süre sonra fps drop yaşıyorum. Bir sahneyi 10-15 kere reload yapınca yada 10-15 bölüm ilerleyince fps drop başlıyor bu konuda ne yapmalıyım ?
Cevapla
yasirkula dedi ki:	
21 Ekim 2021, 00:45	
Profiler kullanmalısınız: https://yasirkula.com/2020/03/26/unity-profiler-kullanimi/
Cevapla
mehmet07 dedi ki:	
20 Ekim 2021, 09:58	
Google play deki oyunların assetlerini kullansak bir sorun olur mu.
Cevapla
yasirkula dedi ki:	
20 Ekim 2021, 10:29	
Başka oyunların asset’lerini izinsiz bir şekilde kullanmak sorun olur, o oyunun yapımcısı sizin oyununuzu keşfederse ve size dava açarsa haksız taraf siz olursunuz (avukat olmadığım için %100 kesin böyle olur demiyorum).
Cevapla
wolf dedi ki:	
12 Ekim 2021, 22:00	
Oyunumda 2d nesne var bu nesne sağa sola döndükçe karakter animasyonu da ona göre ilerleyebilir mi bu konu hakkında bilginiz var mı?
Cevapla
yasirkula dedi ki:	
12 Ekim 2021, 22:04	
Biraz daha açar mısınız tam istediğiniz şeyi?
Cevapla
wolf dedi ki:	
12 Ekim 2021, 23:02	
2d nesne rotation z 0 dan 15’e değere ulaştığında animasyonun da 3. kareye gitmesini istiyorum sonra 2d nesne rotation z 15 den 0 gittiğinde animasyonun da 0. kareye gitmesini istiyorum. Bunu yapmanın bir yolu var mı ?
yasirkula dedi ki:	
12 Ekim 2021, 23:33	
Rotation 7.5’de iken animasyon 2. karede sabit mi kalacak?
wolf dedi ki:	
13 Ekim 2021, 00:10	
Yok hayır kalmayak rotation 1 ise animasyon 1. karede olacak
Rotation 2 ise animasyon 2. karede olacak
yasirkula dedi ki:	
13 Ekim 2021, 00:34	
Rotation’la keyframe’i elle senkronize edecekseniz aklıma tek bir yöntem geliyor o da Animator’da o animasyonun Speed’ini 0 yapmak ve Update’te animator.PlayInFixedTime (veya animator.Play) fonksiyonu ile, mevcut rotation’a denk gelen keyframe’e elle geçiş yapmak.
wolf dedi ki:	
13 Ekim 2021, 01:01	
Cevaplarınız için teşekkür ederim
wolf dedi ki:	
11 Ekim 2021, 18:12	
12 karelik animasyonum var 3. kareye kadar ilerlemesini istiyorum sonra tekrar en başa geri dönsün.
Bunu yapmanın bir yolu var mı ?
Cevapla
yasirkula dedi ki:	
11 Ekim 2021, 18:39	
Aklıma 2 yöntem geliyor. En temizi, sadece o 3 karenin olduğu yeni bir AnimationClip kullanmak. Öbür yöntem ise, Animator Controller’a o animasyonu 2 kere sürükle-bırak yapmak ve bu 2 state arasında Condition’ı olmayan Transition’lar oluşturup bu Transition’ların Exit Time’larını 3. kareye denk gelecek şekilde değiştirmek ve bir yandan da Transition Duration’larını 0 ya da çok düşük bir değer yapmak.
Cevapla
wolf dedi ki:	
11 Ekim 2021, 19:49	
2. Yöntem karışık gibi geliyor ama 1. Yöntem daha iyi benim aklımda o vardı ama size danışmak istedim sağolun.
ascacaxcasd dedi ki:	
10 Ekim 2021, 22:28	
Hocam oyunda sahneyi tekrar yüklediğimde ışıklandırma da kararmaya gidiliyor. Ne yapabilirim?
Cevapla
yasirkula dedi ki:	
10 Ekim 2021, 22:57	
Window-Rendering-Lighting Settings’ten “Auto Generate”i kapatıp “Generate Lighting” yapmayı deneyebilirsiniz.
Cevapla
mehmet07 dedi ki:	
09 Ekim 2021, 02:24	
2d araba oyunu yapıyorum da araba bir tümsekten atladığında sürücünün sarsılmasını istiyorum bunu nasıl yaparım asset var ama 3d
Cevapla
yasirkula dedi ki:	
09 Ekim 2021, 09:32	
Araba yarım saniye boyunca yere değmediyse tümsekten atlamış varsayıp karakteri sarsma kodunuzu çalıştırabilirsiniz.
Cevapla
Emin dedi ki:	
07 Ekim 2021, 16:12	
Hocam kolay gelsin. Ben oyunuma birden fazla karakter koymak istiyorum ancak kendim tasarım konusunda bilgili değilim internetten ücretsiz bulabildiklerimi oyunuma ekleyeceğim. Tam da burada sorum var size; mixamo dan mesela eklediğim karakterleri oradaki animasyonları kullanarak güzel bir şeyler çıkartabiliyorum ancak ben dışarıdan bir 3D model bulduğumda onları mixamodaki karakter-iskelet-animasyona entegre edebilir miyim bilmiyorum. Yani şöyle; mixamodan indirdiğim karakterlere animasyonlara dışardan bulduğum 3D modelleri monte edebilir miyim bir şekilde boyutuyla vs. oynayıp veya sizin önerebileceğiniz bir yöntem araştırma başlığı var mı? Birden fazla karakter koymayı düşünüyorum oyunuma ondan dolayı böyle bir durum şart ve animasyon olarakta mixamoda istediğim çoğu şey var o yüzden oradan temin edip süreci kolaylaştırmak istiyorum.
Cevapla
yasirkula dedi ki:	
07 Ekim 2021, 17:50	
Unity’nin Humanoid sistemi bu yüzden var. Dışarıdan import ettiğiniz modeller Humanoid desteklediği sürece, Mixamo animasyonlarını çalıştırır. Yapmanız gereken, hem karakterin hem animasyonların Inspector’dan Rig’ini Humanoid yapmak ve hata olmadığından emin olmak.
Cevapla
asdsadsadas dedi ki:	
07 Ekim 2021, 00:35	
Selamun aleyküm hocam. Ben yapmaya çalıştığım labirent oyunumda bulunan altınları ve elmasları bir yerde toplamak istiyorum yani şöyle ki oyuncu 3 bölümden toplamda 120 altın 23 elmas topladı mesela bunların hepsini bir yerde göstermek için playerprefs kullanmayı düşündüm ama sonrasına Prefer Binary Serialization ‘ın daha güvenli olduğunu öğrendim ama Prefer Binary Serialization ‘ı anlamadım ne yaptığını. Ben bu durumda sizce PleyerPrefs mi kullanmalıyım yoksa Prefer Binary Serialization ‘ı mı kullanmalıyım?
Cevapla
yasirkula dedi ki:	
07 Ekim 2021, 11:36	
Para gibi, hack’lenmesinin çok kolay olmamasını istediğiniz şeyler için binary serialization daha güvenilir. Bunun için “unity binary serialization” şeklinde arama yaparsanız, karşınıza çok sayıda kaynak çıkar.
Cevapla
Sıddık Çiçek dedi ki:	
04 Ekim 2021, 10:23	
Selamun aleyküm hocam. Ben bu hatayı aldım da bana herhangi bir sıkıntı çıkartır mı? Ne yapabilirim?
SerializedObject target has been destroyed.
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Unity.Notifications.NotificationSettingsProvider:b__18_0 () (at C:/Users/carel/TheMazeGenerator/Library/PackageCache/com.unity.mobile.notifications@1.4.1/Editor/NotificationSettingsProvider.cs:70)
UnityEditor.EditorApplication:Internal_CallGlobalEventHandler ()
Cevapla
yasirkula dedi ki:	
04 Ekim 2021, 10:47	
Bilinen bir hataya benziyor, bence sizle alakalı değil. “unity mobile notifications SerializedObject target has been destroyed” şeklinde arama yaparak görebilirsiniz.
Cevapla
Sıddık Çiçek dedi ki:	
04 Ekim 2021, 13:18	
tamamdır hocam teşekkür ederim
Emin dedi ki:	
03 Ekim 2021, 17:54	
Merhaba hocam. Ben Unity’de ekrana bir Image koyup, mouse ile o image’in üzerine tıkladığım zaman 3den geriye sayan bir sayaç yapmak istiyorum. Ancak mouse basılı iken image’n üzerinden mouse kaydırılırsa yani image sınırları dışına imleç kaydırılırsa veya parmak çekilirse iptal olması gerekiyor. Bunu normal kod olarak ekranın tümünde yazabiliyorum. Ancak, image üzerinde bu işlemi yapmayı beceremedim. Yardımcı olur musunuz? Teşekkürler.
Cevapla
yasirkula dedi ki:	
03 Ekim 2021, 18:47	
Şu dersimi inceleyebilirsiniz: https://yasirkula.com/2020/03/21/unity-eventsystem-ile-multiplatform-mouse-parmak-inputu-almak/
Cevapla
Emin dedi ki:	
03 Ekim 2021, 19:04	
Hocam incelemiştim zaten ancak burada problem şu, image’in sınırları dışında da basmaya devam ettiğimde kod hâlâ işliyor. Ben image’e basılı tutup parmağımı resmin dışında basılı tutmaya devam etsem gene çalışıyor. Ben öyle olduğunda kodun durmasını istiyorum.
yasirkula dedi ki:	
03 Ekim 2021, 19:15	
Dersin tamamını okudunuz mu çünkü oradaki IPointerExitHandler işe yarar diye düşünmüştüm ben?
Emin dedi ki:	
03 Ekim 2021, 22:35	
Teşekkürler hocam; kısa sürede yanıtlamanız, yardım sever oluşunuz ile gerçekten bizim gibi gençlere çok yardımcı oluyorsunuz. 🙂
mehmet07 dedi ki:	
03 Ekim 2021, 02:06	
Unity 2d esneyen sopa nasıl yapılır esnediğinde eski haline geri dönebilen örnek verecek olursak tankın anteni gibi bunun hakkında tutorial var mı cevaplarınız için teşekkür ederim.
Cevapla
yasirkula dedi ki:	
03 Ekim 2021, 08:36	
Anten esnediğinde bile düz bir çizgi şeklinde olacak ve boyutu değişmeyecekse, bu bir Joint kullanarak mutlaka çözülebilir (ama hangi joint ve hangi ayarlarla bilmiyorum). Aksi taktirde, bu konuda benim bildiğim ücretsiz bir plugin yok, araştırmasını yapmadım. Siz araştırmasını “unity elastic rod” gibi bir aramayla yapabilirsiniz.
Cevapla
Muhammet dedi ki:	
02 Ekim 2021, 13:50	
Merhaba,
Sahnede Rigidbody ile duran objelerim var, başka bir obje animasyon ile bu objelere random olarak çarpmasını istiyorum, fakat animasyonla hareket verdiğim obje ilk önce diğer objelerin içine giriyor anlık olarak sonra itliyor, bu iç içe geçme sorununu nasıl çözerim ?
Teşekkürler.
Cevapla
yasirkula dedi ki:	
02 Ekim 2021, 14:30	
Animation veya Animator kullanıyorsanız, obje fizik motorundan etkilenmeden verdiğiniz animasyonu takip eder. Objenizin çarptığı diğer objelerin daha gerçekçi tepki vermesini istiyorsanız, Animator’un “Update Mode”unu “Animate Physics” yapabilirsiniz. Aksi taktirde Animation/Animator kullanmak yerine normal Rigidbody fonksiyonlarını ve/veya NavMeshAgent fonksiyonlarını kullanmanız lazım.
Cevapla
Muhammet dedi ki:	
24 Eylül 2021, 00:54	
Merhaba, build hakkında bir sorum olacak,
Arm 64, arm7 ve Net 4.0 seçiyorum build alırken fakat çok azda olsa bazı 64 ve 32 bit cihazlarda oyun açılmıyor bunun sebebi ne olabilir. neyi araştırmam gerekiyor çözmek için.
Teşekkürler.
Cevapla
yasirkula dedi ki:	
24 Eylül 2021, 10:16	
Belki oyununuz OpenGL 3.0 ve üstünü kullanıyordur ve o zaman OpenGL 2.0 cihazlarda (antika cihazlar) açılmıyordur. Belki logcat daha kesin cevap verebilir.
Cevapla
vaadddii dedi ki:	
23 Eylül 2021, 14:01	
Selamun aleyküm hocam. Ben canvas ‘ı prefab olarak ayarlayıp bu prefab ‘ı 2 farklı sahnede kullandım. Ama 3. sahne de artık kullanamaz oldum. Yani şöyle ki mesela pause canvası oluşturdum. Bu canvasta butonlar var. işlevselliğini filan hepsini ayarladım. ama çalışmaz oldular. Ne yapacağımı bilemedim kaç gündür.
Cevapla
yasirkula dedi ki:	
23 Eylül 2021, 17:29	
Aleykümselam; 3. sahnenizde Event System olduğundan emin olun. Eğer zaten varsa, butonlara tıklayabiliyor musunuz? Tıklayınca bir hata alıyor musunuz? Tıklayınca çalışan kodun en başına Debug.Log yazınca konsolda görüyor musunuz?
Cevapla
vaadddii dedi ki:	
23 Eylül 2021, 22:10	
Event System yokmuş hocam. şimdi oldu çok sağolun. hata da vermiyordu kullanılmaz haldeydi. Sağolun hocam
vaadddii dedi ki:	
27 Eylül 2021, 00:30	
hocam şimdi de Event System de var hata da yok ama oyun oynandığı sırada Pause butonuna basılmıyor. Debug.Log(); ekledim denedim, ama işlemiyor buton. Ne yapabilirim?
yasirkula dedi ki:	
27 Eylül 2021, 11:01	
Öncelikle EventSystem’î Hierarchy’den kapat aç yapmayı deneyin. İşe yaramazsa, tüm ekranı kaplayan görünmez bir UI objeniz var olabilir. EventSystem objesini seçerseniz Inspector’da imlecin altındaki obje hakkında bilgi edinebilirsiniz. Hangi obje tıklamalarınızı yiyor ona bakın.
vaadddii dedi ki:	
27 Eylül 2021, 21:24	
Hocam EventSystem ‘i açıp kapamak filan işe yaramadı ama Canvas ‘ın ayarını Screen Space – Camera olarak ayarlamıştım. Çalışmıyordu. Ama normal ayarına Screen Space – Overlay olarak ayalayınca çalışmaya başladı. Ben de anlamadım nası oldu bu iş ama teşekkür ederim hocam.
Onur dedi ki:	
22 Eylül 2021, 12:23	
Iyi günler, neredeyse 10 gündür uğraşıp bir türlü çözemediğim bir sorun var. Benim bir oyunum var, tek sahneden oluşuyor ve reklam eklemeye çalışıyorum.
Oyunu oynaması 10-15 saniye sürüyor. Oyuncu ölünce Restart butonu ile tekrar oynamaya başlıyor. Restart butonunda sadece sahneyi yeniden yükleme kodu bulunuyor. Bu şekilde sahneyi yeniden yükleyerek tekrar oynuyor.
Fakat oyun çok kısa sürdüğü için (bazı durumlarda daha banner yüklenmeden oyuncu ölüp oyunu tekrar başlatabiliyor) Admob koduma singleton eklemeye karar verdim. Admob koduma singleton eklediğimde oyuna ilk başlayınca banner dummyler oluşuyor. Buraya kadar bir sorun yok. Fakat oyuncu ölüpte restart butonuna basarsa, banner dummyler kayboluyor. Çünkü kodum singleton ve bannerı sadece bir defa request ediyorum. Banner dummyler hiyerarşideki DontDestroyOnLoad objesinin altında gözükmüyor, sadece Admob kodu orada kalıyor ve bu yüzden kayboluyorlar. Fakat Android telefonda test ettiğimde bannerlar kaybolmuyor(Zaten bende bannerların kaybolmamasını istiyorum). Yani Android telefonda problemsiz çalışıyor gibi.
Kod singleton olduğunda, RequestBanner fonksiyonunu bir defa çağırmam yeterli midir? Yani oyuna başlayınca ilk oluşan Bannerdummylerin, Sahneyi yeniden yükleme kodu ile sahneyi yeniden başlattığımda kaybolması normal midir? Yoksa orada da gözükmesi gerekli mi ?
Sorun dediğim gibi, oluşan banner dummylerin DontDestroyOnLoad un altında gözükmemesi. Belki sadece editorde bu şekilde oluyor. Fakat telefonda, direk reklam geldiği için oyunun en tepesinde kalıp, müdahele edilmezse de oyun sonuna kadar, sahne geçişlerinde bile kalıyor. Umarım açıklayabilmişimdir.
Cevapla
yasirkula dedi ki:	
22 Eylül 2021, 13:02	
Bu sorun sadece editörde olur, bence bir değişiklik yapmanız gerekmiyor. ShowBanner fonksiyonunu 1 kere çağırdıktan sonra, HideBanner’ı çağırana kadar banner hep ekranda gözükür, sahne geçişlerinden etkilenmez (editör harici).
Cevapla
Onur dedi ki:	
22 Eylül 2021, 13:37	
Cevap için çok teşekkürler. Yani bu sadece editörde oluyor. Sadece kafamdaki soru işaretini gidermek adına bir sorum daha olacak.
O zaman, ben 20 sahnelik bir oyun yaptım diyelim ve sadece ilk sahnesine Admob kodu koydum (singletonsuz) ve bu ilk sahneden banner request edip gösterttim. Diğer sahnelerde admob kodu olmasada telefona atarsam ilk sahnede oluştuğundan telefonda o banneri her sahnede göreceğim. Fakat editörde kod ilk sahnede olduğundan,sadece ilk sahnede göreceğim.
Kodu eğer singleton yapsam yine aynı şekilde olacak. Editörde ilk sahnede, telefonda her sahnede banner oluşacak.
Fakat singletonsuz her sahneye koysam bu sefer telefonda da editorde de her sahnede görebileceğim. Sorular saçma olabilir kusura bakmayın ama kafamda oturması için soruyorum, 1 haftadır bu sorunla uğraşıyorum.
yasirkula dedi ki:	
22 Eylül 2021, 14:17	
Yaptığınız varsayımların hepsi bence de doğru. AdMob editördeki reklam objesini DontDestroyOnLoad yapsaymış bu tarz bir sorun hiç olmazmış. İleride belki düzeltirler.
Ali dedi ki:	
21 Eylül 2021, 13:43	
Merhaba, aşamadığım bir sorunum var:
sahnede 2 tane 3d obje var ikisindede aynı script var.
iki top çarpışınca tagları aynıysa başka bir scripte erişerek yeni bir obje oluşturmak istiyorum.
ancak ikisindede OnCollisionEnter fonksiyonu çalıştığı için diğer scripte iki kere erişiyor ve 2 tane yeni obje oluşuyor.
coroutine kullanarak yapmaya çalıştım fakat bu seferde aynı anda olan diğer çarpışmalarda obje oluşturamadım.
bu sorunu nasıl aşarım ?
(oyun türü: 3D 2048)
teşekkür ederim.
Cevapla
yasirkula dedi ki:	
21 Eylül 2021, 14:02	
OnCollisionEnter’da gameObject.GetInstanceID() < collision.gameObject.GetInstanceID() koşulu true ise yeni objeyi oluşturabilirsiniz. Her objenin GetInstanceID()’si farklı bir int döndürür ve bu değerleri kıyaslayarak, kodun sadece bir objede çalışmasını sağlayabilirsiniz.
Cevapla
MR. Sızz dedi ki:	
11 Eylül 2021, 17:48	
Selamin aleykum Yasir Bey, sizin görüşünüzü almak istiyorum bir konuda. Ben Unity üzerinden örnek amaçlı 2 tane oyun yaptım. Ardından şimdi bir başka oyun üzerinde uğraşmaktayım. Sorum şu olacak. Sizce örnek oyun devam ederek sadece kullanılan oyun kodlarını mı anlamaya çalışmalıyım yoksa Vector3 nedir ne değildir gibi araştırmalar yapıp, bu araştırmaları not alıp, aldığım notlarla kendi oyunumu yapmaya çalışmak mı daha faydalı olur?
Cevapla
yasirkula dedi ki:	
11 Eylül 2021, 22:05	
Bence ikisini de yapabilirsiniz. İzlediğiniz video derslerde öğrendiğiniz şeyleri not alıp, derste çok açıklanmayan kodları kendi başınıza araştırabilirsiniz. Aldığınız notları ara ara yeniden okumayı es geçmeyin, başlangıçta bu epey yardımcı oluyor. Ama eğer 2. seçenekten kastınız, Unity’nin dokümantasyonunu açıp tüm class’ların üzerinden tek tek geçmekse, bence öyle bir şey yapmayın. O class’ları yeri geldiğinde zaten öğrenirsiniz (ya takip ettiğiniz derste o class kullanılır ya da yaşadığınız bir problemi google’da aratınca o sınıfa denk gelirsiniz).
Cevapla
MR. Sızz dedi ki:	
11 Eylül 2021, 22:09	
Anladım Yasir Bey, teşekkür ederim hayırlı akşamlar.
Sıddık Çiçek dedi ki:	
04 Eylül 2021, 23:34	
Selamun aleyküm hocam ben labirent oyununda küreyi player olarak kullanıyorum. Kamerayı player ‘ı takip edecek şekilde ayarladım ama kamera tek açıdan bakıyor. Ama player sağa döndüğünde kamera da aynı yönde dönsün istiyorum. Nasıl yapabilirim?
Cevapla
yasirkula dedi ki:	
04 Eylül 2021, 23:39	
Player’ın gittiği yönü “Vector3 playerYon” değişkeninde tutuyorsunuz diyelim. Bu durumda, playerYon’ün değeri Vector3.zero olmadığı sürece, “Quaternion.LookRotation(playerYon).eulerAngles.y” ile kameranın Y ekseninde alması gerektiği açıyı bulabilirsiniz.
Cevapla
Sıddık Çiçek dedi ki:	
05 Eylül 2021, 00:59	
Hocam ben bu yazdığınız kodu
[SerializeField]
private GameObject kamera;
[SerializeField]
private GameObject player;
private Vector3 mesafemiz;
void Start()
{
mesafemiz = kamera.transform.position – player.transform.position;
}
void Update()
{
kamera.transform.position = player.transform.position + mesafemiz;
}
buraya nasıl uyarlayacağım. Çünkü kullanmış olduğunuz kod ile ilgili bir bilgim yok.
yasirkula dedi ki:	
05 Eylül 2021, 11:58	
Öncelikle “Vector3 playerYon” değişkenini bu script’e bir şekilde yedirmeniz lazım. Şu anda script player’ın gittiği yönü bilmiyor.
sıddık çiçek dedi ki:	
05 Eylül 2021, 23:12	
hımm tamam hocam sağolun.
akncn57A dedi ki:	
01 Eylül 2021, 15:32	
Hocam Unity için bir forum oluşturma planınız var mı ? Gerçekten çok güzel olur. Yada böyle bir platform bilişyor musunuz ? Amatürkçe olursa iyi olur.
Cevapla
yasirkula dedi ki:	
01 Eylül 2021, 22:04	
Forum planım yok çünkü bence yeterince Türkçe forum var. “oyun programlama forum” veya “unity programlama forum” şeklinde aratırsanız, bu forumlardan bazılarını bulabilirsiniz (ben forumların hiçbirinde aktif üye değilim o yüzden şahsen önerebileceğim bir forum maalesef yok).
Cevapla
sıddık çiçek dedi ki:	
01 Eylül 2021, 00:35	
Hocam bir şey daha soracağım. Unity ‘i 3d olarak kullanırken yanlışlıkla 2d olarak ayarlamış oldum klavye üzerinden nasıl düzeltebilirim ?
Cevapla
yasirkula dedi ki:	
01 Eylül 2021, 10:49	
Yanlış hatırlamıyorsam Edit-Project Settings-Editor’den düzeltebilirsiniz.
Cevapla
sıddık çiçek dedi ki:	
02 Eylül 2021, 15:53	
tamamdır hocam sağolun
Igrahiga dedi ki:	
31 Ağustos 2021, 20:53	
Merhaba Yasir! Uzun yillardir senin sitenin takipcisiyim. Lutfen daha fazla ders icerikleri getir. Oldukca iyi anlamli ve bilgilendirici. Yeni dersleri sabirsizlikla bekliyorum. Mesela unity ile online/multiplayer oyun yapimi…
Sunucu programlama gibi
Cevapla
yasirkula dedi ki:	
31 Ağustos 2021, 22:16	
İlginize teşekkür ederim. Online oyun ile ilgili bir içerik yakın zamanda beklemeyin çünkü bu konuda kendimi geliştirmedim, yakın zamanda da geliştireceğimi sanmıyorum. Eskiden Numan Kaan Karataş’ın tam bu konularda dersleri vardı ama sonra kaldırdı sanırım. Bu konuda yabancı dersler izlemeye açıksanız, YouTube’da çok sayıda eğitim bulabilirsiniz.
Cevapla
sıddık çiçek dedi ki:	
31 Ağustos 2021, 14:14	
Selamun aleyküm Yasir hocam. Ben
Animator animator;
void Start()
{
animator = GetComponent();
}
void Update()
{
if(Input.GetKeyDown(KeyCode.W))
{
animator.SetTrigger(“YurumeyeBasla”);
}
if(Input.GetKeyUp(KeyCode.W))
{
animator.SetTrigger(“YurumeyiBitir”);
}
bu kodlar ile animasyon oynatmaya çalışıyorum. oluyor da ama bunu yaptığımda karakter olduğu yerde yürümekte. Benim asıl amacım ise
public int speed = 10;
Rigidbody rigb;
void Start()
{
rigb = GetComponent();
}
void FixedUpdate()
{
float moveHorz = Input.GetAxis(“Horizontal”);
float moveVert = Input.GetAxis(“Vertical”);
Vector3 movement = new Vector3(moveHorz, 0.0f, moveVert);
rigb.AddForce(movement * speed);
}
bu kodu kullandığımda GameObje’ nin hareketini sağlıyorum ama bunu animasyon karakterime uygulamak ve normal bir şekilde W ‘ye basıldığında ilerlemesini sağlamak istiyorum. Sizce ne yapabilirim?
Cevapla
yasirkula dedi ki:	
31 Ağustos 2021, 14:20	
İlk attığınız kod animasyonu, ikinci kod da hareketi sağlıyor gibi duruyor. Bunları beraber kullanınca sorun nedir?
Cevapla
sıddık çiçek dedi ki:	
31 Ağustos 2021, 16:12	
beraber kullandığımda animasyonun hareket hızı ile uyuşmuyor. 2. kodu GameObject ‘e eklediğimde gayet güzel hareket ediyor.
yasirkula dedi ki:	
31 Ağustos 2021, 19:10	
Animasyonun hareket hızı ile mükemmel uyuşması için Humanoid rig ve Root Motion animasyonlar kullanmanız lazım. Bu durumda karakter script tarafından değil animasyon tarafından hareket ettirilir. Aksi taktirde hareket kodunuzun Speed değişkenini değiştirmeyi veya Rigidbody.AddForce yerine başka bir metot ile karakteri hareket ettirmeyi düşünebilirsiniz: https://www.youtube.com/watch?v=e94KggaEAr4
sıddık çiçek dedi ki:	
31 Ağustos 2021, 19:19	
Yardımınız için teşekkür ederim hocam sağolun.
duman61 dedi ki:	
26 Ağustos 2021, 00:54	
Merhaba Yasir Hocam android oyunuma admob ekledim, UnityEditorde hiç sorun yok ama build alıp telefonda deneyince bu hatayı alıyorum:
AndroidJavaException: java.lang.ClassNotFoundException: com.google.unity.ads.UnityInterstitialAdCallback
FORCE RESOLVE denedim ama işe yaramıyor ne yapabilirim acaba
Cevapla
duman61 dedi ki:	
26 Ağustos 2021, 03:34	
Sorun nasıl olduğunu anlamadığım bir şekilde çözüldü ama şimdi de test id lerini kullanmama rağmen load error code 3 hatası alıyorum 😦
Cevapla
yasirkula dedi ki:	
26 Ağustos 2021, 10:36	
“admob error 3” şeklinde arama yapmanız lazım ben maalesef bilmiyorum.
Erdinç dedi ki:	
12 Ağustos 2021, 18:02	
Merhaba Yasir Bey, Unity ile hazırladığım oyuna AdMob ile reklam ekledim ancak APK’yı Play Console yüklediğim zaman “APK’nız veya Android App Bundle’ınız, gizlilik politikası gerektiren izinler kullanıyor: (android.permission.READ_PHONE_STATE). hatası alıyorum. Bir kaç yıl önce de reklam eklemiştim ama böyle bir şey çıkmamıştı. Yapabileceğim bir şey var mı?
Cevapla
yasirkula dedi ki:	
12 Ağustos 2021, 18:37	
Başka bir plugin’den kaynaklandığını düşünüyorum, AdMob’un bu izni eklediğini daha önce görmedim. Ayrıca bkz. https://yasirkula.com/2018/02/28/unity-android-read_phone_state-izni-hakkinda/
Cevapla
Erdinç dedi ki:	
12 Ağustos 2021, 19:47	
İzin konusunu düzelttim teşekkür ederim.
Barış Biltekin dedi ki:	
09 Ağustos 2021, 13:53	
Yasir Bey, Unity kullanarak bir tarım uygulaması yapmayı düşünüyorum fakat doğru yöntemi, algoritmayı bir türlü bulamadım. Çünkü yapmayı düşündüğüm uygulama çok hassas gerçek dünya konum bilgisine ihtiyaç duyuyor ve yanılma payı 1m veya daha az olması gerekiyor. (GPS kullanmayı düşündüm ama GPS ‘in 15-20m yanılma payı olduğunu okudum.)
Yapmayı düşündüğüm uygulama bir örnekle açıklamak gerekirse şöyle çalışıyor. Misal bir çiftçi içinde 1.000 adet meyve ağacı bulunan bahçesinde dolaşıyor. 50 numaralı ağacın yanında durup android cihazındaki uygulamadan o ağaç ile ilgili gerekli verilere ulaşıyor.
Uygulama çiftçinin 50. ağacın yanında durduğunu nasıl tespit edebilir?
Cevapla
yasirkula dedi ki:	
09 Ağustos 2021, 14:08	
Maalesef benim teknik bilgimin tamamen dışında kalıyor, bilgim yok
Cevapla
JEEMSilver dedi ki:	
08 Ağustos 2021, 18:38	
Yasir Bey selamlar 2 sorum olacak;
1)
Mobil oyunumda ekrana şu kodlar ile dokunarak player objemi hareket ettirebiliyorum.
private void Update()
{
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
Vector2 touchPosition = Input.GetTouch(0).deltaPosition;
transform.Translate(touchPosition.x * movementSpeed * Time.deltaTime, touchPosition.y * movementSpeed * Time.deltaTime, 0);
}
}
Sorun şu ki her telefonda farklı farklı çalışıyor. Benim telefonumda akıcı iken Başka telefonlarda parmağımı 3-4 kere kaydırarak hareket ettirmem gerekiyor. Sebebi ne olabilir?
2)
Farklı farklı telefonlarda kameranın gösterdiği alan değişiyor. Kendi telefonumda herşey normalken başka telefonda sanki Background image ler zoom yapılmış gibi. Kod ile düzelir denildi ama hiç bir fikrim yok.
Çok teşekkür ederim
Cevapla
yasirkula dedi ki:	
08 Ağustos 2021, 19:25	
1) Ekran çözünürlüklerine göre değişir. Sizin telefonunuzun ekran çözünürlüğü yüksekse, parmağınızı biraz kaydırarak 100 piksel touchPosition elde ederken, düşük çözünürlüklü cihazlarda aynı miktar parmak kaydırmanız 50 piksele denk gelebilir. Her cihazda aynı olması için, deltaPosition’ı Screen.width’e bölebilirsiniz. Akabinde sonucu büyük bir sayı ile çarpın (deneme-yanılma ile sayıya karar verebilirsiniz).
2) Normalde kameraların dikey görüş alanı sabittir ama siz yatay görüş alanını sabit tutmak istiyor olabilirsiniz. O zaman: https://yasirkula.com/2020/09/12/unity-cerez-ders-kameranin-yatay-gorus-alanini-sabitlemek/
Cevapla
NF dedi ki:	
08 Ağustos 2021, 13:43	
İyi pazarlar,
Bir konuda fikrinize ihtiyacım var.
İki takımlı bir multiplayer proje oluşturdum,daha önce de sormuştum takımları sırasıyla kırmızı ve mavi gibi atacak o kısmı yaptım.Şimdi ise mavi takımda veya kırmızı takımda puan alan oyuncuların skorlarının toplamını herkesin görmesini sağlayacak bir UI oluşturmak istiyorum bunu nasıl yapabilirim.Kırmızı takım 5 puan,Mavi takım 7 puan vs… takım oyuncuları puan aldıkça o arayüze eklenecek bunu bütün oyuncular görecek(host,client).
Teşekkürler.
Cevapla
yasirkula dedi ki:	
08 Ağustos 2021, 19:21	
Skor olduğunda mutlaka server’da bir kod çalıştırıyorsunuzdur. Server’da aynı zamanda 2 adet int tutun, bunlar iki takımın skoru olsun. Server’daki skor kodu çalıştığında, ilgili takımın int’ini 1 artırın ve bu değişikliği tüm oyunculara bildirin. Oyuncular da UI’larındaki skoru o int ile değiştirsinler.
Cevapla
Enes dedi ki:	
31 Temmuz 2021, 21:29	
İyi akşamlar,
Multiplayer bağlantıda sırasıyla giriş yapan oyuncuların birini bir takıma(mavi takım) birini bir takıma(kırmızı takım) atama işlemi yapmak için nasıl bir yol izlemeliyim sizce,desteğinizi rica edebilir miyim ?
1.Oyuncu(Host)Mavi Takım – 2.Oyuncu(Client)Kırmızı Takım – 3.Oyuncu(Client)Mavi Takım – 4.Oyuncu(Client) Kırmızı Takım…gibi
Teşekkürler.
Cevapla
yasirkula dedi ki:	
01 Ağustos 2021, 00:49	
Teknik anlamda yardımcı olamam çünkü multiplayer bildiğim bir şey değil. Problemin özünde yapmanız gereken şey, (oyuncu sayısı % 2)’nin değeri 1 ise oyuncuyu mavi takıma vermek, yoksa kırmızı takıma vermek.
Cevapla
Yasin Yürek dedi ki:	
07 Temmuz 2021, 13:31	
Hocam merhaba, 2D bir projede karakterimin joystickten elimizi çektikten sonra hafif süzülmesini istediğim için rb.addforce kullandım. Rigidbody2D üzerinde gerekli lineerdrag – mass ayarlarınıda yaptım. gravity = 0 , oyunumda yerçekimi yok. İstediğim hareketi elde ettim. Kod aşağıdaki gibi.
Vector2 force = new Vector2 (joystick.Horizontal() * joystickSpeed, joystick.Vertical() *joystickSpeed);
rb.AddForce(force);
Sorun şu ki bazen oyunu başlattığımda aşırı derecede hızlı hareket ediyor. Yaptığım ayarlar yok sayılıp sanki bir anda karakterin hızı 10 iken bir anda 50 yapılmış gibi oluyor. Sebebi ne olabilir? Şimdiden çok teşekkür ederim hocam.
Cevapla
yasirkula dedi ki:	
07 Temmuz 2021, 13:49	
Oyunun başında velocity’i ve angularVelocity’i Vector3.zero yapmayı deneyebilirsiniz.
Cevapla
Yasin Yürek dedi ki:	
07 Temmuz 2021, 14:53	
Malesef hocam işe yaramadı. Sorun sadece oyun başladığında değil yanlış belirttim yukarıda sanırım. Oyunu başlattım hareket normal. Sonra oyun çalışır vaziyette iken herhangi bir pencereye tıkladım (örn: inspector) sonra tekrar oyun penceresine tıklayıp hareket ettirdiğimde karakter aşırı hızlanıyor. Apk da bu sorun oyunu aşağı indirip geri açıldığında oluyor.
yasirkula dedi ki:	
07 Temmuz 2021, 15:26	
Sonsuza kadar mı çok hızlı oluyor birkaç saniye sonra düzeliyor mu? Joystick’ten parmağınızı çekmeden oyunu aşağı alınca mı böyle oluyor yoksa hiçbir yere dokunmazken oyunu aşağı alınca da mı? Hiçbir yere dokunmazken aşağı alınca da oluyorsa, aşağı aldığınız oyunu tekrar açınca karakter kendiliğinden mi jet gibi gitmeye başlıyor yoksa sadece joysticki hareket ettirince mi jet gibi gitmeye başlıyor?
Yasin Yürek dedi ki:	
07 Temmuz 2021, 16:00	
Hocam yine başka bir pencereye tıklayıp geri dönünce normale dönüyor. Başka bir pencereye tıklamazsak hep hızlı kalıyor. Hiçbir yere dokunmazken oyunu aşağı alınca oluyor. Karakter kendiliğinden hareket etmiyor hocam. Sadece joystick i hareket ettirince jet gibi oluyor.
Cevapla
yasirkula dedi ki:	
07 Temmuz 2021, 18:33	
Projenizde OnApplicationPause ve OnApplicationFocus fonksiyonlarının kullanıldığı her yeri kontrol edin. Time.timeScale veya Time.fixedDeltaTime’ın değerlerini değiştirdiğiniz her yeri de kontrol edin, gerekirse bu değerleri Debug.Log ile yazıp konsoldan kontrol edin. Onun haricinde aklıma bir şey gelmiyor maalesef.
Yasin Yürek dedi ki:	
07 Temmuz 2021, 22:45	
Anladım hocam. Çok teşekkür ederim.
eYYUP dedi ki:	
30 Haziran 2021, 12:59	
HOCAM VERİ TABANI OLARAK HANGİ PROGRAMI ÖNERİRSİNİZ. UNİTY MYSQL DESTEĞİ DEVAM EDİYOR MU
Cevapla
yasirkula dedi ki:	
30 Haziran 2021, 14:22	
Hiç bilmiyorum veri tabanı ile çalışmadım.
Cevapla
eyyup dedi ki:	
30 Haziran 2021, 15:43	
teşekkürler
Emre dedi ki:	
22 Haziran 2021, 20:50	
Merhaba hocam. Script’imin içinde ArrayUtility.Contains(correctAnswers, slots[i].text) şeklinde kodum var. Bu kodla yapmaya çalıştığım şey, slots[i].text’in correctAnswers array’ının içinde olup olmadığını kontrol ediyorum.
Gayette çalışıyor fakat build alırken The name ‘ArrayUtility’ does not exist in the current context şeklinde hata alıyorum araştırdığımda ArrayUtuility’nin Editor için kullanıldığını öğrendim.
Yapmaya çalıştığım şey’i başka ne gibi yollarla yapabilirim? tavsiyelerinize ihtiyacım var.
Cevapla
yasirkula dedi ki:	
22 Haziran 2021, 21:14	
ArrayUtility sınıfı UnityEditor namespace’inde gözüküyor. O namespace sadece editörde çalışır, build alırken çalışmaz. System.Array.IndexOf(correctAnswers, slots[i].text) >= 0 kodunu deneyin.
Cevapla
Emre dedi ki:	
22 Haziran 2021, 22:01	
Teşekkür ederim hocam. İşe yaradı 🙂
kmumcu dedi ki:	
26 Mayıs 2021, 18:26	
Yasir Hocam Merhaba,
Öncelikle verdiğiniz bilgiler için teşekkür ederim. Oyun yazılımcılığında yeniyim ve yazılarınızdan çok faydalandım.
Yakın zamanda bir oyun yayınladım. Reklam olarak Admob kullanmıştım ancak hesabım askıya alındı. Özellikle ödüllü reklamlardan kazanılan hakların devam edebilmesi ve kullanıcıların sorun yaşamaması için Unity ads ile değiştirmeye karar verdim.
Unity Ads’i eklerken sizin yönergelerinizden de faydalandım. Test reklamı olarak deneyip sorun olmadığını görünce, Test modunu false yapıp editör menüsündeki test kutucuğunun da seçili olmadığına emin olduktan sonra güncelleme yaparak yayınladım ancak halen test reklamı gösteriliyor. Nerede yanlış yapmış olabilirim? Yorum yapabilirseniz sevinirim.
GameID yi ve test modunun doğru olduğunu birkaç kez kontrol ettim.
Ancak Ads SDK için package manager dan son sürümü (SDK 3.7.1) güncellediğimde;
GUID [4ac5b631b96354c75a98bb07d468da16] for asset ‘Packages/com.unity.ads/Plugins/iOS/UnityAds.framework/Headers/UADSInAppPurchaseMetaData.h’ conflicts with:
‘Assets/Plugins/iOS/UnityAds.framework/Headers/UADSInAppPurchaseMetaData.h’ (current owner)
We can’t assign a new GUID because the asset is in an immutable folder. The asset will be ignored.
Gibi çok sayıda hata alıyorum. Paketi silip asset Storedan SDK3.6.0 ı indirip kullandığımda bu hatalar olmuyor.
Oyunu Asset Store’dan indirdiğim SDK ile derledim. SDK dan dolayı sorun yaşamış olabilir miyim?
Cevapla
yasirkula dedi ki:	
26 Mayıs 2021, 19:06	
Unity Ads’i ya Asset Store’dan ya da Package Manager’dan import edin. İkisinden aynı anda import edince bahsettiğiniz hataları alırsınız. Package Manager’dan indirmeden önce, Asset Store’dan indirdiğiniz halini silmeniz lazım. Sorun bundan değildir bence ama bir süre beklemenize rağmen sıkıntı devam ediyorsa ve gerçekten de attığınız sürümde test modunun kapalı olduğundan %100 eminseniz maalesef benim aklıma bir şey gelmiyor 😦 İsterseniz Unity Dashboard’dan yeni bir project ve yeni reklam kimlikleri oluşturup onları kullanarak build alın.
Cevapla
kmumcu dedi ki:	
26 Mayıs 2021, 22:01	
Yorumunuz için teşekkürler,
Aslında ikisini aynı anda import etmiyorum Asset storedan indirdiğim paketi sildikten sonra package managerdan yüklüyorum. Ama bahsettiğim hataları alıyorum. Ama ilginç tarafı hataları console dan sildikten sonra build ederken ya da oyunu çalıştırırken tekrar almıyorum. Unity ilk açıldığında veya başka bir programa geçip tekrar unity ekranına geri geldiğimde hatalar geliyor.
yasirkula dedi ki:	
27 Mayıs 2021, 09:58	
Window-Services’ta Ads açıksa kapatın.
mehmet07 dedi ki:	
16 Mayıs 2021, 21:54	
Unity’de Ekran Dışı Hedef Gösterge Oku nasıl yapılır
Cevapla
yasirkula dedi ki:	
16 Mayıs 2021, 23:58	
Hazır bir asset kullanmak en hızlı çözüm olur: https://assetstore.unity.com/packages/tools/gui/off-screen-target-indicator-71799
Cevapla
mehmet07 dedi ki:	
20 Mayıs 2021, 20:03	
3B dünya konumunu bir ekran konumuna nasıl dönüştürürüz ?
yasirkula dedi ki:	
20 Mayıs 2021, 20:15	
Şu fonksiyon ile: https://docs.unity3d.com/ScriptReference/Camera.WorldToScreenPoint.html
Junior Developer dedi ki:	
03 Mayıs 2021, 12:24	
Merhaba Yasir Bey,
Öncelikle içerikleriniz çok kaliteli tebrik ederim. != null kullanımı hakkında bir yazınız var mı? null hakkında pek bilgi bulamıyorum. Kafama oturmadı. 🙂 Bu işlerde yeniyim. Şimdiden teşekkürler
Cevapla
yasirkula dedi ki:	
03 Mayıs 2021, 17:38	
“!= null”, bir objenin null olup olmadığını kontrol ediyor. Değeri hiç verilmemiş değişkenler null olurlar, elle değeri null yapılan değişkenler null olurlar ve Unity’e özel olarak, Destroy ile yok edilen veya sahne geçişinde otomatik olarak yok olan objeleri depolayan değişkenler null olurlar.
Cevapla
acespoly1 dedi ki:	
11 Mayıs 2021, 11:41	
Merhaba Yasir Bey, kusura bakmayın nereye yazacağımı bilemedim. Ben unity de bir oyun yaptım ve play console ‘a attım. Bazı hatalar var, rapor olarak göründü. Düzeltme yaptım, fakat oyunu silemiyorum, aktif de olmuyor. Düzeltmeyi de atamıyorum. 3 gündür hala incelemede diyor. Ne yapabilirim? Teşekkür ederim.
yasirkula dedi ki:	
11 Mayıs 2021, 11:42	
Oyunların ilk kabulü 1 haftaya kadar sürebiliyor o yüzden en azından 1 hafta beklemenizi öneririm. Belki bazı güncellemeler de artık o kadar uzun sürüyordur. Oyun incelemedeyken şuradaki “Mevcut Bir Uygulamayı Güncellemek” adımları ile güncellemek işe yaramıyorsa, maalesef bir bilgim yok: https://yasirkula.com/2014/04/17/unity-android-oyununuzu-google-playe-yuklemek/
Arif Cem Selçuk dedi ki:	
29 Nisan 2021, 10:25	
Yasir Bey Merhaba,
Level sonundaki Boss’u yendiğimde tetiklenen finisih animasyonunda playerin o anki kaldığı pozisyondan (Ör: -2.48,3.25,0) 0,0,0 pozisyonuna gidip birkaç animasyon yapıp level complete ekranını yazdırmak istiyorum. Fakat animasyondan player’ı 2 saniye sonra 0,0,0 pozisyonuna aldıktan sonra play yapınca playeri hiç bir şekilde scene ekranında hareket ettiremiyorum. Boss’u yendikten sonra finish animasyonu çalıştığı için kendi kendine 0,0,0 pozisyonuna gidiyor. Fakat finish animasyonu tetiklenmeden öncesinde de playeri hareket ettiremiyorum.
Sebebi ne olabilir sizce?
Cevapla
yasirkula dedi ki:	
29 Nisan 2021, 10:53	
Biraz karmaşık anlatmışsınız tam anlamamış olabilirim. Eğer animasyonda player’ın pozisyonu 0,0,0 olarak keyframe’lendiyse, o zaman animasyon player’ı oraya zıplatır. O transform.position keyframe’ini silerseniz düzelir. Ya da belki başka bir kod Update’te pozisyonu 0’a ayarlıyordur bilmiyorum.
Cevapla
Arif Cem Selçuk dedi ki:	
01 Mayıs 2021, 19:14	
Haklsınız karışık olmuş şöyle anlatayım;
Player karakterim Bossu öldürdüğü anda hangi koordinatta olursa olsun (atıyorum -2.5,-3.5,0) öldürdükten sonra 0,0,0 pozisyonuna nasıl getirebilirim?
Bunu yapması için animasyonda finish klibi oluşturdum ve bu klip bool ile boss öldükten sonra true yaparak tetiklenerek çalışmasına rağmen unity de play tuşuna basara basmaz daha boss bile ortada yokken karakteri hiç hareket ettiremiyorum.
Apply Motion diye bir tuş var bunu tikli hale getirince karakter hareket etmeye başlıyor fakat o zamanda 0,0,0 pozisyonuna gitmiyor.
yasirkula dedi ki:	
02 Mayıs 2021, 01:14	
transform.position’ı Vector3.zero’ya eşitlemeyi denediniz mi?
efe dedi ki:	
26 Nisan 2021, 05:12	
Yasir Hocam selamlar,
Hocam yaklaşık 1 aydır Google Aile politikalarıyla uğraşıyorum internette bir bir çözüm bulamadım.
Acaba siz yardımcı olabilir misiniz ?
Hocam yaptığım uygulama herhangi bir bilgi istemiyor ve toplamıyor fakat yinede politika sorunu yaşıyorum. Google sorunu bu şekilde açıklıyor… bu sorunu nasıl çözebiliriz. Çoğu kaynakta Unity ile ilgili olduğu yazıyor ama bir cevap yok.
”İnceleme sırasında, uygulamanızın Aile Politikası Gereksinimlerini ihlal ettiğini tespit ettik . Uygulamanızın çocuklardan kişisel ve hassas bilgiler topladığını tespit ettik, ancak bu, Play Console’unuzun Hedef kitle ve içerik bölümünde açıklanmadı .
Hedef kitlede çocukları içeren uygulamalar, uygulamanızda aranan veya kullanılan API’ler ve SDK’lar dahil olmak üzere, uygulamanızdaki tüm kişisel ve hassas bilgilerin toplanmasını ifşa etmenizi gerektiren tüm Aile Politikası gereksinimlerine uymalıdır. Daha fazla ayrıntı ve yaygın ihlal örnekleri için Aile Politikası Gereksinimleri sayfasını okuyabilirsiniz .
Örneğin, uygulamanızın aşağıdaki kişisel ve hassas bilgileri topladığını tespit ettik:
Reklam kimliği
Android Cihaz Kimliği’
Cevapla
yasirkula dedi ki:	
26 Nisan 2021, 10:19	
Reklam veya analitik SDK’leri bu sorunu çıkarıyordur. Bu sorunla tam olarak nasıl başa çıkılır maalesef bilmiyorum, bilmediğimden atıp sallamak istemiyorum. Facebook’taki oyun geliştirici gruplarında veya oyun geliştirici forumlarında bu soruyu sormanızı öneririm (google’dan çözümü bulamazsanız).
Cevapla
Arif Cem Selçuk dedi ki:	
25 Nisan 2021, 14:54	
Merhaba,
2D Shooter oyunu yapıyorum ve şu şekilde sürekli ateş etmesini tanımladım;
public float bulletRespawnTime;
void Start()
{
StartCoroutine(ShootDelay());
}
IEnumerator ShootDelay()
{
while (true)
{
yield return new WaitForSeconds(bulletRespawnTime);
Shoot();
}
}
Fakat düşmanlardan random çıkan ateş hızı sıklığını arttırıcı bir boost ile trigger ettirdiğimde, trigger içerisine yazdığım yeni bulletRespawnTime değeri çalışmıyor. Sürekli start’ta verdiğim değer olarak kalıyor. Player, Boost’a trigger ettiğinde bu değeri nasıl değiştirebilirim? hatam nerededir.
Teşekkürler
Cevapla
yasirkula dedi ki:	
25 Nisan 2021, 15:36	
Boost script’inden, Player script’indeki bulletRespawnTime’ı değiştirmeniz lazım: https://yasirkula.com/2019/07/27/unity-bir-scriptten-baska-bir-scriptteki-degiskene-ulasmak
Cevapla
Arif Cem Selçuk dedi ki:	
25 Nisan 2021, 17:09	
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.tag == “Player”)
{
PlayerManager.instance.bulletRespawnTime = 0.15f;
}
}
0.15f saniye aralıklarla shoot fonksiyonunu çalıştırması için Boost scriptine üstteki triggerı yazdım fakat maalesef oyun başlamadan önceki girdiğim değer sabit kalıyor. Start fonksiyonunda Coroutine olarak çalışan bir değişken acaba değiştirelemiyor mu? Öyle birşey var mı ?
yasirkula dedi ki:	
25 Nisan 2021, 18:28	
Sahnede birden çok Player objesi olabilir mi? Player’ın tag’inin Player olduğuna emin misiniz? “if” koşulunun içine Debug.Log koyunca o log konsolda gözüküyor mu? Değiştirdiğiniz Bullet Respawn Time’ı Player’ı seçince Inspector’da görüyor musunuz?
Arif Cem Selçuk dedi ki:	
25 Nisan 2021, 18:46	
Çok enteresan ya 2 gündür çözemiyorum.
Triggerin içerisine başka şeyler yazıyorum yada Debug.Log alıyorum sorunsuz çalışıyor. Playe demeden önce inspectorde atadığım değer neyse play dedikten sonra o sabit kalıyor. Kendim manuel değeri bile oynayamıyorum.
çok enteresan ya. çözemiyorum yardım please.
yasirkula dedi ki:	
25 Nisan 2021, 19:49	
Değeri manuel değiştiremiyorsanız o değer mutlaka bir script’in Update’inde resetleniyordur. Aksi taktirde Inspector’dan değiştirememeniz mümkün değil.
Arif Cem Selçuk dedi ki:	
25 Nisan 2021, 22:22	
Haklıymışsınız. Gerçekten çok teşekkürler. Valla böyle bir sayfanız iyi var. Teşekkürler. Daha öncede faydanız dokunmuştu propertylerde. Saolun
Ali dedi ki:	
19 Nisan 2021, 04:53	
Merhaba, iphone5s ve iPhone 6 da xcode da bu crash geliyor. Profiler dersinizi okuyarak tavsiye ettiğiniz optimizasyonları yaptım fakat garbage collector çok az fark etti. Sorum şu, hata mesajındaki 650 mb, neyi temsil ediyor ? kodlar mı grafikleri mi vs… bunu çözmem içi nereye bakmam gerek onu anlamak için soruyorum.
Notlar;
-Oyun 2D,
-8k spritesheetler barındırıyor.
-next level geçişlerinde alıyorum bu hatayı her zaman yapmıyor.
-iphone 6 sonrası hiç bir cihazda bu sorun olmadı.
Job.Worker 0 (9): EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=650 MB, unused=0x0)
Cevapla
yasirkula dedi ki:	
19 Nisan 2021, 11:09	
Unity’nin Memory Profiler paketini kullanabilirsiniz.
Cevapla
Ali dedi ki:	
19 Nisan 2021, 18:02	
Teşekkür ederim, spritesheet tarafında sorun yaşıyorum gibi duruyor. düşük cihazlarda çözünürlüklerini düşürebilir miyim? yani 5s ve 6 da 2k çözünürlük olsun, daha üst cihazlarda 8k olsun diye bir seçeneğimiz var mı acaba ?
yasirkula dedi ki:	
19 Nisan 2021, 18:21	
Asset Bundle veya Addressables ile olabilir (yalnız kendim kullanmadım, hiç tecrübem yok). Quality Settings’te de Texture Quality ayarı var, oyundaki TÜM texture’ların boyutunu düşürmeye yarıyor. Belki o da işinize yarar.
ealgames dedi ki:	
10 Nisan 2021, 01:14	
Hocam iyi geceler aşamadığım bir problem var. Apk geri plana alınınca çalışmasını istemiyordum oyunumda Timera bağlı işleyişler bir hayli fazla ekran kitlendiğinde veya ana ekrana geçildiğinde aplication.quit kodunu işleyerek sorunu aştım ama şimdide admob eklediğim için oyun ads açıldığı zaman haliyle pause oluyor bu sefer oyunum kapanıyor Google ads üzerinden time.scale 0 değerini işleyen yeri keşfettim sildim ama yine bir sonuç elde edemedim bool ile çözmeye çalıştım ama reklam booldan önce işlediği için sonuç alamadım
Cevapla
yasirkula dedi ki:	
10 Nisan 2021, 07:16	
Reklam objesinin OnAdOpening event’i belki işinize yarar.
Cevapla
ealgames dedi ki:	
10 Nisan 2021, 15:47	
OnAdOpening bool gibi mi kullanmam gerekiyor kullanımı hakkında hiç bir fikrim yok
yasirkula dedi ki:	
10 Nisan 2021, 16:15	
OnAdOpening bir event. AdMob’un resmî Unity dokümantasyonunda kullanımını görebilirsiniz: https://developers.google.com/admob/unity/interstitial
ealgames dedi ki:	
10 Nisan 2021, 17:52	
Hocam oyunu yayınlayacağım bunu halledersem onadopening eventi gerçekleşince ReklamAcildi Bool u true işlesin istiyorum 3 gündür denemediğim yol kalmadı
public void ReklamAcikIsle(object sender, EventArgs args)
{
ReklamAcildi = true;
reklamObjesi.OnAdOpening+= ReklamAcikIsle;
}
yasirkula dedi ki:	
10 Nisan 2021, 20:22	
Attığım linkte de göreceğiniz üzere, “reklamObjesi.OnAdOpening+= ReklamAcikIsle;” satırını “reklamObjesi = new …” satırının altına taşımanız lazım.
ealgames dedi ki:	
10 Nisan 2021, 20:50	
çok teşekkür ederim hocam bool true olarak aldım fakat işe yaramadı pause ile aynı anda bool kullanılmıyor sanırım reklamı gösteriyor uygulamayı kapatmadan fakat bu seferde reklam yokken koşul sağlanmasına rağmen uygulamayı kapatmıyor
Cevapla
yasirkula dedi ki:	
10 Nisan 2021, 20:55	
Reklamın OnAdClosed event’inde veya Unity’nin OnApplicationFocus/OnApplicationPause fonksiyonunda bool’u false yapmak gibi deneme-yanılmalar yapın derim.
ealgames dedi ki:	
10 Nisan 2021, 21:17	
Onadclosed eventinde bool u false yaparak denedim hocam zaten olmadı application quiti if içerisine alıp denedim, pause & & ReklamAcildi==false olarakta denedim sonuç vermedi unity fonksiyonlarıyla deneyeceğim şimdi ilginiz için çok teşekkür ederim sonucu yazarım belki başka birinin daha işine yarar.
ealgames dedi ki:	
11 Nisan 2021, 01:05	
hocam OnAplicationFocus !focus içinde bool ile istediğim verimi aldım çok çok çok teşekkür ederim
Ali dedi ki:	
09 Nisan 2021, 23:59	
Merhaba,
ilginç bir sorunum var bir çözüm bulamadım,
Oyun projemi build&run ile çalıştırdığımda bir sorun olmadan çalışıyor, apk aldığımda bazı katmanlar gözükmüyor oyun içinde bir fikriniz var mı bu sorun ile ilgili ?
Cevapla
ali dedi ki:	
10 Nisan 2021, 00:03	
örnek olarak, butonun görseli var ama içindeki yazı yok
Cevapla
yasirkula dedi ki:	
10 Nisan 2021, 07:13	
Build&Run butonu ile Build butonu arasında hiç fark olmamalı, ilk defa böyle bir sorun duyuyorum. Belki öyle denk gelmiştir. Logcat ile hata alıp almadığınıza bakmak haricinde önerebilecek bir şey gelmedi aklıma: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Cevapla
Furkan dedi ki:	
09 Nisan 2021, 09:29	
Hocam iyi günler. Benim bir ok görselim var (pivotu görselin en alt kısmında) ve bu okun oyuncunun oyun sırasında fare ile tıklayıp açısını/rotation değiştirebilmesini istiyorum. Bunu nasıl sağlayabilirim.şimdiden çok teşekkürler
Cevapla
yasirkula dedi ki:	
09 Nisan 2021, 11:06	
“unity 2d object look at mouse” şeklinde arama yapınca karşınıza gelen sonuçlara bakabilirsiniz.
Cevapla
disking dedi ki:	
08 Nisan 2021, 16:32	
merhabalar, unity hakkında bir sorum olacaktı oyuna admob reklamları ekledim samsung oppo gibi cihazlarda reklamlar gözüküyor herhangi bir sorun yok fakat xiaomi cihazlarda reklamlar gözükmüyor daha önce böyle bir sorunla karşılaştınız mı?
şimdi telefonu bilgisayara bağlayıp baktım şu iki hatayı veriyor
the webview is destroyed ignoring action
not retrying to fetch app settings
Test reklamları da gerçek reklamlar da xiaomi cihazlarda gözükmüyorlar diğer cihazlarda hiçbir sorun yok.
Günlerdir bu sorunu arıyorum ve çözebilen olmadı en son bilgisayara format atıp sıfırdan kurulum yapacağım o duruma geldim yardımcı olursanız çok sevinirim.
Cevapla
yasirkula dedi ki:	
08 Nisan 2021, 20:00	
Ben yaşamadım ama bilgisayarla alakası olduğunu düşünmüyorum. Logcat’te “ad failed to load” şeklinde bir hata mesajı aramanızı öneririm. Bulursanız o hatayı google’da aratın.
Cevapla
disking dedi ki:	
08 Nisan 2021, 20:11	
Şöyle bir durum fark ettim ki reklam yükleniyor onda bir sorun yok fakat ekrana çıkmıyor. Bunu da şuradan fark ettim; benim bir ödüllü reklamım var o yüklenirse ekrana bir panel geliyor ve reklam izlenip oyuna devam ediliyor. Eğer yüklenmezse yani internet vs. olmama durumunda o panel hiç ekrana gelmiyor ve oyun bitiyor. Bu reklamın çıkmadığı telefonlarda o panel ekrana geliyor, yani reklam yükleniyor. Fakat sorun reklamın ekrana gelmemesi, yani yüklendiği halde gösterilmemesi. Bunu çözemedim önerebileceğiniz her hangi bir şey var mı?
yasirkula dedi ki:	
08 Nisan 2021, 20:16	
Tam reklam göstermek istediğiniz anda ekrana gelen başka hata mesajları var mı? Reklam gösterme kodunuzdan bir satır önce ve bir satır sonra Debug.Log koyduğunuzda onlar gözüküyor mu?
disking dedi ki:	
08 Nisan 2021, 20:38	
dediğiniz gibiymiş yüklemede sorun var diyor yani OnAdFailedToLoad giriyor. Ama sadece belirli cihazlarda bunu yapması mantıksız değil mi?
Cevapla
yasirkula dedi ki:	
08 Nisan 2021, 20:47	
Teoride garip; pratikte AdMob niye bu tarz hatalar verir hiç fikir üretemiyorum. AdMob dersimi yorumlara kapatarak AdMob’la ilişiğimi kestikten beridir kafam rahat.
disking dedi ki:	
08 Nisan 2021, 21:00	
Sanırım yapacak bir şeyim kalmadı. Her şeyi denedim denemediğim bir şey yok bu sorunu sanırım çözemeyeceğim başkalarının oyunlarında ve uygulamalarında aynı cihazda reklam gözükürken bende gözükmüyor pes edeceğim muhtemelen.
Furkan dedi ki:	
05 Nisan 2021, 21:35	
Hocam öncelikle merhabalar. Uzundur çabaladığım ama bir türlü sonuca erişemediğim bir olay var. İki sahnemiz ve iki scriptimiz var. İlk sahnemizde bir topumuz var. Bu top aynı zamanda prefab olarak da kayıtlı. İlk sahne başlatıldığında bizi bir panel karşılıyor bu panelde bir çok image var. Hangi image a tıklanırsa topun SpriteRenderer compenentine o image gidiyor. Bu ilk sahne için işliyor. İkinci sahneye geçildiğinde bu topa ilk sahnede seçilen image nin aynısının eklenmesini istiyorum. Bu olayı nasıl gerçekleştirebiliriz hocam? Oyun çalışıyorken prefabdaki değişiklikleri prefaba anlık olarak kaydedebileceğimiz bir kod dizini var ise bu bizim işimizi görecektir. Araştırdım denedim ama maalesef başaramadım. Şimdiden teşekkür ederim.
Cevapla
yasirkula dedi ki:	
05 Nisan 2021, 22:00	
Image’lar listesinden kaçıncı sıradaki Image’ı oyuncunun seçtiğini PlayerPrefs’te tutabilirsiniz (SetInt). Ardından 2. sahnede bu indexi GetInt ile çekip o sıradaki Image’ı o sahnedeki topa verebilirsiniz.
Cevapla
Furkan dedi ki:	
06 Nisan 2021, 17:27	
Hocam çok teşekkürler fikriniz için. Dediğiniz gibi yaptım ve takır takır çalışıyor. 🙂
mehmet07 dedi ki:	
26 Mart 2021, 20:53	
public void Restart()
{
SceneManager.LoadScene(sceneIndex);
}
Oyun ilk açıldığında normal çalışıyor ama restart butonuna bastığım zaman oyunu yüklüyor ve daha sonra çalışmıyor.
Oyunu duraklattığım zaman ve daha sonra resume butonuna bastığım zaman oyun normal şekilde çalışıyor.
Bunun sebebi ne olabilir.
Cevapla
yasirkula dedi ki:	
26 Mart 2021, 22:06	
Belki bir objenin OnDisable veya OnDestroy fonksiyonunda timeScale’i 0 yapıyorsunuzdur ve sahne kapanırken bu kod çalışıyordur.
Cevapla
mehmet07 dedi ki:	
27 Mart 2021, 00:42	
Bu hatayı çözdüm. Şimdi bu hatayı alıyorum unity is already in list. you cannot locate the same versiyon. Bu hatayı nasıl çözebilirim.
yasirkula dedi ki:	
27 Mart 2021, 01:08	
Unity Hub’ı silip tekrar kurarak veya Denetim Masası’ndan Ethernet/Wi-Fi’ı devre dışı bırakıp tekrar devre içi yaparak çözenler olmuş ama daha fazla çözüm yolu için hatayı google’lamanız lazım.
mehmet07 dedi ki:	
27 Mart 2021, 16:18	
Hatayı unity ve hub tekrar install yaparak çözdüm cevaplarınız için teşekkür ederim.
abdulmuttalip dedi ki:	
07 Mart 2021, 19:06	
iyi akşamlar admob geçiş reklamında gerçek reklam id si kullanılmasına rağmen test reklamı çıkmasının sebebi ne olabilir.
Cevapla
yasirkula dedi ki:	
07 Mart 2021, 19:41	
AddTestDevice fonksiyonunu kullanmadığınızdan emin olun ve oyunu silip tekrar kurmayı deneyin.
Cevapla
abdulmuttalip dedi ki:	
07 Mart 2021, 20:03	
yani sorun kesinlikle yazılan kodlardan mı kaynaklanır
yasirkula dedi ki:	
07 Mart 2021, 20:41	
Benim dersimde gösterdiğim 2 metot arasından sadece script’te AddTestDevice fonksiyonunu bırakmak bu soruna sebep olabilir. Mediation kullanıyorsanız ve ilgili reklam servisinin sitesinden test reklamlarını aktif hale getirdiyseniz, o zaman o ayarı tekrar kapatmalı ve biraz beklemelisiniz. Eğer sadece sizin cihazınızda test reklamları gözüküyorsa, belki şurada bahsettiği gibi AdMob arayüzünden cihaz ID’nizi test cihazı olarak eklemişsinizdir: https://support.google.com/admob/answer/9691433
teknosy8 dedi ki:	
07 Mart 2021, 14:59	
Merhaba,
Admobta yeni reklam birimleri de çıktı. Native reklamlar gibi bunları singleton scriptinize eklemeyi düşünüyor musunuz?
Cevapla
yasirkula dedi ki:	
07 Mart 2021, 15:09	
AdMob dersimi güncellemeyi planlamıyorum.
Cevapla
konfasaksimet dedi ki:	
02 Mart 2021, 00:06	
Yasir Bey Merhaba,
Emekleriniz ve yardımlarınız için çok teşekkürler, benim de kısa bir sorum olacaktı.
2D shooter oyunu yapmaya çalışıyorum. Bölüm sonu çıkan bossunu prefabtan instantiate olarak tüm düşmanlar bittikten sonra türetiyorum ve sizin söylediğiniz gibi property ile bossun sağlıgını sürekli kontrol ettirebiliyorum. Fakat boss öldükten sonra animatik bir Level Complete ekranı çıkarmam gerekiyor. Haliyle boss’a atasam scripti boss ile birlikte yok oluyor. Başa bir gameobject’ten çağırsam da boss instantiate edilmediği zamanlarda null hatası alıyorum. Sizce ne yapmalıyım. Teşekkürler.
Cevapla
yasirkula dedi ki:	
02 Mart 2021, 00:17	
Aklıma gelen iki yöntem var:
– Boss objesini bir “public static Boss instance;” değişkeninde tutuyorsanız, boss.Saglik property’sine erişmeden önce if(boss) yaparak, boss’un henüz spawn olup olmadığını kontrol edin
– Level Complete menüsünü çıkaran fonksiyonu GameManager gibi bir objeye verip, boss öldüğünde bu fonksiyonu çağırın
Cevapla
Arif Cem Selçuk dedi ki:	
02 Mart 2021, 02:52	
Cevabınız için teşekkürler.
İlk söylediğinizi deneyeceğim, inşallah becerebilirim.
2. Söylediğiniz de bossun ölüp ölmediğini kontrol etmem için update fonksiyonundan sürekli kontrol etmem gerekli. Bu durumda Boss instantiate olmadığı zamanlarda nullexpect.. hatası veriyor.
yasirkula dedi ki:	
02 Mart 2021, 09:55	
İlk cevabımda söylediğim if(boss)’u burada da kullanabilirsiniz. Daha güzel bir alternatif, boss’un sağlık property’sinin set fonksiyonunda değerin 0 veya altına inip inmediğine bakmak, inmişse level complete menüsü çıkarmak.
Arif Cem Selçuk dedi ki:	
04 Mart 2021, 13:00	
Yasir Bey,
Şu şekilde deniyorum ve update de bu fonkisyonu çalıştırdığım zaman prefab halindeki level1boss’u instantiate edilmediği zamanlarda (tüm düşmanlar yok olduktan sonra spawn oluyor) NullReferanceException hatası alıyorum.
Not: health property Level1BossHealth scriptinde tanımlı.
void LevelComplete()
{
if (Level1BossHealth.instance.HealthPoints <= 0 && Level1BossHealth.instance.gameObject!=null)
{
KillBoss();
}
}
yasirkula dedi ki:	
04 Mart 2021, 13:06	
if (Level1BossHealth.instance && Level1BossHealth.instance.HealthPoints <= 0)
Arif Cem Selçuk dedi ki:	
08 Mart 2021, 11:13	
Çok çok çok teşekkür ederim.
if (Level1BossHealth.instance && Level1BossHealth.instance.HealthPoints <= 0)
Dediğiniz bu işe yaradı. Boss gameobje'si yok oluyor ve Level Complete ekranı çıkıyor. Fakat boss gameobjesi yok olduktan sonra fonkiyon update hala çalıştığı için bu sefer de obje yok oldu diyip yine MissingReferenceExpection hatası veriyor. Sanırım burada ….!=null gibi birşeyler yazacağım? yada başka bir metod var mıdır?
yasirkula dedi ki:	
08 Mart 2021, 11:53	
Açıkçası daha önce bahsettiğim property yolunu izlerseniz bu sorunların hiçbiri başınıza gelmez ve bunun doğru yolu da o. Ama Update kullanmak istiyorsanız da, hatanın geldiği satırın bu satır olduğuna emin misiniz?
Arif Cem Selçuk dedi ki:	
08 Mart 2021, 11:56	
Property’i oluşturup kullanıyorum ama sadece set fonksiyonunda health i kontrol etmek için kullanıyordum. Destroy komutunu da oraya yazmayı hiç denememiştim. Şimdi deniyorum.
ertugrul dedi ki:	
25 Şubat 2021, 17:34	
iyi günler Yasir bey.
size bir sorum vardı.
https://yasirkula.com/2014/05/26/unity-3d-android-oyunlariniza-admob-reklamlari-eklemek-resimli-anlatim/
burada her ne kadar bu dersi artık güncellemeyi düşünmüyorum desenizde tekrar sormak istedim.
Admob un yeni reklamı Rewarded interstitial ads (https://developers.google.com/admob/unity/rewarded-interstitial) “5) Singleton Reklam Scripti (Son Güncelleme 29.10.2019)” daki reklam scriptinize eklemeyi düşünüyor musunuz. ben biraz uğraştım ama başaramadım.
kolay gelsin.
Cevapla
yasirkula dedi ki:	
25 Şubat 2021, 17:41	
Rewarded interstitial’ı ilk defa duymuş oldum. AdMob dersimi güncellemeyi planlamıyorum o yüzden ben maalesef yardımcı olamayacağım.
Cevapla
ertugrul dedi ki:	
25 Şubat 2021, 18:00	
teşekkür ederim.
ertugrul dedi ki:	
23 Şubat 2021, 01:13	
Yasir bey merhaba.
Herşeyden önce bu siteniz ve yardımseverliğiniz için teşekkür ederim. Sizin gibi birisini bulmak zor.
soruma gelecek olursam. sitenizde ayrıntılı bir şekilde lightingin anlatıldığı bir yer bulamadım. Acaba bu konuda bilginiz var mı?
tünel gibi bir şeyin içinde ilerlerken içerdeki objelerin ve tünelin homojen bir şekilde aydınlanmasını istiyorum ama bir türlü yapamadım. directional light kullandığımda bir taraf gölge kalıyor. pointte ise yakın yer çok parlak oluyor. areayı ise yapamadım.
bu konuda yardımcı olabilir misiniz?
nasıl bir şey denemeliyim yada önerebileceğiniz bir kaynak var mı?
şimdiden teşekkür ederim.
iyi günler
Cevapla
yasirkula dedi ki:	
23 Şubat 2021, 09:46	
Kapalı alanların ışıklandırması konusunda benim de tecrübem yok ama point light’ın Intensity’sini kısıp Range’ini artırsanız, yeterli olmazsa bir de sahnenin Lighting Settings’indeki Ambient ışığın şiddetiyle oynasanız nasıl olur?
Cevapla
ertugrul dedi ki:	
23 Şubat 2021, 15:37	
zaman ayırdığınız ve cevap verdiğiniz için teşekkür ederim.
dediğinizi yaptım ve ambient ışığını daha beyaz yapınca sorunum biraz düzeldi.
teşekkür ederim.
Yasin dedi ki:	
24 Ocak 2021, 13:58	
Abi selamün aleyküm.
Abi bolt (visual scripting) daki gibi bir node editor yaptım. flow yapısı filan tamam. Kendi Inspector ümü nasıl yaparım. Kaynak var mıdır ? Şuan deneme yanılma ile bir şeyler deniyorum. İki farklı editor yapıp birbirine bağlamak mümkün mü? biri node editor olacak diğeri inspector editor? Ve hasıl kelam kendi inspectorumu yapıp node editordeki nodeları kontol etmek, yönetmek, companent eklemek vb istiyorum.
Cevapla
yasirkula dedi ki:	
24 Ocak 2021, 14:55	
Şu dersin OnInspectorGUI fonksiyonunda kendi Inspector’unuzu yazmaktan basitçe bahsettim ama editör script’leri aşırı derecede kapsamlı bir konu olduğu için, büyük olasılıkla “unity custom editor” şeklinde google araması yapıp karşınıza çıkan tonla derse bakmanız gerekecek 😀
Cevapla
yasin dedi ki:	
24 Ocak 2021, 21:26	
Abi inspector’den editorler windowu içinde bulunan node lara ulasmak mumkün mü ? Custom editor de var olan inspector’e buton vb. eklemeler yapılıyor. Inspector’den Editör panelindeki bir node’a ulaşabilir miyim ? Ben ulaşmak mümkün olmadığı için kendi inspector’ümü yazmak istiyorum. Var olan inspector dışında. iki editör windowu arasında ilişki kurmak istiyorum diğer bir deyişle. birinde node lar olacak. diğerinde nodun üzerine tıkladığımda o node’a buton text filan ekleme yapabileceğim. project paneli ile inspector paneli gibi.
yasirkula dedi ki:	
24 Ocak 2021, 21:34	
GetWindow fonksiyonu ile başka bir editör penceresine erişebilirsiniz. Ardından o pencerenin public değişken ve fonksiyonlarını kullanabilirsiniz.
yasin dedi ki:	
26 Ocak 2021, 10:40	
Diğer editördeki public değişkenlere ulaştığın, GetWindow fonksiyonu için örnek kod yazabilir misin abi rica etsem ?
yasirkula dedi ki:	
26 Ocak 2021, 11:42	
DigerEditor diger = GetWindow<DigerEditor>();
diger.birPublicDegisken = true;
Emre dedi ki:	
21 Ocak 2021, 15:40	
Merhaba hocam. Oyunlardaki oyun parası tutma işlemi(sahneler arası geçişlerde, oyunu kapatıp açınca vs.) nasıl yapılıyor. Araştırdığımda PlayerPrefs i buldum fakat bir yabancı kaynakta da önemli veriler için asla kullanmayın kolay hacklenebilir yazıyor. Sizce bu işlem için en doğru yol hangisi?
Cevapla
yasirkula dedi ki:	
21 Ocak 2021, 15:50	
Online oyunlarda paranın sunucularda tutulması gerekiyor ama offline oyunlarda PlayerPrefs’ten biraz daha güvenli olması için binary serialization (google BinaryFormatter) kullanabilirsiniz. Dosyayı persistentDataPath’e kaydedebilirsiniz.
Cevapla
Emre dedi ki:	
21 Ocak 2021, 15:59	
Teşekkür ederim hocam.
Ayse dedi ki:	
20 Ocak 2021, 15:29	
meraba
benim objem çok hızlanınca duvarın arkasına geçiyor bunu nasıl çözerim acaba. hareketini transform.translate olarak verdim. hızı fazla yaparsam duvarı geçiyor. duvarı baya kalın yaptım collider de kalın yaptım yine de duvarı geçiyor hızı fazla olunca
Cevapla
yasirkula dedi ki:	
20 Ocak 2021, 16:11	
Rigidbody’nin Collision Detection ayarlarıyla oynayıp hareket kodunu rigidbodyComponenti.MovePosition olarak değiştirmek işe yaramıyorsa, “unity fast moving object goes through” şeklinde aramanız gerekecek.
Cevapla
Anıl dedi ki:	
20 Ocak 2021, 15:00	
Maze Spawn On Mirror Network
Yasir Hocam Merhaba. Ben script ile maze generate ediyorum ve oluşturduğum maze in aynısını servera join olan clientta göremiyorum. Orada farklı bir maze oluşuyor. Hem serverda hem clientta aynı maze i nasıl generate edebilirim? Network için Mirror kullanıyorum. Teşekkürler
Cevapla
yasirkula dedi ki:	
20 Ocak 2021, 15:26	
Maze generator’unuza elle seed girebiliyorsunuzdur diye düşünüyorum. Seed’in olayı, aynı değer için her zaman aynı maze’in oluşturulmasıdır. Yapmanız gereken, client’ta maze’i oluşturmadan önce, maze’in seed’ini server’dan çekmek ve maze generator’a aktarmak.
Cevapla
Anıl dedi ki:	
20 Ocak 2021, 16:30	
Geri dönüşünüz için teşekkürler hocam. Unity’de biraz amatörüm açıkçası. Bahsettiğiniz aşamaları hangi fonksiyonların içinde yapmam gerekiyor? Tekrar teşekkürler.
yasirkula dedi ki:	
20 Ocak 2021, 16:33	
Kullandığınız plugin’lerin kullanımını bilmiyorum, ben maalesef yardımcı olamayacağım. Maze generator plugin’ini yapan kişiden destek almanız lazım.
Anıl dedi ki:	
20 Ocak 2021, 16:44	
Plug-in kullanmıyorum hocam. Kendim generate ediyorum
Cevapla
yasirkula dedi ki:	
20 Ocak 2021, 16:52	
Maze generate etmeye başlamadan hemen önce Random.InitState fonksiyonunu çağırarak ile belli bir seed kullanabilirsiniz.
Anıl dedi ki:	
20 Ocak 2021, 18:00	
Network objesi olarak mı spawn etmek gerekiyo peki hocam yoksa scene de mi kalmalı maze objesi?
Cevapla
yasirkula dedi ki:	
20 Ocak 2021, 18:27	
Multiplayer konusunda maalesef bilgim yok.
Fatih dedi ki:	
20 Ocak 2021, 12:34	
Merhaba, 10 tane obje var oyunda diyelim. Bu objelere dokununca renkleri kırmızı oluyor diyelim. Buton özelliği olarak yani. 2. objeye dokununca kırmızı oluyor, 3. objeye dokununca da kırmızı olacak ancak 2. obje normal haline gelsin istiyoruz veya 8. objeye dokununca o kırmızı olsun önceki dokunduğumuz biri varsa o eski haline gelmiş olsun. Aklınıza gelen bir çözüm var mı
Cevapla
yasirkula dedi ki:	
20 Ocak 2021, 13:48	
Bir önceki dokunulan objeyi tutan “private static Obje oncekiObje;” değişkeniniz olur. Bir objeye tıklayınca, öncelikle oncekiObje’nin değerinin null olup olmadığına bakılır ve null değilse, oncekiObje’nin rengi normal haline getirilir. Ardından tıklanan obje kırmızı olur ve oncekiObje’ye değer olarak tıklanan obje verilir.
Cevapla
Semih dedi ki:	
19 Ocak 2021, 11:59	
Merhaba. Yapmaya çalıştığım oyunda market bölümü var burada 5 sekme mevcut. (Altın, elmas, yakut, zümrüt …) Oyunun herhangi bir yerinde yukarıda bu mevcut sahip olduğu madenler gösteriliyor. Sahip olduğu altının yanında (+) işareti olduğunu düşünün. İstiyorum ki buna dokunduğunda marketteki altın sekmesi açılsın, elmasın yanındaki (+) dokunduğunda elmas sekmesi açılsın. Çok genel sordum farkındayım benim aklıma gelen şu, daha kolay yolu olmalı diye düşündüm.
Altın (+) dokunduğunda kod olarak diyeceğim ki işte, altın kısımlarını aç, elması kapat, zümrütü kapat, yakutu kapat vs. Elmas(+) dokunursa da elması aç, altını kapat, zümrütü kapat gibi. Yani birini açmak isteyince diğerlerini de tek tek kapalı tutması gerektiğini söylemek zorunda mıyız.
Veya buna da gerek yok sanırım. Markette 5 sekme var. (A B C D E). Şimdi ben A kısmını görünür yapmak için diyorum ki
if A sekmesine dokunduğumda..
{
A.setactive(true)
B.setactive(false)
C.setactive(false)
..
}
Her kısım için böyle yapıyorum normal mi
Cevapla
yasirkula dedi ki:	
19 Ocak 2021, 12:29	
Tüm sekmeleri bir array’e koyup for döngüsü içinde hepsini kapatabilirsiniz ama yine aynı kapıya denk geliyor. Bence normal.
Cevapla
Emre dedi ki:	
17 Ocak 2021, 23:22	
Merhaba hocam. İki buton var birinde mevcut sahneyi açıyor. Diğer butona basınca bir sonraki sahneyi açıyor. Sorunum şu; sonraki sahneyi açan butona basarsam seçilmeyen mevcut sahne 3 sahne sonra geri gelsin istiyorum. getActiveScene.buildIndex ile sahnenin indexi alıyorum ama onun indexin +3 e nasıl eşitleyebilirim. Böyle bir method var mı acaba?
Cevapla
yasirkula dedi ki:	
18 Ocak 2021, 10:47	
SceneManager.LoadScene’e mevcut sahnenin index’inin 3 fazlasını parametre olarak verebilirsiniz ama sanırım soru bu değil. Seçilmeyen mevcut sahneden ve bunun 3 sahne sonra geri gelmesinden bahseder misiniz? 1 sahne sonra ve 2 sahne sonra bir ileriki sahneyi açacak ama 3 sahne sonra 3 sahne geri mi gidecek? Oyunu 1 sahne sonra kapatıp tekrar açınca 2 sahne sonra 3 sahne geri mi gidecek? Tam anlamadım anlayacağınız.
Cevapla
Emre dedi ki:	
18 Ocak 2021, 11:57	
Hocam ilk dediğiniz isteğime daha uygun ama 3 sahne geri giderse aradaki yapılan sahneler sonradan tekrar karşımıza çıkar. Eğer sahne indexlerini kod içerisinde oynatabilme şansımız varsa ilk seçilmeyen sahnenin index[x]ini , [x+3].indexe atamak istiyorum ki seçilen sahneler tekrar karşıma çıkmasın.
yasirkula dedi ki:	
18 Ocak 2021, 12:21	
Elimizde 0,1,2,3,4 index’lerine sahip 5 sahne olsun. Bu index’ler üzerinden “şu şöyle olacak sonra şu index’e şöyle şey yapılacak” şeklinde gösterebilir misiniz?
Emre dedi ki:	
18 Ocak 2021, 12:44	
Hocam öncelikle her sahnenin açılışında panel geliyor.Panelde iki tuş var eğer kabul tuşu seçilirse panel deaktif olup mevcut sahneye giriyorsun mevcut sahne bittikten sonra bir sonraki sahneye geçiyorsun.Eğer reddet tuşunu seçersen bir sonraki sahneye atıyor aynı işlevi gören panel orada da var.
5 Sahneleri örnekte şöyle anlatayım; Oyuna 0. indexten başlıyoruz kabul tuşuna bastık sahne bitti sonraki sahne(1.index) seçimine geçtik. 1.index panelinde reddet tuşuna bastık 1.indexli sahneyi göremeden. 2.index seçimine geçiyoruz. Bu reddedilen sahne(1.indexli) boşa gitmesin diye ((1+3) 4.index de tekrar görünmesini istiyorum.)
yasirkula dedi ki:	
18 Ocak 2021, 13:18	
Hangi index’teki sahnelerin reddedildiğini ve reddedildikten itibaren kaç sahne geçtiğini bir veri türünde tutmanız ve bunu her sahne geçişinde güncelleyip kaydetmeniz lazım. Kaydetmek için JsonUtility ile PlayerPrefs.SetString fonksiyonlarını beraber kullanabilirsiniz. Örnek bir veri türü:
public class ReddedilenSahneler {
public List sahneIndexleri = new List();
public List gecenSahneSayilari = new List();
}
1. index’teki sahne reddedildiğinde sahneIndexleri’ne 1 eklenir ve gecenSahneSayilari’na 0 eklenir. Her sahne geçişinde gecenSahneSayilari’ndaki değerler 1 artırılır. Diyelim 2. sahne kabul edilir 3. sahne reddedilirse sahneIndexleri’ne 3 eklenir ve gecenSahneSayilari’na 0 eklenir. Yani şimdi sahneIndexleri [1,3] ve gecenSahneSayilari [2,0] değerlerinden oluşuyor. Bir sonraki sahneye geçtiğimizde gecenSahneSayilari [3,1] oldu. Buradaki ilk değer >= 3 olduğu için, sahneIndexleri’nden ve gecenSahneSayilari’ndan 0. index’teki eleman çıkarılır ve sahneIndexleri’nin eskiden 0. index’inde olan 1. index’teki sahne tekrar görünür.
Emre dedi ki:	
18 Ocak 2021, 13:41	
Sağolun hocam.Deneyeceğim
mehmet07 dedi ki:	
17 Ocak 2021, 01:01	
Merhaba android uygulamada kullanıcı oyunu arka plana aldığında oyunu durdurmak işlemi nasıl olur
Cevapla
yasirkula dedi ki:	
17 Ocak 2021, 11:53	
OnApplicationPause veya OnApplicationFocus fonksiyonlarında Application.Quit kullanmayı deneyebilirsiniz.
Cevapla
mehmet07 dedi ki:	
24 Ocak 2021, 20:38	
Android telefonumda çalışmıyor
Unity 2019.4.10 sürümü kullanıyorum başka çözüm var mı ?
yasirkula dedi ki:	
24 Ocak 2021, 21:32	
Benim aklıma gelen başka bir yol yok.
Semih dedi ki:	
12 Ocak 2021, 05:22	
Selamlar, kodla değil de unity ile ilgili bir sorum var size. Yani öyle olduğunu düşünüyorum.
Bir 3d küre objesi mevcut elimde. Bunu joystickle hareket ettiriyorum. Hızla duvara çarptığımda ve joystick’i bıraktığımda, küre kendi kendine dönmekte ve döndüğü için hareket etmekte. Anlaşılmadıysa farklı şekilde deniyorum şimdi, anlaşıldıysa okumayın lütfen vaktinizi çalmayım
Duvara dönerek gidip çarptığımda sanki uzayda gibi bir etki oluyor sanırım, etki tepki gibi oradan çarpıp geri dönüyor ama ben olduğu yerde kalsın istiyorum. Dönüşünü engellemek çözüm değil hareket ederken dönmeli küre. Ancak bir yere çarpıp joystick bıraktığımda sekip geri gelmemeli. Bu sekme dediğim şey, duvara çarptığında dönüş olduğu için. Yani dönüşleri engellediğimde böyle bir problem yok. Ancak dönüşleri aktif ettiğimde çarpma hızıma bağlı top ters yönde dönüyor ve geri geliyor.
Cevapla
yasirkula dedi ki:	
12 Ocak 2021, 12:46	
Topun Rigidbody’sinin angularVelocity’si dönme hızını belirler. angularDrag ise bu değerin ne kadar hızlı bir şekilde 0’a döneceğini belirler. Joystick’i bırakınca angularDrag’i yükseltip joystick’e dokununca angularDrag’i düşürebilirsiniz.
Cevapla
Ahmet Yılmaz dedi ki:	
11 Ocak 2021, 14:44	
Merhaba size ulaşabileceğim bir mail adresi var mı?
Cevapla
yasirkula dedi ki:	
11 Ocak 2021, 16:02	
yasirkula@gmail.com
Cevapla
Mustafa dedi ki:	
10 Ocak 2021, 19:53	
Hocam Merhaba ben bir karakter moment i yapmak istiyorum ama rotasyonu da dönsün yani unity standard assets ti Third Person Character karakter gibi sadece hareketi nasıl yaparım
Cevapla
yasirkula dedi ki:	
10 Ocak 2021, 20:48	
Karakterin rotation’ına Quaternion.LookRotation ile değer vermek bence en basit seçenek. Eğer karakterin dönüşünün yumuşak olmasını istiyorsanız, mevcut rotation’dan LookRotation’a Quaternion.Lerp ile lerp yapabilirsiniz.
Cevapla
Mustafa dedi ki:	
10 Ocak 2021, 20:58	
Hocam bir ornek verebilirmisinz
yasirkula dedi ki:	
10 Ocak 2021, 21:06	
Transform kamera;
void Awake() { kamera = Camera.main.transform; }
void Update()
{
Vector3 yon = kamera.forward * Input.GetAxis(“Vertical”) + kamera.right * Input.GetAxis(“Horizontal”);
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(yon), 10f * Time.deltaTime );
}
Mustafa dedi ki:	
10 Ocak 2021, 21:34	
hocam tamam rotasyonu dönüyor istediğim gibi ama hareket ettirmediğim zaman eski rotasyonuna geri dönüyor
yasirkula dedi ki:	
10 Ocak 2021, 21:44	
Input.GetAxis’lerin ikisinin de değeri 0 ise Update’te yazdığım kodu çalıştırmayın.
Mustafa dedi ki:	
10 Ocak 2021, 22:00	
hocam tamam çözdüm sorunu Teşekkürler istediğim yöntem buydu
if (Input.GetAxis(“Horizontal”) != 0 || Input.GetAxis(“Vertical”) != 0)
{
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(new Vector3(Input.GetAxis(“Horizontal”), 0, Input.GetAxis(“Vertical”))), 10f * Time.deltaTime);
transform.position += new Vector3(Input.GetAxis(“Horizontal”), 0, Input.GetAxis(“Vertical”)) * 3 * Time.deltaTime;
}
Ahmet A dedi ki:	
09 Ocak 2021, 19:35	
selamlar hocam
benim bir joystick değişkenim var.
Joystick joystick; olarak isimlendirdim. Yani Joystick diye bir tür var sanırım paket indirdim.
Bunu public olarak atayamıyorum, çünkü prefabs dosyası olması gerekli. Prefabs dosyasını çağırdığımda da public olarak atadığım joystick yok oluyor.
Joystick objesine tag verdim.
Bunu awake fonksiyonunda joystick = GameObject.FindGameObjectWithTag(“JoyStick”);
Fakat joystick ismini verdiğim şey sanırım bir gameobject değil de joystick olarak algılandığı için bu kodu kabul etmiyor.
Bu joystick objesini nasıl public olmadan kod içinde tanıtabilirim.
Cevapla
yasirkula dedi ki:	
09 Ocak 2021, 20:06	
joystick = GameObject.FindGameObjectWithTag("JoyStick").GetComponent<Joystick>(); deneyin.
Cevapla
Ahmet dedi ki:	
09 Ocak 2021, 20:19	
Harikasınız teşekkürler bilgi için 🙂
Semih dedi ki:	
09 Ocak 2021, 17:18	
Küre şeklinde 10 tane topum var diyelim. Bunlar 3 boyutlu. Farklı şekil ve desenlerde toplarım var. Bunları markette göstermek istiyorum nasıl yapabilirim. Market haliyle bir canvas olacak. Canvas üzerinde de 3d bir obje gösteremiyorum. Elimdeki toplar material şeklinde yani bir desen olarak atamıyorum. 3d objeleri canvas üzerinde nasıl gösterebiliriz mümkün müdür aklınıza bir çözüm geliyor mu bu topları markette sergilemek için. Cevaplarınız için teşekkür edemiyoruz meşgul etmemek adına sizi, her biri için çok teşekkürler
Cevapla
yasirkula dedi ki:	
09 Ocak 2021, 18:25	
Canvas’ın Render Mode’u Screen Space-Camera veya World Space olursa, canvas ile kamera arasında kalan objeler canvas’ın üzerine çizilir. Ancak scroll view’larda bu düzenin işe yarayacağını sanmıyorum çünkü 3D objeler, scroll view ile otomatik olarak hareket etmeyecek. Benim önerim, her topun screenshot’ını alıp png resim olarak kaydetmeniz ve UI’da bu screenshot’ları göstermeniz. Daha zorlu bir alternatif ise, her topu farklı bir kamera ile farklı bir RenderTexture’a render alıp bu RenderTexture’ları UI’da göstermek ama bu performansı çok etkiler. Başka çözüm yolları varsa da araştırmadığım için maalesef bilmiyorum.
Cevapla
Semih dedi ki:	
09 Ocak 2021, 18:34	
Ekran görüntüsü benim aklıma gelen tek çözümdü. Canvas Render Mode değiştirmem pek mümkün değil sanırım 3d objeleri göstermek adına. Akıl akıldan üstündür diye size de danışmak istedim sanırım en sorunsuz ekran görüntüsü almakla olacaktır. Bu şekilde oyunun boyutunu yükseltmek istememiştim. Şimdilik tek yol bu sanırım teşekkürler
Semih dedi ki:	
09 Ocak 2021, 16:14	
İnternette videolar izlerken çoğu kişide inspector panelinde Image(Script) yazmakta. Farklı bir script mi mevcut acaba yani mutlaka indirilmesi gereken bir şey var da ben mi kaçırdım. Bende normal Image yazmakta.
Cevapla
yasirkula dedi ki:	
09 Ocak 2021, 16:43	
Belki sadece bazı Unity sürümlerinde (Script) yazıyordur. İzlediğiniz videolardaki Image’lar ile sizdeki Image aynı component’tir.
Cevapla
mehmet07 dedi ki:	
08 Ocak 2021, 16:37	
Unity 2020.1.6 sürümünde android build ederken çok uzun bekliyorum. Diğer sürümlerde bu kadar zaman beklemedim. Graphics api düzenlenmesi nasıl olmalıdır?
Cevapla
yasirkula dedi ki:	
08 Ocak 2021, 16:49	
Belki Scripting Backend olarak Mono yerine IL2CPP seçilidir. Graphics API’den olduğundan emin misiniz?
Cevapla
mehmet07 dedi ki:	
09 Ocak 2021, 23:13	
Mono seçtim bu şekilde denedim ve bug dan dolayı hata verdi 2019 4 10 sürümünde başarılı Apk aldım cevabınız için teşekkür ederim.
Emre dedi ki:	
07 Ocak 2021, 19:00	
Merhaba hocam. Tavsiyenize ihtiyacım var. Update içerisindeki bir fonksiyonumun sadece UI Buttonuna bastığımda çalışmasını nasıl sağlayabilirim? Input.GetKeyDown ile bunu başardım ama ben klavye tuşuna değilde ekrandaki Button a bastığımda olmasını istiyorum.
Cevapla
yasirkula dedi ki:	
07 Ocak 2021, 19:02	
Sadece butona basınca bir kod çalışacaksa bunun Update’te olmasına gerek yok. Butonun On Click event’ine verdiğiniz fonksiyonda ilgili kodu çalıştırabilirsiniz.
Cevapla
Emre dedi ki:	
07 Ocak 2021, 21:09	
Hocam ilgilendiğiniz için teşekkürler ama halihazırda Butonun on clickinde bir Coroutine var, kod da onun içine ekleyeceğim fonksiyonda update te olması lazım ama update coroutine in içine atınca görmüyor. update in ismin değiştirince de fonksiyon çalışmıyor ,update çalışan bir kod.
yasirkula dedi ki:	
07 Ocak 2021, 21:27	
public void ButonaBasildi() fonksiyonunuz olur ve bunu butonun On Click’ine eklersiniz (aynı anda 2 fonksiyon eklenebiliyor). Update’te de GetKeyDown olunca bu fonksiyonu çağırırsınız. Butona basılınca yapılacak şeyleri de fonksiyonun içine yazarsınız. İlla Update’in dışına taşmamalıyım diyorsanız, yazdığım SimpleInput plugin’ini kullanıp butonunuza Key Input UI component’i ekleyebilirsiniz.
Semih dedi ki:	
07 Ocak 2021, 04:57	
Bir online oyunda oyuncunun kazandığı altın, elmas, ses seviyesini nerede tuttuğu, örneğin sessize almış oyunu, satın aldığı veya sahip olduğu eşyalar ve daha onlarca veri belki. Hepsini playerpref olarak bir yerde kayıt altına mı almak gerekiyor tek tek. Yani ses seviyesini en son nerede bırakmış bunu bir playerprefs içinde saklamamız mı gerekiyor.
Animasyonlar dotween ile çok daha kolay örneğin, öncesinde gereksiz yere yormuşuz kendimizi. Bunun da bir kolay yolu veya işlemi var mıdır kayıt altına alınsın. Oyuncunun seçtiği ayarları, aldığı eşyaları, ilerlediği exp vb bilgileri kayıt altına alabileceğimiz bir sistem biliyor musunuz siz ne yapardınız
Cevapla
yasirkula dedi ki:	
07 Ocak 2021, 09:25	
Ses seviyesi gibi gameplay’e etkisi olmayan ayarları PlayerPrefs’te tutabilirsiniz ama bu bir online oyun olduğu için, altın sayısı gibi diğer tüm değerleri bir online veritabanında tutmalısınız yoksa oyuncular kolaylıkla hile programları vasıtasıyla altın sayılarını artırabilir. Ben nasıl yapardım emin olun bilmiyorum, hiç online oyun düşünmediğim için nereden araştırmaya başlardım onu hiç düşünmedim.
Cevapla
Semih dedi ki:	
06 Ocak 2021, 20:52	
Unity üzerinde instantiate olarak prefab bir objeyi çağırıyoruz. (Photon ile online oyun yapmak için) ancak online kısmıyla çok alakalı olmadığını düşündüğüm bir problem var. Bu “player” prefabı içinde bir joystick ekli scriptinde. Efektler de ekli inspectorda görüyorum. Ancak bunu prefab olarak çağırdığımızda bu eklenen şeyler özelliğini yiritiyor. Yani joystick kullanılmaz hale geliyor efektler de gitmiş oluyor.
Prefab olarak çağırılan dosyanın scriptine atanmış şeyleri nasıl birlikte çağırabiliriz.
Cevapla
yasirkula dedi ki:	
06 Ocak 2021, 23:17	
Prefab Instantiate olunca prefab’ın script’lerindeki değerler kaybolmaz. Ama diyelim sahnedeki bir prefab instance’ının bir değişkenine değer olarak sahnedeki bir objeyi verip sonra bu değişikliği prefab’a uygulamaya çalışırsanız, prefab’daki değer null olur çünkü asset’ler sahne objelerine referans bulunduramazlar. Bu sorunu çözmenin yolu, script’in Awake veya Start fonksiyonunda sahnedeki objeleri kod vasıtasıyla bulmak (örneğin GameObject.Find).
Cevapla
Semih dedi ki:	
04 Ocak 2021, 23:28	
Az önce bir canvası açıp kapatmayı kodlamada setactive false true şeklinde yazmaktansa, buton içine istediğim objeyi atarak setactive kısmını açıp kapatabileceğimi öğrendim. Gerçekten bazı kısayolları bilmemek insana çok uzun zaman kaybettiriyor. Şu an menüleri açıp kapatma işlemini herhangi bir kod dosyasına ihtiyaç olmadan yapabiliyorum.
Şöyle bir sorum olacak size. Market menüm var, burada 5 sekme var (altın, elmas, eşya…). Altına dokunduğumda altınla ilgili bilgiler geliyor ekrana, elmasa dokunduğumda altın kapanıp elmas bilgileri geliyor. Bu sekmelerden “altın” olana buton ekledim. OnClick{} özelliğine de bu 5 sekmeyi ekledim ve setactive kısımlarına altın detayları aktif, diğerleri kapalı olacak şekilde komut verdim. Benzerlerini diğer sekmeler için de yaptım. Fakat ileride yeni bir sekme eklendiğinde tekrar diğer 5inde de işlem yapmak istemiyorum. Şöyle bir şey var mı; Altın sekmesine dokunduğumda, diğer sekmeler kapansın. Bunu kodlama olmadan bir şekilde çözmenin yolunu biliyor musunuz acaba?
Cevapla
yasirkula dedi ki:	
05 Ocak 2021, 00:38	
Bence bu kod yazmadan mümkün değil.
Cevapla
Semih dedi ki:	
05 Ocak 2021, 06:30	
Anlıyorum, peki sizce kod yazmayla direkt olarak tuşa görev atama arasında bir fark görüyor musunuz. Kodlamada Menu.SetActive true yerine, buton özelliğinde menüyü oraya atıp setactive true yapmamız arasında.
yasirkula dedi ki:	
05 Ocak 2021, 09:54	
İşlevsel olarak bir farkı yok. Başta ben de butonlara Inspector’dan fonksiyon ekliyordum ama artık kod ile yapıyorum çünkü Visual Studio’da bir fonksiyonun kullanıldığı yerleri arattığımda, o fonksiyonun atandığı butonlar varsa onları da görmek istiyorum. Inspector’dan fonksiyon ekleyince bu mümkün değil.
Emre dedi ki:	
04 Ocak 2021, 18:51	
Merhaba hocam.Dört triggerin doğru objeler tarafından tetiklenmesi ile tek bir sonuç çıkarmasını istiyorum. Bunu OnTrigger da Debug.Log ile denediğimde sonuçları ayrı ayrı gösteriyor. Eğer 4 tetiklenme de doğru ise tek bir sonuç(örneğin: kazandınız) göstermesini nasıl yapabilirim?
Cevapla
yasirkula dedi ki:	
04 Ocak 2021, 19:08	
Her trigger’ın bir bool’u olur, o trigger’ın doğru objeyle temas edip etmediğini tutar. Ardından tüm 4 trigger da bir List veya array’de tutulur ve Update’te bu dizideki tüm trigger’larının bool’unun true olup olmadığına bakılır.
Cevapla
Emre dedi ki:	
04 Ocak 2021, 21:36	
Teşekkür ederim hocam.
Emre dedi ki:	
03 Ocak 2021, 22:17	
Merhaba hocam tavsiyenize ihtiyacım var. Bir obje grubumun hiyerarşideki sıralamasıyla(listedeki sıralama da olabilir) kendi oluşturacağım sıralama ile aynı olup olmadığını kıyaslamak istiyorum.Aynı ise Win ekranı yazdıracağım. Bu kıyaslama işlemini nasıl yapabilirim?
Cevapla
yasirkula dedi ki:	
03 Ocak 2021, 23:45	
Eğer objelerin parent’ları aynı ise, transform.GetSiblingIndex()’lerini kıyaslayabilirsiniz.
Cevapla
Emre dedi ki:	
04 Ocak 2021, 14:51	
Teşekkürler hocam.
Mehmetcan dedi ki:	
03 Ocak 2021, 13:24	
Hocam selamlar, score++; yaptığımda score sürekli artıyor bunu nasıl çözebilirim.
Cevapla
yasirkula dedi ki:	
03 Ocak 2021, 14:38	
Sadece skorun artmasını istediğinizde o kodu çalıştırmanız lazım. Eğer kodu olduğu gibi Update’in içine koyarsanız, kod sürekli çalışır.
Cevapla
Mehmetcan dedi ki:	
03 Ocak 2021, 12:24	
Hocam merhabalar. Rastgele konumlandırdığım şeylerin çakışmaması için ne yapmam lazım
Cevapla
yasirkula dedi ki:	
03 Ocak 2021, 14:37	
Physics.OverlapBox, OverlapSphere veya ComputePenetration fonksiyonlarını kullanabilirsiniz.
Cevapla
Furkan dedi ki:	
02 Ocak 2021, 13:15	
Hocam biliyorum siz unity kullanıyorsunuz genel olarak ama yine de sormam gereken bir olay var. Ben visual studioda windows form üzerinden bir oyun yapıyorum. Bir karakterimiz var ve sahneye rastgele labeller oluşuyor bu labellarda da rastgele sayılar var. Oyuncu ekrana rastgele çıkan sayıları en küçüğünden başlayarak üstlerine gitmek suretiyle en büyüğe doğru ilerleyecek. Sıkıntı şu ki, randomize oluşturduğumuz sayıların küçük veya büyük olarak toplanıp toplanmadığını nasıl anlayabiliriz? Ne tür bir kod gerekiyor? (Örneğin ekranda 5 8 9 varsa ilk başta 8 e giderse yanlış yaptığı için elenmeli) Şimdiden çok teşekkür ederim hocam 🙂
Cevapla
yasirkula dedi ki:	
02 Ocak 2021, 13:41	
Tüm sayılar bir List<int>’te tutulup tıklanan sayının bu List’teki en küçük sayıdan büyük olup olmadığına bakılır.
Cevapla
Semih dedi ki:	
01 Ocak 2021, 17:36	
Merhaba, sitenizde animasyonlarla ilgili içerik göremedim geniş bir anlatım arşiviniz mevcut belki gözümden kaçmıştır kusura bakmayın öyleyse eğer.
Kafatopu oyununu biliyor musunuz bilmem. Burada tüm kartların üzerinden parlama efekti geçmekte belirli bir süreyle. Sanki kartlar parlıyor gibi. Bunu nasıl sağlayabiliriz çok merak ediyorum. Veya sattıkları elmas, altın gibi yerlerde, bu kartların içinde rastgele olduğunu düşündüğüm ufak parlamalar yapıyorlar.
Bu oyunda akıllara zarar bir şekilde sürekli bir hareketlilik, bir animasyon var gerçekten. Sabit herhangi bir şey hiç görmedim her şey oynuyor 🙂 Merakımı bu 2 animasyon çekti. Bunları kodla mı yoksa animasyonla mı sağlarız çözemedik.
Özetlemek gerekirse: Bir dikdörtgen kart üzerinde rastgele yıldız parlamaları gibi belirip kaybolan bir animasyon veya kartın tamamının üzerinden geçen bir yansıma animasyonu oluşturmak istiyoruz. Sanki parlak bir cam gibi
Cevapla
yasirkula dedi ki:	
01 Ocak 2021, 18:09	
Elmastaki rastgele parlama için elmasın üzerinde bir parlama Texture’u oluşturmuşlar, buna sürekli saat yönünün tersine rotation vermişler ve arada bunu saydam yapıp sonra görünmez yapmışlar bence. Kartların parlaması için ise bir yöntem, karta Mask verip ardından beyaz gradient bir texture’u ara ara kartın alt kenarından üst kenarına doğru hareket ettirmek. Kartta Mask olduğu için, child objeleri Mask’ın dışında çizilmez.
Cevapla
yücel dedi ki:	
01 Ocak 2021, 15:17	
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.
Cevapla
yasirkula dedi ki:	
01 Ocak 2021, 16:04	
Unity Remote Config diye arama yapabilirsiniz. Bu konuda şu anda ders planlamıyorum ama ilginize teşekkürler.
Cevapla
abdulmuttalip dedi ki:	
28 Aralık 2020, 18:17	
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.
Cevapla
yasirkula dedi ki:	
28 Aralık 2020, 19:15	
“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/
Cevapla
Semih Solak dedi ki:	
25 Aralık 2020, 20:25	
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.
Cevapla
yasirkula dedi ki:	
26 Aralık 2020, 20:43	
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.
Cevapla
Aşkın Yılmaz dedi ki:	
23 Aralık 2020, 06:04	
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.
Cevapla
yasirkula dedi ki:	
23 Aralık 2020, 11:28	
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
Cevapla
kgok639 dedi ki:	
19 Aralık 2020, 17:39	
Ö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.
Cevapla
yasirkula dedi ki:	
19 Aralık 2020, 20:34	
Benim de tecrübemin olmadığı bir konu maalesef.
Cevapla
kgok639 dedi ki:	
19 Aralık 2020, 21:03	
Peki ya nasıl aldığım ürünü envanterimde listeleyip sattığım ürünü o listeden çıkarabilirim?
yasirkula dedi ki:	
19 Aralık 2020, 21:55	
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).
Muhammet dedi ki:	
18 Aralık 2020, 23:20	
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.
Cevapla
yasirkula dedi ki:	
19 Aralık 2020, 12:00	
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
Cevapla
Abdullah Erdönmez dedi ki:	
28 Kasım 2020, 16:33	
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.
Cevapla
yasirkula dedi ki:	
28 Kasım 2020, 17:44	
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.
Cevapla
Muhammet dedi ki:	
26 Kasım 2020, 23:26	
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.
Cevapla
yasirkula dedi ki:	
26 Kasım 2020, 23:59	
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.
Cevapla
muhammet dedi ki:	
27 Kasım 2020, 02:12	
Çok teşekkür ederim, touch için parametre istediğini bilmiyordum. parametre verince çalıştı.
Murat Ünlü dedi ki:	
26 Kasım 2020, 16:18	
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;
https://yasirkula.com/2020/04/04/unity-3d-oyunlariniza-unity-ads-reklamlari-eklemek-resimli-anlatim/
Cevapla
yasirkula dedi ki:	
26 Kasım 2020, 17:04	
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.
Cevapla
sedatcemk dedi ki:	
16 Aralık 2020, 15:54	
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.
yasirkula dedi ki:	
16 Aralık 2020, 18:48	
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/
Can dedi ki:	
17 Kasım 2020, 16:36	
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.
Cevapla
yasirkula dedi ki:	
17 Kasım 2020, 18:11	
Ş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.
Cevapla
Alpay dedi ki:	
12 Kasım 2020, 22:37	
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
Cevapla
yasirkula dedi ki:	
13 Kasım 2020, 11:19	
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.
Cevapla
Alpay dedi ki:	
14 Kasım 2020, 23:51	
Size ulaşabileceğim e-mail veya telefon numarası bırakabilir misiniz ?
umutcandan9697@gmail.com
yasirkula dedi ki:	
15 Kasım 2020, 00:28	
yasirkula@gmail.com
Kaan dedi ki:	
12 Kasım 2020, 18:31	
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”;
}
Cevapla
yasirkula dedi ki:	
12 Kasım 2020, 19:18	
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.
Cevapla
Kaan dedi ki:	
12 Kasım 2020, 20:21	
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.
aliuygun dedi ki:	
08 Kasım 2020, 20:14	
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 ?
Cevapla
yasirkula dedi ki:	
09 Kasım 2020, 10:49	
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.
Cevapla
Çağrı dönmez dedi ki:	
09 Kasım 2020, 22:11	
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
yasirkula dedi ki:	
09 Kasım 2020, 22:26	
Event dersim: https://yasirkula.com/2019/10/29/unity-c-delegate-ve-eventler/
NFGA dedi ki:	
07 Kasım 2020, 19:46	
İ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.
Cevapla
yasirkula dedi ki:	
07 Kasım 2020, 21:46	
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.
Cevapla
NFGA dedi ki:	
07 Kasım 2020, 23:21	
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 :))
yasirkula dedi ki:	
07 Kasım 2020, 23:39	
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.
Kubilay dedi ki:	
04 Kasım 2020, 20:02	
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?
Cevapla
yasirkula dedi ki:	
04 Kasım 2020, 20:55	
Dönerken Rotation’ı değiştirmek yerine, localScale’in x değerini -1 ile çarpın.
Cevapla
ahmet dedi ki:	
31 Ekim 2020, 14:48	
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.
Cevapla
yasirkula dedi ki:	
31 Ekim 2020, 15:05	
Bu konuda bilgim yok maalesef.
Cevapla
Enes dedi ki:	
31 Ekim 2020, 13:15	
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.
Cevapla
yasirkula dedi ki:	
31 Ekim 2020, 13:17	
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/
Cevapla
user dedi ki:	
29 Ekim 2020, 02:11	
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?
Cevapla
yasirkula dedi ki:	
31 Ekim 2020, 12:16	
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.
Cevapla
aliuygun dedi ki:	
22 Ekim 2020, 11:29	
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 ?
Cevapla
yasirkula dedi ki:	
22 Ekim 2020, 12:04	
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.
Cevapla
aliuygun dedi ki:	
22 Ekim 2020, 18:59	
Reklam kodlarına gerek yoktu teşekkür ederim. Yardımınız için
Ali dedi ki:	
17 Ekim 2020, 16:32	
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
Cevapla
yasirkula dedi ki:	
17 Ekim 2020, 22:05	
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.
Cevapla
Ali dedi ki:	
17 Ekim 2020, 23:41	
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 🙂
yasirkula dedi ki:	
18 Ekim 2020, 00:01	
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.
Enes dedi ki:	
11 Ekim 2020, 12:37	
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.
Cevapla
yasirkula dedi ki:	
11 Ekim 2020, 13:48	
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
Cevapla
Met dedi ki:	
05 Ekim 2020, 20:56	
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ı ?
Cevapla
yasirkula dedi ki:	
05 Ekim 2020, 23:04	
İ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.
Cevapla
Tarkan dedi ki:	
21 Eylül 2020, 21:17	
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.
Cevapla
yasirkula dedi ki:	
21 Eylül 2020, 23:47	
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
Cevapla
Tarkan dedi ki:	
22 Eylül 2020, 12:30	
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?
yasirkula dedi ki:	
22 Eylül 2020, 14:42	
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
Muhammed Sarıgül dedi ki:	
17 Eylül 2020, 17:32	
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 ?
Cevapla
yasirkula dedi ki:	
17 Eylül 2020, 20:32	
Bunun için DOTween (DOTween.To fonksiyonu) veya coroutine kullanabilirsiniz.
Cevapla
metehancekic dedi ki:	
11 Eylül 2020, 22:23	
Yasir çok iyi site, bunun benzerini makine öğrenmesi için yapmayı planlıyoruz.
Cevapla
yasirkula dedi ki:	
11 Eylül 2020, 23:25	
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 🙂
Cevapla
abdulmuttalip dedi ki:	
05 Eylül 2020, 21:16	
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.
Cevapla
yasirkula dedi ki:	
05 Eylül 2020, 21:59	
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.
Cevapla
abdulmuttalip dedi ki:	
06 Eylül 2020, 18:42	
ordan da sildim zaten hocam geçiş reklam birimlerini.
yasirkula dedi ki:	
06 Eylül 2020, 19:12	
Bu raddede benim de aklıma bir şey gelmiyor.
Selami Kekeç dedi ki:	
04 Eylül 2020, 18:47	
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?
Cevapla
yasirkula dedi ki:	
04 Eylül 2020, 20:48	
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
Cevapla
Umut dedi ki:	
25 Ağustos 2020, 13:33	
İ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?
Cevapla
yasirkula dedi ki:	
25 Ağustos 2020, 13:35	
Application.persistentDataPath’e kaydedebilirsiniz ancak oyunu silince save dosyası da silinir.
Cevapla
Umut dedi ki:	
25 Ağustos 2020, 13:39	
Teşşekkürler alttaki yorumu yok sayabilirsiniz sizin yorum gözükmüyordu ben yazarken
Umut dedi ki:	
25 Ağustos 2020, 18:03	
Silindiğinde gidiyor orada sıkıntı yok. Peki güncelleme yaptığımda gider mi?
yasirkula dedi ki:	
25 Ağustos 2020, 18:23	
Bildiğim kadarıyla gitmiyor.
Umut dedi ki:	
25 Ağustos 2020, 13:38	
Ya da otomatik dizin atamayı sağlayan bir kod varmı?
Cevapla
mete dedi ki:	
24 Ağustos 2020, 13:16	
Faydalı içerikler. Teşekkürler.
Cevapla
EMRE YEMEZ dedi ki:	
23 Ağustos 2020, 17:38	
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.
Cevapla
yasirkula dedi ki:	
23 Ağustos 2020, 21:24	
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.
Cevapla
Enes Kekeç dedi ki:	
19 Ağustos 2020, 19:27	
Benim play console hesabım banlandı. Başka hesaplardan da hesap açamıyorum. Nasıl hesap açabilirim?
Cevapla
yasirkula dedi ki:	
19 Ağustos 2020, 20:24	
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.
Cevapla
Enes Kekeç dedi ki:	
19 Ağustos 2020, 22:43	
Teşekkür ederim.
Enes Kekeç dedi ki:	
18 Ağustos 2020, 17:09	
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?
Cevapla
yasirkula dedi ki:	
18 Ağustos 2020, 17:14	
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.
Cevapla
Umut dedi ki:	
16 Ağustos 2020, 23:00	
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
Cevapla
yasirkula dedi ki:	
17 Ağustos 2020, 00:47	
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.
Cevapla
Umut dedi ki:	
17 Ağustos 2020, 01:16	
googleda yazanlar hep başka yerden indirmeyi söylüyor ki indirdimde ama çalışmıyor yinede teşekkürler
Enes Kekeç dedi ki:	
15 Ağustos 2020, 15:17	
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ış.
Cevapla
yasirkula dedi ki:	
15 Ağustos 2020, 16:20	
Ben başka projelerle uğraşıyorum ama teşekkürler.
Cevapla
Enes Kekeç dedi ki:	
15 Ağustos 2020, 15:14	
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?
Cevapla
yasirkula dedi ki:	
15 Ağustos 2020, 16:19	
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.
Cevapla
Enes Kekeç dedi ki:	
14 Ağustos 2020, 22:41	
Google play’de uygulama veya oyunlarınız var mı?
Cevapla
yasirkula dedi ki:	
14 Ağustos 2020, 23:04	
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
Cevapla
Enes Kekeç dedi ki:	
14 Ağustos 2020, 20:04	
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)
Cevapla
yasirkula dedi ki:	
14 Ağustos 2020, 20:29	
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/
Cevapla
Enes Kekeç dedi ki:	
14 Ağustos 2020, 22:39	
Hocam stack overflow’da sürümü güncelleyince düzeliyor diyorlardı. O yüzden olabilir mi?
yasirkula dedi ki:	
14 Ağustos 2020, 22:41	
Mümkün. Bana sormadan kendiniz de deneyebilirsiniz, en kötüsü yaptığınız değişikliği geri alırsınız 😀
Enes Kekeç dedi ki:	
14 Ağustos 2020, 19:01	
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()
Cevapla
yasirkula dedi ki:	
14 Ağustos 2020, 19:10	
Unity’de Player Settings’e girince bu hatayı bazen ben de alıyorum. Bundan kaynaklanmamalı.
Cevapla
Enes Kekeç dedi ki:	
13 Ağustos 2020, 15:14	
Hocam bu reklam gösterme sorunu sdk’lerden kaynaklanıyor olabilir mi?
Cevapla
yasirkula dedi ki:	
13 Ağustos 2020, 15:22	
Bence o da olasılıklar dahilinde.
Cevapla
umut dedi ki:	
11 Ağustos 2020, 18:30	
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
Cevapla
yasirkula dedi ki:	
11 Ağustos 2020, 20:09	
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.
Cevapla
Enes Kekeç dedi ki:	
08 Ağustos 2020, 13:01	
https://www.mediafire.com/file/smrri5pui5tmgp7/20200808_125635.jpg/file
Hocam burada yazan yere ne yazmalıyım?
Cevapla
yasirkula dedi ki:	
08 Ağustos 2020, 17:51	
Dosyayı direkt önizleyebileceğim bir yere (hizliresim gibi) yüklerseniz sevinirim.
Cevapla
Mustafa dedi ki:	
04 Ağustos 2020, 03:40	
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.
Cevapla
yasirkula dedi ki:	
04 Ağustos 2020, 11:16	
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.
Cevapla
Enes Ecioğlu dedi ki:	
01 Ağustos 2020, 03:58	
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
Cevapla
yasirkula dedi ki:	
04 Ağustos 2020, 00:15	
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
Cevapla
Sıddık dedi ki:	
29 Temmuz 2020, 17:36	
Selamun Aleyküm yasir kardeş ben unity de farklı bir hata almaya başladım yardım edebilir misin?
Cevapla
yasirkula dedi ki:	
29 Temmuz 2020, 21:07	
Aleykümselam aldığınız hata nedir?
Cevapla
Sıddık Çiçek dedi ki:	
30 Temmuz 2020, 11:22	
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.
yasirkula dedi ki:	
30 Temmuz 2020, 13:07	
Ö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.
Sıddık Çiçek dedi ki:	
30 Temmuz 2020, 11:31	
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.
yasirkula dedi ki:	
30 Temmuz 2020, 13:06	
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.
Sıddık dedi ki:	
30 Temmuz 2020, 14:31	
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.
Sıddık Çiçek dedi ki:	
30 Temmuz 2020, 15:00	
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;
yasirkula dedi ki:	
31 Temmuz 2020, 12:25	
Bence kacinciSoru satırını bir üst satıra taşımayı deneyin.
Enes Kekeç dedi ki:	
29 Temmuz 2020, 13:41	
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?
Cevapla
yasirkula dedi ki:	
29 Temmuz 2020, 21:08	
En son kaydedilen puanı oyunun başında PlayerPrefs.GetInt(“Puan”) ile çekip puan değişkenine atmayı unutuyor olabilirsiniz.
Cevapla
Enes Kekeç dedi ki:	
29 Temmuz 2020, 21:54	
Yani hocam puanımız 25 ken uygulamadan çıkınca sıfırlamasını istemiyorum.
Cevapla
yasirkula dedi ki:	
29 Temmuz 2020, 23:04	
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.
Enes Kekeç dedi ki:	
28 Temmuz 2020, 00:44	
Bana yardımcı olabilecek birilerini tanıyor musunuz?
Cevapla
yasirkula dedi ki:	
28 Temmuz 2020, 10:34	
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.
Cevapla
Enes Kekeç dedi ki:	
27 Temmuz 2020, 17:30	
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.
Cevapla
yasirkula dedi ki:	
27 Temmuz 2020, 18:00	
Bu beni aşıyor.
Cevapla
Enes Kekeç dedi ki:	
23 Temmuz 2020, 23:58	
Hocam share butonu nasıl ekleyebilirim? Hazır script var mı?
Cevapla
yasirkula dedi ki:	
24 Temmuz 2020, 21:56	
Şu derse bakabilirsiniz: https://yasirkula.com/2018/06/04/unity-android-sosyal-medyada-icerik-paylasma/
Cevapla
Furkan dedi ki:	
23 Temmuz 2020, 19:04	
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]
Cevapla
yasirkula dedi ki:	
24 Temmuz 2020, 21:54	
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.
Cevapla
Enes Kekeç dedi ki:	
23 Temmuz 2020, 11:33	
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?
Cevapla
yasirkula dedi ki:	
23 Temmuz 2020, 11:40	
Bu konuda bilgim yok maalesef.
Cevapla
Enes Kekeç dedi ki:	
23 Temmuz 2020, 12:42	
Tamam hocam. Yine de teşekkürler.
Enes Kekeç dedi ki:	
21 Temmuz 2020, 23:17	
Hocam butona basınca linkteki web sitesine gitmesini istiyorum. Nasıl yapabilirim?
Cevapla
yasirkula dedi ki:	
22 Temmuz 2020, 12:21	
Application.OpenURL fonksiyonunu kullanabilirsiniz.
Cevapla
Enes Kekeç dedi ki:	
21 Temmuz 2020, 16:40	
Hocam birisinin puanı 100 olunca butona bastığında benim telefonuma input field’da yazılan textin mesaj olarak gelmesini istiyorum. Nasıl yapabilirim?
Cevapla
yasirkula dedi ki:	
21 Temmuz 2020, 20:03	
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.
Cevapla
Enes Kekeç dedi ki:	
21 Temmuz 2020, 14:29	
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.
Cevapla
Enes Kekeç dedi ki:	
21 Temmuz 2020, 14:33	
Hocam cevabı başka hiçbir yerde bulamadım. Sizin yardım edecğinizi düşünüyorum.
Cevapla
yasirkula dedi ki:	
21 Temmuz 2020, 16:15	
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/
Cevapla
Enes Kekeç dedi ki:	
21 Temmuz 2020, 20:00	
Hocam emin misiniz? Logcat kullanmayı bilmiyorum.
yasirkula dedi ki:	
21 Temmuz 2020, 20:04	
Derste logcat’ten bahsettiğim için özellikle dersin linkini attım.
Enes Kekeç dedi ki:	
21 Temmuz 2020, 20:35	
Hocam sizin Unity Ads scriptiniz her telefonda çalışır mı sizce?
yasirkula dedi ki:	
22 Temmuz 2020, 12:23	
Unity Ads’in dokümantasyonundan faydalandım, ben çalışmasını beklerim.
Semih dedi ki:	
16 Temmuz 2020, 03:37	
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
Cevapla
yasirkula dedi ki:	
16 Temmuz 2020, 19:47	
İlginiz için teşekkür ederim.
Cevapla
orkan dedi ki:	
17 Temmuz 2020, 19:26	
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.
Cevapla
yasirkula dedi ki:	
17 Temmuz 2020, 20:21	
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.
user dedi ki:	
14 Temmuz 2020, 16:29	
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 🙂
Cevapla
yasirkula dedi ki:	
16 Temmuz 2020, 19:44	
Bu konuda benim bilgim yok ancak “unity motorcycle physics” diye aratınca çeşitli yabancı kaynaklar bulabilirsiniz.
Cevapla
AhmetK dedi ki:	
14 Temmuz 2020, 00:31	
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.
Cevapla
yasirkula dedi ki:	
14 Temmuz 2020, 00:48	
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).
Cevapla
Semih dedi ki:	
14 Temmuz 2020, 00:26	
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
Cevapla
yasirkula dedi ki:	
14 Temmuz 2020, 00:33	
– 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.
Cevapla
Mithat dedi ki:	
08 Temmuz 2020, 22:03	
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?
Cevapla
yasirkula dedi ki:	
08 Temmuz 2020, 23:46	
Logcat’e bakmanızı öneririm: https://yasirkula.com/2015/10/13/unity-android-oyunlarinizi-debug-etmek/
Cevapla
orhan gökçe dedi ki:	
11 Temmuz 2020, 17:47	
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
yasirkula dedi ki:	
12 Temmuz 2020, 01:04	
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/
Mithat dedi ki:	
08 Temmuz 2020, 21:46	
Hocam unity projesini arkadaşıma atmak istiyorum. Nasıl yapabilirim?
Cevapla
yasirkula dedi ki:	
08 Temmuz 2020, 23:46	
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.
Cevapla
Umut dedi ki:	
08 Temmuz 2020, 15:24	
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
Cevapla
yasirkula dedi ki:	
08 Temmuz 2020, 23:44	
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ş).
Cevapla
umut dedi ki:	
10 Temmuz 2020, 23:40	
Çok teşekkür ederim hocam
semih dedi ki:	
03 Temmuz 2020, 23:53	
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.
Cevapla
yasirkula dedi ki:	
04 Temmuz 2020, 13:26	
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.
Cevapla
Furkan Ahmet dedi ki:	
03 Temmuz 2020, 15:51	
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.
Cevapla
yasirkula dedi ki:	
03 Temmuz 2020, 17:35	
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.
Cevapla
4ztex dedi ki:	
03 Temmuz 2020, 17:55	
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.
Craft dedi ki:	
29 Haziran 2020, 18:34	
Hocam projemde other settings kısmında arm64 seçiliyken build alıyordu ama şimdi almıyor. Nedeni nedir?
Cevapla
Craft dedi ki:	
29 Haziran 2020, 19:42	
Hocam acil cevap verir misiniz?
Cevapla
yasirkula dedi ki:	
29 Haziran 2020, 19:55	
Scripting Backend olarak IL2CPP seçili olmak zorunda.
Cevapla
Minecon Earth dedi ki:	
26 Haziran 2020, 00:37	
Benim uygulamamda bazı telefonlarda reklam gösterirken bazı telefonlarda reklam göstermiyor. Nedeni nedir?
Cevapla
yasirkula dedi ki:	
26 Haziran 2020, 00:39	
Logcat kullanarak aldığınız hataya bakmanız lazım.
Cevapla
tkfilmizle dedi ki:	
23 Haziran 2020, 19:01	
ö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.
Cevapla
yasirkula dedi ki:	
23 Haziran 2020, 23:45	
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
Cevapla
CRAYZXX dedi ki:	
12 Haziran 2020, 15:37	
Oyunumu test mode kapalıyken build ettim ama oyunu telefonuma aktardığımda test reklamı gözüküyordu. Bu durum normal mi?
Cevapla
yasirkula dedi ki:	
12 Haziran 2020, 16:35	
Ş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.
Cevapla
CRAZYXX dedi ki:	
12 Haziran 2020, 17:50	
Peki tekrar mı build etmem gerekir?
yasirkula dedi ki:	
12 Haziran 2020, 18:08	
Eğer test modunu koddan açtıysanız evet. Web arayüzünden açtıysanız gerekmez.
Enes Kekeç dedi ki:	
12 Haziran 2020, 11:10	
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?
Cevapla
yasirkula dedi ki:	
12 Haziran 2020, 11:50	
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.
Cevapla
CRAYZXX dedi ki:	
12 Haziran 2020, 00:12	
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?
Cevapla
yasirkula dedi ki:	
12 Haziran 2020, 10:18	
Şu yazıdaki 64-bit kısmına bakabilirsiniz: https://yasirkula.com/2014/04/17/unity-android-oyununuzu-google-playe-yuklemek/
Cevapla
Enes Kekeç dedi ki:	
12 Haziran 2020, 11:06	
Çok teşekkür ediyorum hocam. İyi ki varsınız.
Enes Kekeç dedi ki:	
11 Haziran 2020, 17:37	
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?
Cevapla
yasirkula dedi ki:	
11 Haziran 2020, 19:56	
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.
Cevapla
Enes Kekeç dedi ki:	
12 Haziran 2020, 00:13	
Tamam hocam sizi boş yere meşgul etmeyeyim.
Enes Kekeç dedi ki:	
11 Haziran 2020, 17:34	
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?
Cevapla
ceseka dedi ki:	
10 Haziran 2020, 03:49	
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
Cevapla
yasirkula dedi ki:	
10 Haziran 2020, 10:38	
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.
Cevapla
MUSA dedi ki:	
04 Haziran 2020, 22:33	
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
Cevapla
yasirkula dedi ki:	
05 Haziran 2020, 14:22	
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.
Cevapla
Fatih Güney dedi ki:	
03 Haziran 2020, 12:33	
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.
Cevapla
yasirkula dedi ki:	
03 Haziran 2020, 16:26	
Rica ederim, oyununuz hayırlı olsun şimdiden.
Cevapla
osman dedi ki:	
29 Mayıs 2020, 19:29	
google playe oyun atıcam ama su on kayıt yapılan oyunlar varya onun gıbı olsun ıstıyorum nasıl yapcam
Cevapla
yasirkula dedi ki:	
29 Mayıs 2020, 20:23	
Benim bilgim yok ama şu yazı işinize yarayacaktır: https://support.google.com/googleplay/android-developer/answer/9084187?hl=tr
Cevapla
Turn Tiger dedi ki:	
28 Mayıs 2020, 21:15	
Hocam chrome’un üst sekmesindeki gibi sekme değiştirme nasıl oluyor? Zahmet olmazsa bi el atsanız.
Cevapla
yasirkula dedi ki:	
28 Mayıs 2020, 22:25	
Unity’de diyorsanız, şu yazıya bakabilirsiniz: https://yasirkula.com/2018/06/05/unity-oyun-ici-dinamik-paneller-sekme-destekli/
Cevapla
Hakan dedi ki:	
28 Mayıs 2020, 17:10	
Merhaba 2 boyutlu oyunumda 2 obje carpıstıktan sonra birbirlerini itiyorlar karakter olarak kontrol ettiğim objenın geri sekmemesi için ne yapabilirim
Cevapla
yasirkula dedi ki:	
28 Mayıs 2020, 22:22	
Karakterin ağırlığını artırmak işe yarayabilir.
Cevapla
Kartal dedi ki:	
26 Mayıs 2020, 22:04	
Hocam merhabalar euler angles ne işe yarar cevaplarsanız çok mutlu olurum teşekkürler.
Cevapla
yasirkula dedi ki:	
26 Mayıs 2020, 23:52	
Inspector’da gördüğünüz Rotation değeri kodda eulerAngles ve localEulerAngles olarak geçiyor. Koddaki rotation ise Quaternion türünde başka bir veri döndürüyor. Quaternion’larla ilgili Unity’nin bir dersi: https://learn.unity.com/tutorial/quaternions
Cevapla
bilgiyigini dedi ki:	
22 Mayıs 2020, 23:58	
Hocam merhaba, fps silah oyununda ateş ederken crosshairı düşmanın üzerine doğru yumuşak ve otomatik bir şekilde nasıl hareket ettiririz? Mobilde nişan alması zor oluyor sizinde bileceğiniz gibi. Şimdiden teşekkür ediyorum 🙂
Cevapla
yasirkula dedi ki:	
23 Mayıs 2020, 00:47	
X düşmanına ateş ederken, Update’te şu kodu çağırdığınız sürece imleç yavaşça düşmanın üzerine kaymalı:
float nisanHizi = 5f;
Vector3 dusmanYonu = X.transform.position – kamera.transform.position;
kamera.transform.rotation = Quaternion.Lerp(kamera.transform.rotation, Quaternion.LookRotation(dusmanYonu), nisanHizi * Time.deltaTime);
Cevapla
Berkcan dedi ki:	
21 Mayıs 2020, 00:51	
Merhaba oyunumda 2d bir daireyi mobil input ile kontrol ediyorum en son haraket ettirmeyi bıraktığımda biraz daha devam etmesini kaymasını birden durmamasını nasıl sağlayabilirim ?
Cevapla
yasirkula dedi ki:	
21 Mayıs 2020, 18:42	
Dairenin hızını Mathf.Lerp veya Mathf.MoveTowards ile yumuşak bir şekilde 0’a çekebilirsiniz (bunu Update’te yapmanız lazım). Lerp dersim için: https://yasirkula.com/2015/12/27/unity-lerp-ile-smoothing-yumusatma-islemi-yapimi/
Cevapla
Yasin dedi ki:	
14 Mayıs 2020, 23:54	
Abi kolay gelsin hayırlı ramazanlar.
2D bir oyunumu bitirdim. 1280×728 Landscape olarak ayarladım. Her sahnemdeki objelerimi anchor ayarı yaptım. Hatta hepsini tek panele atıp o panelin anchorları tam köşelere getirecek şekilde ayarladım. Scale with screen size ayarınıda yaptım. Ama oyunu build alıp telefonda test ettiğimde hala küçük çıkıyor. Neyi eksik yapıyorum?
Cevapla
yasirkula dedi ki:	
15 Mayıs 2020, 10:42	
Canvas Scaler ayarlarınıza bakabilir miyim?
Cevapla
Yasin dedi ki:	
15 Mayıs 2020, 19:53	
Tekrar kontrol ettim. Halletim hocam. Kusura bakmayın burayı boş yere doldurdum, bu soruyu silin isterseniz. (scale with screen size yaptım sanıyordum, yapmamışım.)
kartal dedi ki:	
12 Mayıs 2020, 18:16	
Hocam merhabalar,
Ben Unity’de bir oyun yapmaya çalışıyorum.Ticaret butonuna bastığım zaman ticaret sayfasının açılmasını ,savaş butonuna bastığım zaman savaş sayfasının açılmasını istiyorum.Bunu nasıl yapabilirim?
Scene Manager ile yaparsam önceki sahnedeki oyun mekaniklerine,değişkenlere,bilgilere ulaşamam sanırım.
Şu ana kadar Panel sistemi ile devam etmiştim.Butona basıldığı zaman Set Active ile istediğim Panel’i açıp kapıyordum ama bu bir süre sonra zorlaşacak gibi geldiği için size danışmak istedim,tavsiyeniz nedir ?
Cevapla
yasirkula dedi ki:	
13 Mayıs 2020, 13:17	
Ben bahsettiğiniz Panel sistemini kullanıyorum. Scene Manager ile yapmak isterseniz, SceneManager.LoadScene(“SahneAdi”,SceneManager.LoadSceneMode.Additive); ile istediğiniz sahneyi mevcut sahnenin üzerine ekleyebilirsiniz. Bu sahneyle işiniz bittiğinde ise SceneManager.UnloadSceneAsync ile sahneyi kapatabilirsiniz.
Cevapla
kartal dedi ki:	
13 Mayıs 2020, 14:12	
Hocam teşekkürler,peki panel sayısı artınca bir zorluk,sıkıntı oluyor mu?
yasirkula dedi ki:	
13 Mayıs 2020, 15:50	
Ben henüz sıkıntı yaşamadım.
Bedirhan dedi ki:	
04 Mayıs 2020, 23:17	
Hocam merhabalar,
IAP Purchase hakkında Türkçe kaynak yok denecek kadar az. Acaba bununla ilgili bi yazı yayınlayabilir misiniz? Oyunda her şey iyi güzel mekanikler tamam ama skin ekledim fakat bunları nasıl kalıcı olarak satacağımı ve kullanıcının o skini seçtiğinde kalıcı olarak onu kullanması gerektiğini bilmiyorum. Çok teşekkürler
Cevapla
yasirkula dedi ki:	
05 Mayıs 2020, 18:04	
Şu an için benim de bu konuda tecrübem sıfır. Tecrübe edinirsem ders yazmaya çalışırım.
Cevapla
Yusuf tuna dedi ki:	
02 Mayıs 2020, 13:03	
Hocam merhaba ben oyunumda sepet olan objemin duvarların arasından gecmemesini istiyorum ilk başta her şey normal bir sıkıntı yoktu ama projeyi android moduna geçirince duvarlarin özelliği bozuldu ve sepet duvarların içinden geçmeye basladi ama ne yaptıysam geçiyor box colider ve rigidbody de ekledim ama olmuyor lütfen yardım ne yapmalıyım
Cevapla
yasirkula dedi ki:	
05 Mayıs 2020, 17:51	
Eğer sepetin Rigidbody’sinde “Is Kinematic” işaretli ise, duvarın içinden geçmesini engelleyemezsiniz, bunun için raycast vb. yöntemlerle bu sıkıntıyı elle çözmeniz lazım. Aksi taktirde, hem duvarda hem de sepette collider olduğundan, bu collider’ların “Is Trigger”ının kapalı olduğundan ve sepette Rigidbody olduğundan emin olun. Edit-Project Settings-Physics’in en altındaki matriste, sepet ile duvarın layer’larını bağlayan tikin işaretli olduğundan da emin olun.
Cevapla
Yusuf tuna dedi ki:	
06 Mayıs 2020, 23:26	
Hocam yorumunuz için teşekkür ederim ama dediklerinizi uyguladım yinede düzelmedi problem devam ediyor karakterim duvarlarin içinden geçiyor ne yapacağım bilemedim şuan projem bitmişti ama sadece bu sorunla başa çıkmaya çalışıyorum başka bir öneriniz varmı hocam
yasirkula dedi ki:	
07 Mayıs 2020, 00:13	
Aklıma gelen başka bir şey yok maalesef.
Yiğit dedi ki:	
30 Nisan 2020, 00:33	
hocam selamlar. oyunumda bir top var karakter olarak, bunun rengi beyaz, ben renk değiştirme ekranı yapıp rengini değiştirip bunu kaydetmek istiyorum playerprefs ile. kullanıcı birdaha değiştirene kadar o renk kalsın istiyorum, bunu nasıl yapabilirim, bunun hakkında bir ders yapabilir misiniz?
Cevapla
yasirkula dedi ki:	
30 Nisan 2020, 11:55	
Rengi Color c; değişkeninde tutuyorsanız, 3 SetFloat komutu ile rengi kaydedebilirsiniz:
PlayerPrefs.SetFloat(“RenkR”,c.r);
PlayerPrefs.SetFloat(“RenkG”,c.g);
PlayerPrefs.SetFloat(“RenkB”,c.b);
Rengi geri çekerken de:
if(PlayerPrefs.HasKey(“RenkR”))
c = new Color(PlayerPrefs.GetFloat(“RenkR”),PlayerPrefs.GetFloat(“RenkG”),PlayerPrefs.GetFloat(“RenkB”),1f);
Cevapla
Bayram dedi ki:	
20 Nisan 2020, 23:12	
Merhaba unity ile bluetooth kullanarak bir oyun yapmak istiyorum bunun için bir kaynak önerebilirmisiniz ben bulamadımda
Cevapla
yasirkula dedi ki:	
21 Nisan 2020, 10:30	
Benim bu konuda tecrübem yok ama Asset Store’da birkaç kez bluetooth plugin’leri görmüştüm.
Cevapla
Umur Ercan dedi ki:	
20 Nisan 2020, 01:08	
merhaba hocam unity motoru kullanarak ios oyun geliştiriyorum resimdeki gibi cocoapods kurdum build alırkan diğer resimdeki hatayı veriyor hatanın çözümünü bulamadım sizce neden kaynakalanıyordur.
https://hizliresim.com/yGLDtz
https://hizliresim.com/pVRT2Z
Cevapla
yasirkula dedi ki:	
20 Nisan 2020, 12:23	
CocoaPods kurulumu konusunda maalesef bilgim yok.
Cevapla
Yiğit dedi ki:	
18 Nisan 2020, 19:16	
hocam selamlar. unityde bir hata ile karşılaşıyorum, bilmiyorum burdan sormam mantıklımı ama. kodlarımla ilgili bir sorun yok,
https://hizliresim.com/pTlPLy
https://hizliresim.com/aJvnYI
https://hizliresim.com/dSlBHA
çok garip hatalar ilk defa görüyorum. lütfen yardımcı olabilir misiniz? çok sevineceğim.
Cevapla
yasirkula dedi ki:	
18 Nisan 2020, 19:43	
Konuyla alakalı bulabildiğim tek şey şu: https://stackoverflow.com/questions/34940056/could-not-dispatch-a-message-to-the-daemon. Unity’e restart atınca da aynı sıkıntı oluyorsa, GRADLE_HOME’lu cevabı inceleyebilirsiniz.
Cevapla
Adem dedi ki:	
30 Mart 2020, 12:22	
hocam unity de 2d ve 3d için sohbet kutusu yapımını bir yazınızda anlatabilirmisiniz?
Cevapla
yasirkula dedi ki:	
31 Mart 2020, 19:43	
Maalesef bilgi alanımın çok dışında bir konu, o yüzden yardımcı olabileceğimi pek sanmıyorum
Cevapla
user1 dedi ki:	
24 Mart 2020, 16:02	
Yasir bey blenderda yaptığım obje yi unity ye atadığımda neden renksiz oluyor.tsskrlr
Cevapla
yasirkula dedi ki:	
25 Mart 2020, 09:53	
Texture’ları Unity’e elle atıp sonra objenin materyaline değer olarak vermeniz lazım. Bildiğim kadarıyla texture’lar otomatik olarak gelmiyor maalesef.
Cevapla
Mehmet dedi ki:	
16 Mart 2020, 12:51	
Age of war oyunun nesnelerin hareket sistemi bu şekilde bir sistem yapmak nasıl olur? Yeterince açıktır umarım.
Cevapla
yasirkula dedi ki:	
20 Mart 2020, 11:03	
Bence en basit yolu, her karaktere bir Rigidbody2D ve BoxCollider2D verip Update/FixedUpdate’te Physics2D.Raycast ile hareket yönünün 1 metre ilerisinde bir başka karakter var mı diye kontrol etmek. Eğer yoksa karakter o yönde bir miktar transform.Translate olur. Alternatif bir yöntem ise sahadaki tüm karakterleri bir List’te tutup, Update’te hareket yönünün 1 metre ilerisine uzaklığı yarım metre olan bir karakter var mı diye kontrol etmek. Eğer yoksa karakter o yönde bir miktar transform.Translate olur.
Cevapla
mehmet dedi ki:	
26 Mart 2020, 22:32	
Tag’ı Player olanları nasıl List’te eklerim. Yardımcı olurmusunuz.
yasirkula dedi ki:	
27 Mart 2020, 00:43	
GameObject.FindGameObjectsWithTag(“Player”) bir array döndürür, bunu kullanabilirsiniz.
mehmet dedi ki:	
27 Mart 2020, 01:05	
GameObject.FindGameObjectsWithTag(“Player”) for döngüsüne ekleyebiliyorum ama list oluşturamıyorum. Nasıl yapabilirim.
yasirkula dedi ki:	
27 Mart 2020, 10:00	
List<GameObject> list = new List<GameObject>(GameObject.FindGameObjectsWithTag(“Player”));
mehmet dedi ki:	
27 Mart 2020, 22:23	
Karakterin 1 metre ilerisinde düşmanı algıladığı zaman true oluyor. Ama diğer karakterler doğar doğmaz true olarak başlıyor. Bunu düzeltmenin bir yolu varmı ? (karakterlerin hepsi prefab)
Cevapla
yasirkula dedi ki:	
28 Mart 2020, 11:17	
true değeri static bir değişkende tutmuyorsanız bu sıkıntıyı yaşamamanız lazım, sebebini tahmin edemiyorum.
mehmet dedi ki:	
15 Mart 2020, 20:49	
Nesneleri spawn ettikten sonra birlikte hareket ediyorlar bu nesneleri ayırmanın bir yolu var mı?
Önce spawn ettiğim nesne önde olacak ve sırasıyla arka arkaya dizilecekler.
Mantığı hakkında bilginiz varsa anlatırmısınız.
Cevapla
yasirkula dedi ki:	
15 Mart 2020, 22:24	
En öndeki obje obje1.transform.position’dan B noktasına hareket ediyorsa, bir sonraki obje obje2.transform.position’dan obje1.transform.position+(obje1.transform.position-B)*mesafe noktasına hareket etmeli.
Cevapla
Mehmet dedi ki:	
15 Mart 2020, 23:28	
Ben şöyle düşünmüştüm sahnede ne kadar nesne varsa bir dizi oluşturup içine atmaktır. Sonra ilk spawnlanan (yani element 0) objeyi hareket ettirmek.
Sonra element1, element2, ve sırasıyla hareket ettirmek. Sizin anlattığınız bana karışık geldi.
Daha pratik yolu var mı ya da buna benzer örnek.
İyi günler.
yasirkula dedi ki:	
16 Mart 2020, 00:07	
Yapmak istediğiniz şeyi tam anlamamış olabilirim. Biraz daha açar mısınız?
user1 dedi ki:	
12 Mart 2020, 18:22	
mrb Yasir hocam.unity deki free assetleri yayınlayacağımız oyunda kullanmamızın herhangi bir sakıncası olur mu. yoksa modellemeyi kendim yapsam daha mı iyi olur.zaman yönünden dezavantajı var ama
Cevapla
yasirkula dedi ki:	
12 Mart 2020, 18:34	
Asset Store’daki ücretsiz asset’leri kastediyorsanız, asset’in Asset Store açıklamasında veya beraberinde bir README/LICENSE dosyası geldiyse bu dosyanın içinde aksi söylenmediği taktirde asset’i oyununuzda kullanabilirsiniz.
Cevapla
user1 dedi ki:	
05 Mart 2020, 17:29	
yasir hocam mrb.unity de c# script te yazılan kod çalışmıyor.c# scriptteki debug menüsüde yok.sebebi nedir acaba
Cevapla
yasirkula dedi ki:	
05 Mart 2020, 17:47	
Window-Console’da bir hata mesajı var mı kontrol edip bu hata mesajını internette aratabilirsiniz.
Cevapla
user1 dedi ki:	
05 Mart 2020, 18:03	
hayır hocam hata msj ı yok.scriptte yazıyorum fakat metaryeli oynatmıyor.scriptin içindeki debug kısmıda boş
yasirkula dedi ki:	
05 Mart 2020, 18:06	
Script’in içindeki Debug’dan kastınız nedir, o kafamı karıştırdı.
user1 dedi ki:	
05 Mart 2020, 18:14	
hocam kusura bakmayın yeni başlıyorum.kod yazdığımız yerdeki debug yazan ve any cpu yazan kutucuk donuk ve boş
yasirkula dedi ki:	
05 Mart 2020, 20:42	
Anladım. Oraların boş olmasının oyuna bir etkisi olmaması lazım, bence oraya çok takılmayın. Ney kod yazdığınızı ve kodu nereye atıp değişkenlere Inspector’dan nasıl değer verdiğinizi bilmediğimden kodunuz niye çalışmıyor yorum yapamıyorum.
user1 dedi ki:	
05 Mart 2020, 22:03	
tskrler yasir hocam
Hüseyin Çimşir dedi ki:	
03 Mart 2020, 13:13	
Merhaba, android üzerine çalışırken Proguard nedir, nasıl kullanılır hakkında bilgi verebilir misin? Özellikle firebase crashlytics ile entegre edip de symbols dosyası ile ne yapılır gibi detayları okudum okudum bir türlü anlayamadım. Crashlytics’de libil2cpp.0xafe180 şeklinde hatalar alıyorum. İnternette proguard’ı konfigüre etmem lazım gibi şeyler okudum
Cevapla
yasirkula dedi ki:	
03 Mart 2020, 13:34	
ProGuard’ın ne işe yaradığını ben de bilmiyorum ama Player Settings’te Minification’ı None’dan ProGuard’a çekince, uygulamada kullanılmayan kodu sildiğini biliyorum. Maalesef bazen aslında kullanılan bir kodu kullanılmıyor olarak düşünüp silebildiği için, native plugin’ler kullanırken ProGuard’ın ayarlarıyla oynamak gerekebiliyor.
Aldığınız crash’i anlaşılır formata sokmaya symbolication deniyor, bunun ProGuard ile alakası var mı bilmiyorum. IL2CPP build alırken APK ile birlikte bir symbols.zip dosyası da oluşuyor, bu işlem esnasında onu kullanıyor(muş)sunuz. Daha fazla bilgi için: https://support.unity3d.com/hc/en-us/articles/115000292166-Symbolicate-Android-crash
Cevapla
Saffet dedi ki:	
17 Şubat 2020, 21:46	
Merhabalar
Oncelikle emekleriniz icin cok tesekkur ederim.
Unity hakkinda bir
sorumu cevapliyabilirseniz cok sevinirim..
Unity kullanmaya yeni basladim, ve amacim sadece bir 3d viewer programi yamak ve icine yerlestirecegim objelerin Uv lerine ve objeyi 360 derece dondurebilme ozelligi gibi birkac scriptle bitirmek istiyorum.
fakat import ettigim bir Obj yada Fbx objesine yazdigim kod hicbir reaksiyon vermiyor ama kendi icindeki Gameobject’lerde gayet iyi calisiyor bu sorunu nasil aşabilirim?
Cevapla
yasirkula dedi ki:	
19 Şubat 2020, 13:38	
Yazdığınız script’i FBX asset’e atamamaktan bahsediyorsanız, modeli önce bir prefab’a çevirip script’i bu prefab’a atmanız lazım, direkt FBX veya OBJ asset’in GameObject’ini değiştirmek maalesef mümkün değil. Bahsettiğiniz sıkıntı, kodunuzun FBX’te çalışmazken Unity’nin Cube, Sphere gibi objelerinde çalışması ise, script’in ne iş yaptığını görmeden bir şey diyemeyeceğim.
Cevapla
saffet dedi ki:	
20 Şubat 2020, 19:06	
teşekkür ederim, çok sağolun..
Ejder dedi ki:	
08 Şubat 2020, 02:00	
Merhaba hocam, kendi çapımda oyun geliştirmeye çalışıyorum fakat içinden çıkamadığım bi’ sorun var.Karakterim yön tuşlarına basıp hareket ettikten sonra yan yatıyor bir nesneye çarptığı zamanda yan yatıyor,ters dönüyor bu sorunu nasıl çözebilirim yardımcı olur musunuz ?
Cevapla
yasirkula dedi ki:	
08 Şubat 2020, 18:09	
Rigidbody kullanıyorsanız, Constraints’ten Rotation’ın X ve Z değerlerini açmayı deneyin.
Cevapla
berkay dedi ki:	
05 Şubat 2020, 16:22	
Merhaba
Sadece harita menü tabanlı bir oyun geliştirmek istiyorum.Menüdeki kartlar sürekli değişicek bunun için nasıl bir yapı kullanabilirim ?
Cevapla
yasirkula dedi ki:	
08 Şubat 2020, 17:49	
Kartlar hakkında sorduysanız, ben ScriptableObject kullanmanızı öneririm: https://docs.unity3d.com/Manual/class-ScriptableObject.html
Cevapla
Kartal dedi ki:	
03 Şubat 2020, 19:59	
Hocam benim bir sorum var yardımcı olursanız sevinirim. Unity de 2d tabanlı bir oyun yapmaya çalışıyorum ve karakter hareketiyle ilgili bir sorunum var.
Ben, karakter sağa giderken sağa, sola giderken sola dönmesini istiyorum.Dönmesi için nasıl bir kod gerek.
İf(Input. GetKey(KeyCode. RightArrow))
{
??????
}
Cevapla
yasirkula dedi ki:	
04 Şubat 2020, 11:51	
Sprite Renderer kullanıyorsanız, bunun flipX değerini değiştirerek sprite’ın sağa sola dönmesini sağlayabilirsiniz. Aksi taktirde transform’un localScale’ini -1,1,1 ile 1,1,1 arasında değiştirmeyi deneyebilirsiniz.
Cevapla
Erdinç dedi ki:	
02 Şubat 2020, 00:15	
Merhaba hocam, benim bir sorum olacaktı Unity projemi başka bir bilgisayarda nasıl devam edebilirim veya unity projemin olduğu bir bilgisayara projemi tekrar kullanabileceğim şekilde nasıl format atarım?
Cevapla
yasirkula dedi ki:	
02 Şubat 2020, 16:58	
Unity projenizin olduğu konumdaki Assets, Packages ve ProjectSettings klasörlerini kopyalamanız yeterli. Ardından yeni bilgisayardaki boş bir klasöre bu 3 klasörü yapıştırıp bu klasörü Unity ile açabilirsiniz.
Cevapla
Neko dedi ki:	
25 Ocak 2020, 18:36	
Unityde text tabanlı oyun yapmak istiyorum kod bilgim 0 unityi daha yeni indirdim yardım eder misiniz?
Cevapla
yasirkula dedi ki:	
25 Ocak 2020, 21:08	
Eğer oyunu kendiniz ve arkadaşlarınız için yapıyorsanız benim önerim oyunu C# ile konsol tabanlı (cmd konsolu) yapın, Unity kullanmayın. Aksi taktirde şu iki yazıya göz atabilirsiniz:
– https://yasirkula.com/2014/09/05/unity-sikca-sorulan-sorular-s-s-s/
– https://yasirkula.com/2011/07/12/unity-3d-icin-ders-arayanlar-buraya-guncel/
Cevapla
Neko dedi ki:	
26 Ocak 2020, 19:04	
Anladım saolun ^^
atayomer3078 dedi ki:	
25 Ocak 2020, 16:12	
Merhabalar hocam, bir oyun yapıyorum ve bir yerde takıldım kaldım. 5 image nesnesini bir spire’nin içine attım ve sprite nesnesini canvasın Childi olarak olusturmam gerekiyor, Nasıl bir yol izlemem gerek normal yöntemlerle yapamadım ?
Cevapla
yasirkula dedi ki:	
25 Ocak 2020, 16:17	
Bir objeyi oyun esnasında başka bir objenin child’ı yapmak için transform.SetParent fonksiyonunu kullanabilirsiniz. Başka bir şey kastettiyseniz soruyu biraz daha açarsanız sevinirim.
Cevapla
Yasin dedi ki:	
01 Ocak 2020, 01:49	
Hocam merhaba nasılsınız? 2D bir oyun yapıyorum. A objem ana karekterim ve tuşa bastığımda Y ekseninde zıplama yapıyor. B objeleri Y ekseninde bulunuyor ve kendi ekseninde dönüyor. Sorum su ben zıplama tuşuna bastığımda A objem B objeme temas ettiğinde ona yapışmasını ve onunla birlikte dönmesini istiyorum ta ki ben tekrar zıplama tuşuna basana kadar. Ben tekrar zıplama tuşuan bastığımda o B objesinden ayrılıp bir üsteki objeye yapışmasını istiyorum. Yardımcı olabilirseniz çok sevinirim şimdiden çok teşekkür ederim.
Cevapla
yasirkula dedi ki:	
01 Ocak 2020, 17:15	
A objesini B objesinin child’ı yaparsanız A objesi B ile hareket eder veya döner. Tekrar zıplayınca A objesini child olmaktan çıkarırsanız da iki obje artık beraber hareket etmez.
A’yı B’nin child’ı yapmak için: A.transform.SetParent(B.transform);
A’yı child olmaktan çıkarmak için: A.transform.SetParent(null);
Cevapla
Yasin dedi ki:	
01 Ocak 2020, 18:03	
hocam peki aynı komutla (zıplama komutu) bu dediğiniz 2 işlemi nasıl yaparım. Yani zıpladım B ojesine yapıştım sonra tekrar zıpladım B objesinden ayrıldım C objesine yapıştım.
Yasin dedi ki:	
01 Ocak 2020, 18:57	
A objesi B objesine yapıştıktan sonra tekrar zıplamıyor.
yasirkula dedi ki:	
01 Ocak 2020, 19:51	
Tekrar zıplama tuşuna basınca önce A’yı child olmaktan çıkarın. A’yı B’nin child’ı yapma kodunu ise OnCollisionEnter2D fonksiyonuna taşıyarak, A’yı çarpılan objenin child’ı yapabilirsiniz, bu şekilde C’ye veya D’ye çarpınca da child olma işlemi gerçekleşir.
Yasin dedi ki:	
02 Ocak 2020, 18:40	
Dertlerim bi türlü bitmedi çok özür diliyorum hocam. Anlamıyorum istrigger yaptığım halde zıpladığımda A objesi B objesinin colliderine yapışmıyorda içine giriyor. ya da yarısı içine giriyor yarısı dışarda kalıyor. Collidere tam temas ettiği yüzeyde neden durmuyor ?
Yasin dedi ki:	
02 Ocak 2020, 19:43	
Pardon hocam ben ontriggerenter ile işlem yapıyormuşum çok özür dilerim.
Kadir Can dedi ki:	
28 Aralık 2019, 11:29	
Hocam multiplayer oyun yaptim. Oyunu oluşturdum fakat oyuna hesap girişleri eklemek istiyorum. Yani oyuna gmail hesabı ile bağlanma vesayre bunu nasıl yapabilirim ? Şimdiden teşekkürler.
Cevapla
yasirkula dedi ki:	
28 Aralık 2019, 21:59	
Mobil oyun yapıyorsanız Gmail ile bağlanma işini şu plugin ile yapabilirsiniz: https://github.com/googlesamples/google-signin-unity. Kendim kullanmasam da, anladığım kadarıyla Firebase de bu tarz işler için kullanılabiliyor. Benim bu konuda tecrübem olmadığından daha fazla yardımcı olamıyorum.
Cevapla
gökhan atman dedi ki:	
19 Aralık 2019, 14:56	
yasir hocam merhabalar. içinden çıkamadığım bir sorunum var. velocity ile default hareket eden karakter oluşturdum. ilk etapta karakter kayarak hareket ediyordu. daha sonra yürüme animasyonu oluşturdum ve yine start verdiğim gibi kendiliğinden animasyonlu bir şekilde hareketi gerçekleştirdi. daha sonra animatorden ölme animasyonu ekledim. fakat karakter yerinde yürüme animasyonunu yapmaya başladı. ve öldügünde ise ölme animasyonu çok başka bir konumda devreye girmeye başladı. animasyonları prefab üstünden unity editorde kendim yaptım. burda uzuvlara hareket verirken pozisyonlarından bir tutarsızlıga sebep olmuş olabilirim ancak ilk etapda yürüyüp sonrasında yürümemesi iyice kafamı karıştırdı. zira animator compennetini kapatırsam velocity etkisiyle karakter animasyonsuz hareket ediyor. umarım derdimi anlatabilmişimdir. yardım ederseniz sevinirim. iyi çalışmalar.
Cevapla
marjii513 dedi ki:	
19 Aralık 2019, 20:58	
Sürekli yürüme eğer loop özelliği açıksa normaldir diğer problem hakkında bilgi sahibi değilim dostum
Cevapla
Gokhan Atman dedi ki:	
20 Aralık 2019, 10:24	
benim durumda loopla alakası oldugnu düşünmüyorum. karakter konum değiştirmeden oldugu yerde yürüyor
yasirkula dedi ki:	
21 Aralık 2019, 12:13	
Animasyonunuzda objenin Transform position değerini değiştiriyorsanız ve Root Motion kullanmıyorsanız (animasyonu kendiniz yaptığınız için Root Motion kullanabileceğinizi sanmıyorum), obje animasyonda position değerini birebir takip eder. Yani diyelim animasyonu oluştururken obje 100,100,100 koordinatlarında idiyse ve bu koordinatı animasyona keyframe olarak eklediyseniz, o zaman obje animasyon esnasında buraya ışınlanır. Bunu çözmenin bir yolu, şuna benzer bir hiyerarşi oluşturmak:
Root obje: içinde Animator, Rigidbody, Collider vs. yer alır ama Mesh Renderer yer almaz, Animator’un animasyonları bu objenin Transform’unu ellememeli. Karakteri temsil eden ve velocity ile hareket eden obje budur
└── Mesh obje(ler)i: içinde Mesh Renderer yer alır, Root obje’deki Animator’un animasyonları bu objelerin position, rotation vb. değerlerini değiştirir
Cevapla
Gokhan Atman dedi ki:	
23 Aralık 2019, 21:02	
hocam çok teşekkür ederim. en sonunda istediğimi yapabildim. tam da dediğiniz gibiydi. tekrardan çok teşekkür ederim.
marjii513 dedi ki:	
18 Aralık 2019, 12:23	
İyi günler Yasir hocam. Sitenizi yeni keşfettim ve ilgimi çekti. Unity dersi aldım. Şimdi de kendimi bu alanda geliştirmek istiyorum paylaşımlarınız hem türkçe hemde anlaşılır olması açısında gayet başırılı olduğu için değerli bir kaynak. Ancak sorun şu ki ben tam olarak nereden başlayacağımı kestiremiyorum. TPS tarzında başlayacağım bir süre rehberlik edebilir misiniz acaba?
Cevapla
yasirkula dedi ki:	
21 Aralık 2019, 12:03	
Şurayı inceleyebilirsiniz: https://yasirkula.com/2014/09/05/unity-sikca-sorulan-sorular-s-s-s/. Orada verdiğim listenin en sonundaki oyun, C# ile TPS oyun yapımını gösteren bir çeviri ders.
Cevapla
delamis dedi ki:	
16 Aralık 2019, 11:36	
Yasir hocam merhaba, oyunuma play services ekledim, leaderboard kullanmak için. Fakat giriş yapamıyor. IAP, one signal, admob, firebase servislerinin hepsi çalışıyor fakat bir türlü bunu çalıştıramadım. Birden fazla versiyonla bir çok kez denedim. Kimi zaman hiç bir hata vermeden giriş yapamadı, kimi zaman da sign in olduktan sonra yetkilendirme iptal edildi diyor. Şu anda bir türlü işin içinden çıkamadım. Yardımcı olabilir misiniz?
Cevapla
yasirkula dedi ki:	
17 Aralık 2019, 21:03	
Play Services’ı yıllar önce kabaca kullanmıştım ve beraberinde başka plugin kullanmamıştım. Birden çok google plugin’i kullanınca çakışmalar olabildiğinden haberdarım, bu konuda internette yüzlerce başlık var çünkü maalesef. Ancak sorun nasıl çözülüyor bilmiyorum. Dilerseniz bir GitHub hesabı açıp ardından direkt Play Services’ın ekibinden teknik destek isteyebilirsiniz: https://github.com/playgameservices/play-games-plugin-for-unity/issues
Cevapla
Bulent Levent dedi ki:	
14 Aralık 2019, 15:04	
yasir bey
Yaptığım oyunda duşman uçaklarını şehir uzerinde binalara çarptırmadan (binayı görunce yön değiştirmesini istiyorum) nasıl uçurabilirim . Hareket ettirme ve playerı takip ediyor ama bina ve diğer engelleri nasıl algılatabilirim çarpmaması için.
Cevapla
yasirkula dedi ki:	
17 Aralık 2019, 20:56	
Pathfinding yapmak istiyorsunuz gibi duruyor. Bu konuda ücretsiz olarak Unity’nin NavMesh sistemini kullanabilirsiniz (bu konuda şu dersim mevcut). Eğer ilgilenirseniz Asset Store’da A* gibi daha gelişmiş ama ücretli asset’ler de var.
Cevapla
Bulent Levent dedi ki:	
17 Aralık 2019, 21:26	
Teşekkurler Yasir bey
Bu dersinizi görmemişim .
Bulent Levent dedi ki:	
09 Aralık 2019, 22:55	
Yasir bey
oyunumda colliderların bazılarını oyun objeleri algılamıyor . Bir raycast ışını aynı objede bir colliderı göruyor bir colliderı görmuyor . Bir objede 1 den çok collider kullanmam gerekiyor . Nasıl çözebilirim yardımcı olurmusunuz .
iyi akşamlar .
Cevapla
yasirkula dedi ki:	
10 Aralık 2019, 19:54	
Mesh Collider kullanıyorsanız “Is Convex”i işaretlemeyi deneyin. Eğer amacınız Raycast’in ilk dokunduğu objede durmaması ise, Raycast yerine RaycastAll fonksiyonunu kullanabilirsiniz.
Cevapla
Bulent Levent dedi ki:	
11 Aralık 2019, 21:57	
Yasir bey
Teşekkur ederim .
Selim dedi ki:	
23 Kasım 2019, 20:39	
Merhaba. Unity türkiye camiasına katkılarınız için teşekkür ederim. 1 senedir çokca sizden yararlanıyorum. Çok şey öğrendim sayenizde. Ben oyunum için bir akıl isteyeceğim. Soru cevap oyunu yapıyorum. Level sistemli. İstediğim şey anamenu de bir liste oluşturup çözülen soruları ve doğru cevaplarını burada alt alta listemesini istiyorum. Aklıma gelen playerpref ile soru çözülünce soruyu ve doğru cevabı kaydedip o liste de de çekmek. Fakat bu şekilde her soru için playerpref oluşturmam lazım bu da tahminen oyunu şişirir.1000 soru eklemeyi düşünüyorum. Bahsettiğim listeyi en uygun nasıl oluşturabilirim. Aklıma ana sahnede bir prefab oluşturup. Level sahnesinde de bu prefabın değerlerini değiştirip anasahnede klonlamak. Bunu yapabilir miyim?
Cevapla
yasirkula dedi ki:	
24 Kasım 2019, 10:58	
Bence PlayerPrefs kullanabilirsiniz. Şöyle ki, soru ve cevabı kaydetmek yerine sadece sorunun 1000 soruluk liste içinde hangi index’te olduğunu kaydedebilirsiniz. Diyelim ki kullanıcıya 3., 100. ve 500. index’teki sorular sorulduysa, PlayerPrefs’e “3,100,500” diye bir string kaydedebilirsiniz. Ardından bu string’teki elemanlara ana menüden erişmek için, “string[] degerler = playerPrefsDegeri.Split(‘,’);” fonksiyonunu kullanarak bu PlayerPrefs’i “3”, “100” ve “500” elemanlarını tutan bir string array’ine çevirebilir, bu değerleri de int.Parse ile int’e çevirebilirsiniz.
Cevapla
Selim dedi ki:	
24 Kasım 2019, 11:46	
Yasin bey ben liste sistemini alttaki gibi 2 script oluşturarak ypmıştım. 2. scripti level1 sahnesine attım ve mesela soru listesinde countu 30 yapmıştım. Diğer sahnelerde de 30 olarak ayarlayıp soruları yerleştirmeyi düşünüyordum. bir liste de 1000 değilde 2. scripti surukleyerek parça parça yapıcaktım. Kodları bu şekilde hazırladım.Hepsini 1 listede yazmıcaktım.Bu şekilde bu scriptleri parça parça kullanmaz mıyım ?(Hani level1 de 30 soru yaptım diye 2.levelde o 30dan devam mı ettirir yoksa baştan değişebilir mi ?) Böyle kullanabilirsem bu şekilde nasıl çekerim ?
———————————script1——————————————–
[System.Serializable]
public class ListeSoru {
public string Soru,Cevap1,Cevap2,Cevap3,Cevap4,Aciklama;
public int DogruCevap;
public bool Cevap_Kontrol;
public void Sorubolumu(string soru,string cevap1,string cevap2,string cevap3,string cevap4,string aciklama, int dogrucevap, bool cevap_kontrol){
Soru = soru;
Cevap1 = cevap1;
Cevap2 = cevap2;
Cevap3 = cevap3;
Cevap4 = cevap4;
Aciklama = aciklama;
DogruCevap = dogrucevap;
Cevap_Kontrol = cevap_kontrol;
}
}
script2————————————————————————————–
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ListeSoruCogaltici : MonoBehaviour {
public int bolumNo;
public string text_Konu ;
public List sorulistesi;
}
Selim dedi ki:	
24 Kasım 2019, 12:18	
Birde ek bilgi olarak şunu kısaca anlatır mısın oluşturduğumuz yada hazır olan metotlarda () parantez kullanıyoruz ya bunun içine genelde değişken atıyorlar onun mantığı nedir? Mesela ben public void butonlar (int butondegeri) yaptım scripti butonlara atınca degerler geldi yazdım. bunun mantığı normalde mesela scriptin başında değişken oluşturuyoruz ya aynı şey mi ? Oncollider2d mesela bunun içinde de Collision diye tanımlıyoruz. O prantez içine yazılan değişkenlerin mantığı ne ?
yasirkula dedi ki:	
24 Kasım 2019, 14:15	
Bilgi yarışması oyunu yaparken takıldığınız yerlerde yardımcı olması için “unity soru cevap oyunu” şeklinde arama yapıp kaynakları incelemenizi öneririm.
Fonksiyonların aldıkları parametreler kafanızı karıştırdıysa adım adım ilerlemenizi öneririm, öncelikle Unity’den bağımsız bir şekilde basit anlamda C#’ta kendinizi geliştirirseniz Unity’de kod yazarken çok daha rahat edersiniz. C# konusunda yazılı/video çok fazla video ders vardır bu yüzden kaynak sıkıntısı yaşayacağınızı sanmıyorum.
Yasin dedi ki:	
03 Kasım 2019, 13:48	
Hocam merhaba reklam kısmında yorum yapamadığım için burdan yazıyorum. Bu şekilde bir sorun alıyorum ne yapmalıyım?
Coroutine couldn’t be started because the the game object ‘ReklamGecis’ is inactive!
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
ReklamInterstitial:reklamıGöster() (at Assets/Scripts/ReklamInterstitial.cs:28)
UnityEngine.EventSystems.EventSystem:Update()
Cevapla
yasirkula dedi ki:	
03 Kasım 2019, 13:50	
ReklamGecis objesi inaktif diyor, objenin aktif olması lazım.
Cevapla
Yasin dedi ki:	
03 Kasım 2019, 14:44	
Obje aktif zaten hocam. sahnede
yasirkula dedi ki:	
03 Kasım 2019, 15:00	
Hata mesajı aktif değil diyor, On Click’e yanlış bir objeyi vermiş olabilirsiniz. Ayrıca objenin sahnede olmasına ilaveten hem objenin, hem objenin tüm parent’larının aktif olması lazım, yani Inspector’da ismin solundaki tikin işaretli olması lazım.
Yasin dedi ki:	
03 Kasım 2019, 15:06	
objeyi silip aynısından tekrar oluşturdum düzeldi. Çok ilginiç gerçekten. Dediğiniz gibi objenin herşeyi aktif ismi tikliydi bug oldu heralde 🙂 Çok teşekkürler hocam.
user dedi ki:	
07 Ekim 2019, 18:18	
Hocam tekrardan merhaba bi konuda çok yardımınıza ihtiyacım var ben araba yarışı yapmak istiyorum kendi arabamın kodlamasını yaptım rakip arabayı da toplama kodlarla hareket ettirmeyi başardım zorlada olsa woypoint yöntemi ile ama şöyle bi sıkıntım var araba ile yolda giderken yoldan çıkarttığım zamn gidiyo duvara zorluyo yani kendini geri çekip yoluna geri girmiyo veya ters döndüğü zman alıyo başını ters yöne doğru gidiyo bir sonraki woypoint noktasına gitmiyo önünde ilk hangisi varsa ona gidiyo bu konuda çok araştırma yapıyorum bir haftadır nerdeyse uyku uyumuyorum sitresten kafayı taktım yabancı kaynakları çevirden bakabildim kadar baktım yok bi türlü yapamadım bu konuda bunu bana öğretebilecek bildiğiniz bi kaynak vsrmı veya bana yardımcı olabilirimisiniz? Bu arada unity 5 ile çalışmak zorundayım diğer sürümlerde bilgisayarlarım kasıyo o yüzden hazır assestlerden kaynak olarak yararlanamıyorum çoğu 2017 üstü sürüm istiyor 😀
Cevapla
yasirkula dedi ki:	
07 Ekim 2019, 21:58	
Araba yapay zekası konusunda tecrübem yok gibi bir şey o yüzden bu konuda pek yardımım dokunamayacak. Ancak mesela arabanın transform.position değeri 1-2 saniye boyunca hemen hiç değişmediyse (duvara zorlamak) veya bu süre zarfında araç hedef waypoint’inden uzaklaştıysa (ters yönde gitmek)(uzaklığı kıyaslarken (hedefWaypoint.transform.position - transform.position).sqrMagnitude kullanabilirsiniz) arabayı en son başarıyla geçtiği waypoint’te ve doğru yönde respawn edebilirsiniz.
Cevapla
user dedi ki:	
08 Ekim 2019, 00:09	
Sağolun hocam çok teşekkür ederim
Yasin dedi ki:	
04 Ekim 2019, 19:00	
Hocam merhaba,
Menü ekranında bir satın alma sistemi oluşturdum. Yapmak İstediğim, “Menu ekranında” bulunan “satın alınan itemi aktif et butonu” ile “oyun sahnesinde” bulunan objemi aktif etmek istiyorum. Fakat “Oyun sahnesindeki” objeye “Menü Sahnesinden” ulaşamıyorum. Yardımcı olursanız çok sevinirim. İyi çalışmalar.
Cevapla
yasirkula dedi ki:	
05 Ekim 2019, 21:00	
En basitinden, aktif edilebilecek objelerin hepsini oyun sahnenizdeki bir public GameObject[] değişkende tutup hangi index’teki objenin aktif edileceği bilgisini (yani bir int değerini) menü sahnesinden oyun sahnesine ulaştırabilirsiniz. Bunun için ise public static int değişkeniniz olsun ve oyun başlamadan hemen önce buna aktif edilecek objenin index değerini verin. Referans olması için şu yazıyı (özellikle “Değişkeni static yapmak” kısmını) inceleyebilirsiniz: https://yasirkula.com/2019/07/27/unity-bir-scriptten-baska-bir-scriptteki-degiskene-ulasmak/
Cevapla
Yasin dedi ki:	
06 Ekim 2019, 00:55	
Çok teşekkür ederim. Her konuda hem tebrik, hem çokca teşekkür ediyorum hocam size. Emek verip hazırladığınız dökümanlar, bu site herşey için çok teşekkür ederim.
user dedi ki:	
03 Ekim 2019, 23:18	
Hocam merhaba android için UI lerle fps control yapıyorum joystick ile control kolay oluyo fakat panel ekleyip control etmeye çalıştığım da (paneli yarım veya tam ekranı kaplayıp görünürlüğü kapattım zamn) olmuyo yani control bi garip oluyor sizin tecrübeleriniz vardır zaten bu konuda sorum şu pubg gibi tam ekran fps karekter control yapmak istiyorum yani ordaki gibi düzgün bi control yapamadım yardımcı olurmusunuz lütfen?
Cevapla
yasirkula dedi ki:	
05 Ekim 2019, 21:02	
PUBG oynamadım ama orada da joystick yok mu? Paneli ney için kullanıyorsunuz onu biraz daha açabilir misiniz?
Cevapla
user dedi ki:	
07 Ekim 2019, 18:06	
Merhaba hocam hemen açayım konuyu. Evet var joyistik sol altta olduğu gibi ileri geri sağa sola koşmak için joyistik var. Fps controller ve standart assestin içindeki joyistic.cs yi kullanıyorum hareket için. Fakat bu tarz oyunlar da silahı hareket ettirmek için yukarı aşağı saha sola karekterin bakış açısını değiştirmek için sağ baş parmağımızla kontrol ediyoruz yani birnevi bilgisayarada farenin yaptığı işi yaptırmya çalışıyoruz ya bunu tekrar hazır assesteki joyistic.cs ile aynı ileri gerideki gibi görünür bir joyistik yaptığım zamn ve vertical yerine horizontal yazıp yaptığım zamn herşey normal oluyo fakat benim istediğim onun orda görünmemesi bunun uçun o joyistiğin boyutunu büyütüp görünürlüğünü saydam yapıyorum ama bu sefer sapıtmalar oluyo joystiğin tam ortasına dokunup hareket ettirmedğim için yaptığını fark ettim bu sefer panele attım joyistik kodunu ama yine aynı şeyler yaşanıyo panelin tam ortasından tutup hareket ettirmeye çalıştığım zman normal oluyo fakat başka bi yerden tutarsam ilk önce karekter oraya dönüyo sonra istediğim yöne dönüyo. İstediğim şey karekterin bakış açısını değiştirirken görünmeyen bi joyistik ile tam ekranı kullanmak kocaman bi joyistik kontrolun(mouse kontrolu için olanın) görünmemesi zaten karektrin yürümesi ateş etmesi gibi ekranı dolduran şeyler var bide ekstradan o olmasın istiyorum şimdiden teşekkür ederim
user dedi ki:	
07 Ekim 2019, 18:50	
Küp oyununuzdaki küpü sağa sola aşağı yukarı hareket ettiriyoruz ya hocam aynı onun gibi bi kontrol istiyorum 😊
yasirkula dedi ki:	
07 Ekim 2019, 21:53	
Ben küp oyununda joystick değil Input.GetTouch ile parmaktan input aldım. Bu konuda şu dersime bakabilirsiniz: https://yasirkula.com/2013/07/17/unity-ile-androide-uygulama-gelistirmek-1-dokunmatik-ekran-entegrasyonu/
Joystick işinizi halihazırda görüyor ama sadece görünmez olmasını istiyorsanız da dinamik konumlandırmalı joystick’ler kullanabilirsiniz. Mesela şu dersime göz atabilirsiniz: https://yasirkula.com/2016/06/17/unity-ui-dokunmatik-ekran-joystick-kullanimi-multi-touch-destekli/
user dedi ki:	
09 Ekim 2019, 22:44	
Tekrardan merhaba hocam istedğim şey dinamik joyistikmiş denedim gördüm fakat standart assets ile gelen joystick.cs ile bir türlü entegre ede edemedim bu konuda yardımcı olurmusunuz?
yasirkula dedi ki:	
10 Ekim 2019, 00:47	
Hem o asset’i kullanmadığımdan hem de diğer projelerimle uğraştığımdan bu konuda yardımcı olamayacağım.
user dedi ki:	
10 Ekim 2019, 00:51	
Yinede sağolun hocam
Mail Maker dedi ki:	
18 Eylül 2019, 23:30	
Hocam Selamlar,
Gerçekten bilgilendirici içerikler paylaşıyorsunuz. Fakat temanız çok göz yorucu yazı fontlarınız çok küçük. Daha flat bir tema kullanmanızı ve fontları biraz büyütmenizi öneririm.
Ukalalık gibi algılamayın benimkisi nacizane bir tavsiye elbette tercih sizin.
Bu arada paylaşımlar için çok teşekkürler.
İyi günler.
Cevapla
yasirkula dedi ki:	
21 Eylül 2019, 18:17	
Geribildiriminiz için teşekkür ederim. Yakın zamanda çeşitli temalara baktım ama gözüme hoş gelen bir tema bulamadım. Güzel bir tema bulursam dediğiniz gibi temayı değiştirebilirim.
Cevapla
byrm dedi ki:	
13 Ağustos 2019, 23:04	
oyunumun admob da eBGBM değeri başlangıçta yüksekti ama sonradan çok düştü bunun sebebi nedir acaba şuan 0,75 tl bunu arttırma yöntemleri varmı
Cevapla
yasirkula dedi ki:	
16 Ağustos 2019, 12:46	
Şuraya göz atabilirsiniz: https://support.google.com/admob/answer/3418058?hl=tr
Cevapla
Ahmet dedi ki:	
30 Temmuz 2019, 21:45	
Hocam merhabalar.. Unity3d ile bir oyun yapıyorum, yaptığım oyunda karakterimin yerçekimi yokmuş gibi duvara tırmanması lazım. Bir böcek gibi düşünebilirsiniz. Bunu nasıl yapabilirim? Collider’e girince karakter 270 derece dönsün dedim tırmanıyormuş gibi gözükmesi için fakat karakter collider’e girince uçmaya başladı. Ne önerirsiniz? Elinizde bunla ilgili paylaşabilecğeiniz bir kaynak var mı teşekkürler..
Cevapla
yasirkula dedi ki:	
01 Ağustos 2019, 17:28	
Physics.gravity‘nin değerini değiştirerek yerçekiminin yönünü değiştirebilirsiniz. Ancak bu tüm Rigidbody’leri etkiler. Veya sadece karakterin yerçekimini etkilemek için, Rigidbody’sinin “Use Gravity” değerini kapatıp karaktere verdiğiniz bir script’in FixedUpdate’inde AddForce fonksiyonunu kullanarak elle yerçekimi gücü uygulayabilirsiniz. Bu şekilde istediğiniz yönde yerçekimi uygulayabilirsiniz. Yerçekiminin yönünü yere değil de duvara doğru yapınca sorun düzelir mi dersiniz?
Cevapla
H B dedi ki:	
27 Temmuz 2019, 18:12	
Hocam oyunumda level sistemi mevcut. Her bölümde yerde altınlar var bunları toplayınca o anda yok oluyorlar ve toplam altın miktarınız kayıt oluyor onu da yaptım. Diğer bölüme geçtiğinizde altın miktarınız sıfırlanmıyor yani.
Sorun şu ki oyuncu önceden oynadığı bölümlere girip tekrar aynı altınları toplayabiliyor. Ben istiyorum ki topladığı anda kaybolan altın bölümü yeniden açtığında geri gelmesin tamamen yok olsun yani. Teşekkürler.
Cevapla
H B dedi ki:	
27 Temmuz 2019, 18:52	
Bir beyin fırtınası ile hallettim hocam 😀 playerprefs bu kayıt işlerine yarıyordu bunu biliyordum ama sayılarla falan nasıl halledecem diye düşünürken buldum sonunda. Mevcut kullandığım level kilit sistemi gibi bir şey oldu.
Cevapla
yasirkula dedi ki:	
27 Temmuz 2019, 19:08	
Çözdüğünüze sevindim 🙂
Cevapla
H B dedi ki:	
27 Temmuz 2019, 21:42	
Hocam reklam koyarken OGURY firmasından yararlanmak istiyorum. Bünyesinde bir çok reklam ağı barındırıyormuş. googlenin servisi ve unity ads de dahil. Tek sdk ile hepsi çözülüyor. Ve yüksek ücret de veriyormuş. Sorun şu ki hiç bir türkçe anlatım yok sitesi de Türkçe değil ne yapacağım konusunda fikir oluşmadı. Siz anlatım yapabilir misiniz sitenize ekleseniz ? veya başka ne yapabilirim. Admob mu yapayım illa. Bir de oyunu playstoreye eklerken varsayılan dil olarak neyi seçmeliyim ?
yasirkula dedi ki:	
27 Temmuz 2019, 22:51	
OGURY nasıldır bilemiyorum ama şu an için OGURY veya Heyzap gibi servislerin entegrasyonunu anlatmayı planlamıyorum. Çünkü bu servislerin destekledikleri her bir reklam ağı için talimatları ayrı oluyor ve bu talimatlar sürekli güncelleniyor.
Oyununuz birden çok dil destekliyorsa, kullandığı en popüler dili varsayılan dil seçin (eğer oyununuz İngilizce destekliyorsa İngilizce seçin). Oyununuz tek dil destekliyorsa o dili varsayılan dil seçin.
yetkintmn dedi ki:	
25 Temmuz 2019, 15:12	
Tekrardan Merhaba,
İnternette yine yeterli sonuç bulamadığım için sizi rahatsız ediyorum. Canvas üzerinde UI ‘ lar ile oynan bir oyunumda bir şeyleri sürüklemek için aşağıdaki kodu kullanıyorum;
int layerMask = 1 << 8;
MousePosition = Input.mousePosition;
hit = Physics2D.Raycast(MousePosition, Vector2.up, layerMask);
if (hit.collider)
{
// Bu kod ile farenin hangi colliderın içine girdiğini görmek için kullanıyorum
Debug.DrawLine(MousePosition, hit.collider.transform.position, Color.black);
//Sürükleme kısmı
…..
}
Anlamadığım bir sebepten ötürü Canvas içerisindeki CapsuleCollider2D'ye sahip objelerin collider sınırları dışında da hit.collider true oluyor ayrıca sadece objenin tam altından itibaren aşağıya doğru başka objeye çarpmadan çok altlardan bile if içerisine girebiliyor yani objeyi collider sınırları içerisinde ve tam altından sonsuza kadar ki kısmında yine o objeyi görmekte. Gerekirse durumun fotoğrafını mail yoluyla atabilirim. Yardımcı olabilirseniz çok sevinirim 🙂
Cevapla
yetkintmn dedi ki:	
25 Temmuz 2019, 15:26	
Problemi Vector2.zero olarak çözdüm buraya yazarken farkettim. Benzer problemi yaşayan olursa yardımcı olabilir. 🙂
Cevapla
yasirkula dedi ki:	
26 Temmuz 2019, 07:45	
Sorunu çözebildiğinize sevindim, elinize sağlık 🙂
Cevapla
H B dedi ki:	
23 Temmuz 2019, 22:09	
Merhaba hocam. pencere açılış animasyonları ile ilgili internetde ne arattıysam bir şey bulamadım. Mesele ana menümde butonlar var. Basınca asağıdan yukarıya kayar şekilde açılmasını istiyorum. Bunun gibi şeyler nasıl yapılıyor sizin anlatımınız var mı ? Unity 3d bu arada.
Teşekkürler.
Cevapla
yasirkula dedi ki:	
24 Temmuz 2019, 18:12	
Animation veya Animator component’i kullanarak kolayca yapabilirsiniz. “unity ui animation” şeklinde aratarak video dersler bulabilirsiniz. Benim bu konuda anlatımım maalesef yok.
Cevapla
Ömer dedi ki:	
21 Temmuz 2019, 16:39	
Merhabalar. C# ile Unity’de multiplayer oyun yazmaya başladım. Bu ilk oyunum. UNET değil LLAPI ile yazıyorum. Şu ana kadar yaptıklarım:
2 oyuncu bağlanıyor. İstedikleri heroyu seçiyorlar. Kendi kulelerinin önünde doğuyorlar. Kuleden çıkınca enerjileri azalıyor. Rakip kuleye girince kuleye hasar veriyorlar. Ve birbirlerine yaklaşınca enerjisi fazla olan, az olana hasar veriyor.
Multiplayer oyun yazmayı şu tutorial’dan öğrendim: https://www.youtube.com/watch?v=iXxl2wRgsho&list=PLLH3mUGkfFCVXrGLRxfhst7pffE9o2SQO&index=8
Ancak burada bağlanan iki oyuncudan biri host, diğeri client. Ben oyunu sonuna kadar götürmek istiyorum. Dolayısıyla sanırım benim oyunumda host oyuncu olmamalı. Host aynı zamanda bir client olmamalı yani. Doğru mu düşünüyorum ? Bu konuda yardımcı olabilir misiniz ?
Cevapla
yasirkula dedi ki:	
21 Temmuz 2019, 23:42	
Multiplayer konusunda sadece HLAPI ile ve sınırlı düzeyde tecrübem oldu o yüzden teknik konularda yardımcı olamam ama sorunuzda bahsettiğiniz oyunu sonuna kadar götürmeyi tam anlayamadım. İki kişilik oyunda oyunculardan biri çıkınca oyunun otomatik olarak bitmesini istemiyor musunuz? Her halükarda, host oyundan çıkınca başka bir oyuncunun host olmasını Host Migration ile sağlamak mümkün olmalı: https://docs.unity3d.com/Manual/UNetHostMigration.html. Server’ın oyunculardan bağımsız bir yerde çalışmasını istiyorsanız “unity unet dedicated server” şeklinde arama yapabilirsiniz.
Cevapla
Ömer dedi ki:	
22 Temmuz 2019, 16:48	
Oyunu sonuna kadar götürmek derken, pes edip bırakmayacağım demek istemiştim 😀
Host olayına gelirsek, benim mesela oyunu hem editörden açıp hem build ediyorum. 2 buton çıkıyor Host ve Connect adında. Editörden host seçiyorum. Bir server ve bir client instantiate ediyor. Build’den Connect seçiyorum. Bir client daha instantiate ediyor.
Normalde bir oyunu atıyorum 100 kişi oynuyor anlık. 1 tane host ve 100 tane client olması gerekmiyor mu ?
Yani ben şu an yeni bir proje açıp server’ı orda yazayım. Oyunu hem editörden hem build’den açıp, server’a bağlayayım. Onlar oynarken, 2 tane daha build açayım onlar da oynasın.
Böyle olur mu acaba ? Olursa da server satın aldığımda ne yapacağım onu da bilmiyorum. Benim şu an çok genel bilgiye ihtiyacım var. Photon veya Unet kullanmıyorum. Attığım videodaki gibi low level api.
yasirkula dedi ki:	
23 Temmuz 2019, 15:07	
Bence server’ı editörden başlatmak yerine, build aldığınız uygulama ile başlatmanız daha iyi olur. Diyelim build aldığınız uygulama “-server” argümanı ile çalıştırılırsa otomatik olarak kendini server (host) yapar. Bunun için uygulamanızın başında şu kodu çalıştırabilirsiniz:
void Start()
{
if(System.Array.Exists(System.Environment.GetCommandLineArgs(), "-server"))
// otomatik olarak Host moda geçiş yap
}
Artık uygulamanızı cmd’den şu komut ile çalıştırarak server’ı başlatabilirsiniz: "Uygulama Konumu.exe" -server -batchmode. Buradaki batchmode, uygulamayı penceresiz (headless) çalıştırmaya yarar.
Multiplayer konusunda pek tecrübem olmadığını tekrarlamak istiyorum. Dediğiniz gibi 2 proje/build olayı belki daha mantıklı ama bilmeden bir şey diyemiyorum. Böyle bir durumda mesela server projesi, client projesindeki collider’ların yerlerinden vs. nasıl haberdar olacak da client’ın duvara çarpıp çarpmadığını bilecek gibi sorular aklıma geliyor. Mecburen iki proje arasında ortak bir takım veri olması gerekiyor gibi.
Ömer dedi ki:	
24 Temmuz 2019, 00:24	
İlgilendiğiniz için teşekkürler. Benim hatam böyle en low level’dan başlamak olmuş sanırım. Daha ilk multiplayer oyunum bir de. Arkadaş Photon ile yapmayı önerdi. Hem High level daha kolay hemde sunucuları ucuz. Ben onu deneyeyim en iyisi.
yasirkula dedi ki:	
24 Temmuz 2019, 18:17	
Photon’a tamamen geçiş yapmadan önce “unity low level networking solutions” şeklinde arama yaparak tüm multiplayer plugin’leri araştırmanızı öneririm, en azından piyasa hakkında bilginiz olur ve sonradan keşke demezsiniz.
Ömer dedi ki:	
24 Temmuz 2019, 23:56	
Baktım da hep böyle Photon, Mirror gibi birşeyler ekleyerek yapıyorlar. Benim izlediğim tutorial’da herhangi birşey eklemeden herşeyi kendi yazıyordu. Acaba bu da Unity’nin yeni network sistemi mi?
Ömer dedi ki:	
25 Temmuz 2019, 10:05	
Çok teşekkürler ilgilendiğiniz için 🙂
Ömer dedi ki:	
25 Temmuz 2019, 10:03	
Tamamdır öğrendim neyin ne olduğunu. Benim izlediğim tutorial’da adam modemde bir sunucu oluşturarak yapıyormuş. Yani LAN oluyor bu. Ama port yönlendirme yaparak normal bir online oyun gibi de oynanabilirmiş.
Ama günümüzdeki oyunlar tabi ki böyle yapılmıyor. Dolayısıyla bende Photon gibi server desteği olan bir şey seçmeliyim.
Cevapla
Enes dedi ki:	
21 Temmuz 2019, 13:03	
Unity de araba oyunuma lastik izi eklemek istiyorum ama internette gördüğüm bu konuyla alakalı scriptler Wheel Colliderla çalışıyor ben Wheel collider kullanmıyorum onun yerine Wheel scripti kullanıyorum nasıl uyarlayabilirim acaba veya nasıl bir şekilde lastik izi ekleyebilirim.
Cevapla
yasirkula dedi ki:	
21 Temmuz 2019, 23:33	
Arabanız hep yere yapışık mı yoksa zaman zaman tekerlerin yerden kalktığı oluyor mu?
Cevapla
slymn dedi ki:	
21 Temmuz 2019, 09:44	
Selam hocam Prefab olan 2 nesnem var hiyerarşi bölümünde koddan dolayı panel ve text objesi ekliyorum tüm prefablara uygula diyorum ama uygulamıyor. Hiyerarşi bölümünde olunca bişey olmuyor ama prefaba koyunca panel ve text objeleri yok oluyor nedeni ne olabilir acaba prefab olunca farklı birşey yapıyormuyuz kodda ?
Cevapla
yasirkula dedi ki:	
21 Temmuz 2019, 23:27	
Asset’leriniz (mesela prefab’lar) sahnedeki objeleri değişkenlerinde tutamazlar. Eğer panel ve text objeleri prefab’ın child objeleri değilse, prefab’ın değil de sahnenin bir parçası olduklarından onları hangi değişkenlere koyarsanız koyun prefab’da o değişkenlerin değeri None olur.
Cevapla
Slymn dedi ki:	
22 Temmuz 2019, 03:31	
Çözümü ne hocam tam olarak ne yapmam gerekiyor?
yasirkula dedi ki:	
22 Temmuz 2019, 10:58	
Mecburen Start, OnEnable vs. gibi bir fonksiyonda kod vasıtası ile değişkenlere değerlerini vermeniz lazım.
bayram elmadağı dedi ki:	
17 Temmuz 2019, 16:00	
playersettings de ARM64 bit i seçiyorum ama buildsettings de ETC2 fallback de 64 bit çıkmıyor ne yapmalıyım
Cevapla
yasirkula dedi ki:	
17 Temmuz 2019, 16:02	
ETC2 Fallback, texture’ların sıkıştırılmasıyla alakalı bir ayar. Onu değiştirmeniz gerekmiyor.
Cevapla
yetkintmn dedi ki:	
16 Temmuz 2019, 15:08	
Merhaba,
unity çerisinde text dosyalarından veri çekmem gerekiyor ancak unity üzerinde veri çekme işlemi çalışıyor ancak build edince veri çekme işi yapılamıyor. Text dosyaları unity içerisinde Asset/data konumundadır.
Veri çekme kodum:
string[] readText = File.ReadAllLines(“Asset/data/text.txt1”);
Umarım yardımın dokunur bu konu hakkında internette yeterli bilgi yok. Şimdiden teşekkürler 🙂
Cevapla
yasirkula dedi ki:	
16 Temmuz 2019, 23:09	
text.txt1 asset’inin uzantısını .txt yapıp ardından bu asset’i script’inizdeki bir “public TextAsset textDosyasi;” değişkenine Inspector’dan değer olarak verin. Ardından şu kodu kullanabilirsiniz:
string[] readText = textDosyasi.text.Split( new char[] { ‘\r’, ‘\n’ }, System.StringSplitOptions.RemoveEmptyEntries );
Cevapla
yetkintmn dedi ki:	
17 Temmuz 2019, 09:37	
“txt1” diye yanlış yazıp göndermişim size. Teşekkür ederim sayenizde sorun çözüldü. İyi çalışmalar 🙂
slymn dedi ki:	
14 Temmuz 2019, 16:05	
Rigidbody rigid;
public float hiz;
public GameObject patlama;
public AudioSource mavikup_ses;
void Start()
{
rigid = GetComponent();
}
void FixedUpdate()
{
rigid.velocity = transform.forward * hiz;
}
void OnTriggerEnter(Collider other)
{
if (other.tag == “Player”)
{
Destroy(gameObject);
Instantiate(patlama, transform.position, transform.rotation);
mavikup_ses.Play();
Objeyle etkileşince ses çıksın istiyorum ama etkileştiğinde şu uyarı çıkıyor
-Can not play a disabled audio source –
sorun nerde olabilir? etkileştiğinde ses çıkması için başka türlümü ses kodu yazaıyoruz acaba
Cevapla
yasirkula dedi ki:	
14 Temmuz 2019, 18:41	
AudioSource’a sahip olan obje aktif değil diyor. Ya o obje ya da onun bir parent’ı inaktif durumdadır.
Cevapla
delamis dedi ki:	
08 Temmuz 2019, 23:47	
Hocam merhaba,
Bu app bundle olayı hakkında tam olarak bilgi bulamıyorum unity ile ilgili. Unity v2019.x ile birlikte build settings ana ekranında Build App Bundle ( Google Play ) şeklinde bir seçenek eklendi.
Bu seçeneği seçtiğimd .aab uzantılı bir dosya veriyor. Google’a oyunu yüklerken uygulama dosyasının yanında geliştirme dosyası olarak bunu ekliyorum. Fakat yine de optimize edilmemiş apk diye uyarı veriyor.
Neyi yanlış yapıyor olabilirim? Yardımcı olabilirseniz sevinirim.
Cevapla
yasirkula dedi ki:	
10 Temmuz 2019, 13:46	
App Bundle ile build alınca hem apk hem aab mi çıktı alıyor? Sadece aab çıktı alıyorsa sadece aab dosyasını Google Play’e yükleyin.
Cevapla
süleyman dedi ki:	
08 Temmuz 2019, 11:24	
Selam hocam iyi günler bir objem var sürekli sağa hareket ettirmek istiyorum otomatik ve parmağımla birlikte yukarı aşağı hareket edecek aynı zamanda parmağımı takip etmiyorken otomatik sağa hareket ederken üste yada alta sürükleyebilmek istiyorum bunun için en uygun hareket kodu ne olabilir ? Şimdiden teşekkürler
Cevapla
yasirkula dedi ki:	
10 Temmuz 2019, 13:42	
Parmağınızı takip etmiyorken üste ya da alta sürükleyebilmeyi telefonunuzun ivmeölçer sensörüyle mi yapmayı planlıyorsunuz?
Cevapla
süleyman dedi ki:	
10 Temmuz 2019, 13:53	
Aslında seçenekli düşünüyorum hocam hem ivmeölçerli hem de manuel parmağımı sürüklediğim tarafa gitsin istiyorum yukarı yada aşağıya
yasirkula dedi ki:	
10 Temmuz 2019, 14:47	
İvmeölçer için şu derse bakabilirsiniz: https://yasirkula.com/2013/07/22/unity-ile-androide-uygulama-gelistirmek-2-telefon-sensorunu-kullanmak/
Parmak için ise direkt Input.GetMouseButton ve Input.mousePosition’dan faydalanabilirsiniz. Eğer Input.GetMouseButton(0) true ise ve EventSystem.current.IsPointerOverGameObject() false ise (yani imleç/parmak bir UI objesine tıklamıyorsa), Input.mousePosition ile objeyi hareket ettirin. Yoksa ivmeölçer ile objeyi hareket ettirin.
Input.mousePosition’ı kullanırken “Main Camera” objenizi bir public değişkende tutun ve kameraObjesi.ScreenToWorlPoint ile piksel koordinatlarını 3D koordinata çevirerek parmağın tıkladığı noktayı tespit edin. Ardından objeyi bu koordinatlara doğru hareket ettirin.
Sezgin Levent dedi ki:	
07 Temmuz 2019, 15:40	
Merhabalar unity üzerinden android uygulaması yapıyorum fakat scriptli buttonlar çalışmıyor bunun nedeni ne olabilir acaba? Mesela giriş butonu unity üzerinden çalışıyor fakat kendi telefonumda sanki boş bir butonmuş gibi oluyor fakat bazı telefonlarda çalışıyor bu konuda yardımcı olabilir misiniz?
Cevapla
yasirkula dedi ki:	
08 Temmuz 2019, 10:55	
Bazı Android cihazlarda çalışıp bazılarında çalışmayan UI objelerini daha önce hiç duymadım, internette arattığımda da bir sonuç bulamadım açıkçası. Maalesef bu konuda bir fikrim yok.
Cevapla
bayram elmadağı dedi ki:	
05 Temmuz 2019, 14:26	
benim uı ekranında bir panele eklenecek ımage prefabım var bunu nasıl oraya ekleyebilirim intantiate komutu ile olmuyor canvasın dışına ekliyor o komutla bir türlü bulmadım çözümünü yardımcı olursanız sevinirim
Cevapla
yasirkula dedi ki:	
06 Temmuz 2019, 10:59	
Instantiate(prefabObjesi, panelObjesininTransformu, false); kodunu kullanabilirsiniz. Daha fazla bilgi için: https://docs.unity3d.com/ScriptReference/Object.Instantiate.html
Cevapla
bayram elmadağı dedi ki:	
06 Temmuz 2019, 21:25	
cevabınız için teşekkürler ama kesinlikle böyle olmuyor ben bir eğitim videosu buldum bunun için ihtiyacı olan olursa diye buraya atıyorum https://youtu.be/TAJCr3_kfEc
Bayram elmadağı dedi ki:	
24 Haziran 2019, 16:57	
play store a oyun atacağım ama güncelleme yapmak istediğim zaman kayıtlı verilerin silinmemesi için ne yapabilirim playerprefs ve json kayıtları için
Cevapla
yasirkula dedi ki:	
24 Haziran 2019, 18:32	
PlayerPrefs oyun silinmediği sürece yok olmaz, yani güncellemeden sonra da onlara erişebilirsiniz (en azından ben öyle biliyorum). Json kayıtlarınızı nerede tuttuğunuzu bilmediğimden o konuda yorum yapamıyorum.
Cevapla
bayram elmadağı dedi ki:	
25 Haziran 2019, 02:46	
json kayıtlarımı save.json diye bi dosyada tutuyorum bunumu soruyorsunuz
yasirkula dedi ki:	
25 Haziran 2019, 20:04	
Bu dosyayı herhalde Application.persistentDataPath’te tutuyorsunuz diye kendim varsayımda bulunuyorum artık. PlayerPrefs gibi bunun da güncellemeden sonra otomatik olarak erişilebilir olması lazım, yani sizin bir eylem yapmanız gerekmiyor.
bayram elmadağı dedi ki:	
16 Haziran 2019, 13:03	
merhaba kaynaklarınız gerçekten kaliteli çok işe yarıyor teşekkürler bir sorum olacaktı acaba 2 uı nesnesi arasında çizgi çizmenin bir yolu varmı kelime oyunu yapmayı deniyorumda sadece o kısmı kaldı bulamadım yardımcı olursanız sevinirim
Cevapla
yasirkula dedi ki:	
18 Haziran 2019, 15:28	
Bence bunun en basit yolu, Height’ı küçük bir Image objesi oluşturup rengini çizginin olmasını istediğiniz renk vermek ve bu Image objesinin Rotation Z değeri ile oynayarak çizginin eğimini ayarlamak. Daha farklı çözüm yolları arayışındaysanız “unity ui line” şeklinde arama yapmanızı öneririm.
Cevapla
Fatih GÜNEY dedi ki:	
06 Haziran 2019, 02:35	
33 Yaşındayım , bu yaştan sonra mobil oyun geliştirmeye merak sardım. İnternet alemini gezdim dolaştım yerli yabancı her şeyi inceledim. 1 numaraya sizi koyuyorum ve takdir ediyorum. Elinize emeğinize sağlık.
Cevapla
yasirkula dedi ki:	
06 Haziran 2019, 09:23	
Teşekkür ederim siz de sağolun.
Cevapla
Sercan dedi ki:	
03 Haziran 2019, 23:44	
Hocam Merhabalar. Oyun içi Debug konsolu package vermiştiniz. Bu package çok işime yaradı çok teşekkür ederim bunun için. Bununla bağlantılı olarak bir kayıt defteri oluşturmak istiyorum. Bu konsola yazılan tüm hataları bir dosyaya nasıl yazarız. Bununla ilgili bildiğiniz bir kaynak varsa önerebilir misiniz ?
Cevapla
yasirkula dedi ki:	
04 Haziran 2019, 09:34	
Plugin’in son sürümünü projenize eklediyseniz, konsola save_logs yazarak tüm log’ları bir dosyaya kaydedebilirsiniz. Eğer sadece hata mesajları yazılsın isterseniz şu fonksiyonu ona göre düzenleyebilirsiniz: https://github.com/yasirkula/UnityIngameDebugConsole/blob/0b35e8eed172ad69674db11f2b856dde910664c6/Assets/Plugins/IngameDebugConsole/Scripts/DebugLogManager.cs#L671-L692
Cevapla
gorkemalmaz dedi ki:	
15 Mayıs 2019, 18:03	
İyi çalışmalar bina dikme oyunu yapmak üzereyim de levelli bir sıkıntı var binaları kare olarak düşünürsek bina 6-7 kare de bitirmeyi düşünüyorum ama binaları bir vinç kontrolüyle animasyonla bırakmasını istemiştim bir anda bina düşerse pek bir anlamı kalmaz diye düşünmüştüm oyundaki sorun küpleri dizmek ve küpler yamuk olursa düşmesini sağlamak istiyorum unityinin kendi içinde fizik motoru vardır ama nasıl kullanabilirim bilmiyorum yardımcı olur musunuz yine çok konuştum kusura bakmayın
Cevapla
yasirkula dedi ki:	
17 Mayıs 2019, 15:17	
Tower Bloxx gibi bir şey yapmayı düşünüyorsunuz anladığım kadarıyla. Dediğiniz gibi direkt Unity’nin fizik sistemini kullanabilirsiniz. Oyun 3D olacaksa her parçada Box Collider ve Rigidbody, 2D olacaksa her parçada Box Collider 2D ve Rigidbody 2D olmalı. Parçaların dengeli değilse devrilmesini artık fizik motoru kendisi halleder. Vinç için belki bir animasyon oluşturup vincin ucuna da yeni bina karesini child obje olarak verebilirsiniz. Vinç kareyi bırakacağı zaman karenin transform.SetParent(null,true); fonksiyonunu çağırmanız yeterli olmalı.
Cevapla
Umut dedi ki:	
03 Mayıs 2019, 23:32	
Merhabalar. Hocam ufak bir şey soracağım. Ben şimdi bir tane projemde MySQL’den kullanıcıların skorlarını çekip bir panelde Leaderboard tarzında yazdırmak istiyorum. İşin MySQL kısmı tamam ama Unity’de dinamik olarak bir Text alanı nasıl yaratacağım bunu tam anlayamadım. Yani mesela ben her bir kullanıcı adı ve skor bilgisinden sonra +”\n” yapıp bir alt satıra geçiriyorum ama bu Text’in anchorunun büyüklüğü kadar oluyor. Devamında sahnede veya game ekranında o metin gözükmüyor. ScrollBar ve ScrollView yaptım ama yine elimle Scene’de Text’in Height’ini ne kadar yaparsam oraya kadar alıyor metni. Geri kalanını göremiyorum. Dinamik olarak ben her alt satıra geçtikçe o text kutusunu nasıl aşağı doğru uzatabilirim veya başka alternatif var mı?
Cevapla
Umut dedi ki:	
03 Mayıs 2019, 23:35	
Aslında kod olarak işte bu text’in Height değerini her satır atladıkça belli bir miktar arttırabilirim ama bana pek sağlıklı bir işlem gibi gelmedi.
Cevapla
yasirkula dedi ki:	
04 Mayıs 2019, 12:32	
Text objenize Content Size Fitter ekleyip “Vertical Fit”ini “Preferred Size” yapabilirsiniz.
Cevapla
kerimy dedi ki:	
03 Mayıs 2019, 15:45	
Teşekkürler Yasir hocam. Bir sorunum daha var :
Kullanıcılar mekanda bir kapıya tıkladığı zaman kapı açılıyor ama diğer kullanıcılar bunu görmüyor onlar tıkladığı zaman ise diğerleri görmüyor yani sadece oyuncu tıkladığında kendisi görüyor kapının animasyonunu. Ancak trigger lı kapılar da var bunlarda kapılar açıldığında bütün kullanıcılar bu açılma animasyonunu görüyor. nedendir ?
Cevapla
yasirkula dedi ki:	
04 Mayıs 2019, 12:31	
Kapıya tıklandığı bilgisini bir [Command] fonksiyon ile server’a bildirmeniz, ardından da bir [ClientRpc] fonksiyon ile server’dan tüm oyunculara aktarmanız lazım. Kapının açılması kodunuzu ise [ClientRpc] fonksiyona yazmanız yeterli olmalı.
Cevapla
kerimy dedi ki:	
26 Nisan 2019, 14:54	
Yasir hocam selam Unity 3d ile ufak bir Fps gezinti modu yaptım. Network elemanterleriyle de bir güzel ilişkilendirdim Multiplayer hale getirdim. Bir de internette bir tutorial izledim.karakterlerimin tepesine text ile isim yerleştirdim. Bunları ekrandan değiştirilebilir yaptım. İzlediğim derste gayet güzel çalışıyor hatta ben sıfırdan o derstekileri yaptım oda çalıştı ama benim dosyamda bir türlü çalıştıramadım. Daha doğrusu çalışıyor ama mesela unity den host açıp çıktı aldığım exe den de oraya bağlandıysam. host olan isim değiştirdiği zaman diğer kullanıcı ekranında görünüyor. Ancak o kullanıcı isim değiştirdiği zaman host olanın ekranda görünmüyor. Nereden host açtığım farketmiyor. istern Unity içinden olsun ister exe programdan. Host olan isim değiştire biliyor hosta bağlanan değiştiremiyor. Bunun sebebi nedir acaba bir fikriniz var mı ? Teşekkürler şimdiden.
Cevapla
yasirkula dedi ki:	
27 Nisan 2019, 11:11	
Host olmayan kişide yaptığınız değişikliğin diğer herkese yansıması için, [Command] attribute’una sahip bir fonksiyon çalıştırmanız lazım. Bu fonksiyon otomatik olarak host’ta çalıştırılacak. Ardından host [ClientRpc]’li fonksiyon çağırarak tüm oyuncular için o Text’in değerini değiştirmeli.
Uzun zamandır network ile uğraşmıyorum ama hatırladığım kadarıyla kabaca süreç böyle işliyor. Eğer UNET kullanıyorsanız, ilerleyen Unity sürümlerinde bu sistemin kalkacağını bilmeniz lazım. Onun için başka bir sisteme (mesela Photon) geçiş yapmak isteyebilirsiniz.
Cevapla
burak öcül dedi ki:	
29 Mart 2019, 16:09	
Merhaba kolay gelsin…Çok saçma bir hata içerisindeyim facebooktan size ulaşmaya çalıştım birde burdan yazayım.
Unity 2017.3.1f1 versiyonunda google admobun 1.5 yıl önce indirdiğim apisini sıkıntısız kullanıyordum.Firebase eklemem gerekti ve ekleyince herşey patladı.Firebase hata verdi build alınmadı alınan apklar telefona yüklenip girilmeye çalıştıgında direk durduruldu hatası vermeye başladı.Firebase kaldırıp 0 proje üstünde aynı api aynı unity versiyonunda apk alıp reklamları denemeye kalktıgımda yine durduruldu ile karşılaştım ve sebebi reklamlar niye bilemiyorum. Sonrasında unitynin 2018 versiyonuna ve googleden en son sürüm admob api (359kb)indirerek denedim sorun hala aynı devam etti.Bilgisayarımı formatladım egri 2017.3.1f1 versiyonunu kurdum ve 1.5 yıl önceki admob apim (8.3mb) ile denedim buildimi sorunsuz aldım uygulamayı test reklamlarıyla sorunsuz açtım.Ancak bu seferde Uygulamayı şifrelediğimizde alias ve o oluşturdugumuz key ile şifreleyip aldığım apklrın hiç birini kullanamıyorum.Ne google kabul ediyor ne telefonlar. “Paket ayrıştırılamadı” gibi saçma bir hata almaya başladım. Android sdklarımdamı sıkıntı var diye baktım bütün api levellerinin hepsinin sdk platformlarını ve google apilerini indirdim.Tools bölümündeki herşeyide indirmiştim. Ancak google play api x86 arm7 vb yazanların hiç birini indirmedim.Çünkü her bir api leveli için indirdiğimizde 130gb+ bir indirilen şey oluyor ve buda aşırı uzun süren bir süreç malum günümüz internetleri. Jdk olarakda 8.0.161 ve 8.0.162 var bende. Zaten gradle buildde alamıyorum buda aşırı saçma birşey. Hiç bir unity versiyonunda gradle build alamıyorum. Hata veriyor ve çözümünü internette bulamadım. Ama windows defender ilk kurdugumda ilk gradle build almaya kalktıgımda gradle ile alakalı birşeyi virüs olarak algılayıp uyarı verdi,ya engelledi ya başka birşey oldu bilmiyoorum.Bulamadım ne halt yediğini o yüzden düzeltemedim.Terkardan herşeyi kurdum ama nafile artık gradle yok internal ile mecburi alıyorum herşeyi.
Bu kadar uzun olduğu için kusura bakmayın nasıl derdimi tam anlatabilirim bilemedim…
Yardımlar için şimdiden teşekkürler….
Cevapla
gorkemalmaz dedi ki:	
18 Mart 2019, 16:55	
Kolay gelsin hocam unityden açık dünya oyunu geliştirmeye başladım da aklımda kalan soru işaretleri var oyun açık dünya olacağından dükkanlara ve evlere sahne yüklemeden girmesini tercih ediyorum bende sadece binaların dış modelleri var dükkanların içine yada binaların iç kısmına modelleri nasıl yerleştirebilirim yerleşemez dersen hepsine sahne yapmak çok uğraştırıcı olmaz mı ?
Bir sorum daha var unityde sinematiği oyuna nasıl yerleştirebilirim çünkü hikaye tabanlı bir oyun olacağından sinematik önemli bir yerde yardımcı olursan sevinirim hocam
Bir sorum daha var kusura bakma şehirde kaldırımda yürüyecek yapay zekalar yapmaya çalıştım ama beceremedim şehirde normal yürüyecek ve silah sesi duyduğunda kaçıp bağıracaklar sesleri falan animasyonları bir şekilde halledebilirim ama kodlarını nasıl yazacağımı bulamadım şimdiden teşekkürler siteni çok beğeniyorum hocam her yazını dikkatle okuyorum iyi günler dilerim 🙂
Cevapla
yasirkula dedi ki:	
23 Mart 2019, 11:33	
Binaların içi için 2 önemli husus var: binaya açılabilir bir kapı vermek ve binanın içine duvar/zemin koymak. Açılabilir kapı için bina modelini Blender gibi bir programla düzenleyip kapıyı silmeli veya kapıyı hareket edebilen ayrı bir obje yapmalısınız. Duvar/zemin işini de Blender gibi bir 3D modelleme programı ile yapabilir veya direkt Unity’nin içerisinde küpler yerleştirerek de halledebilirsiniz (en sağlıklısı Blender gibi duruyor ama). Ardından bu zeminin üzerine mobilya vs. yerleştirmek işin en kolay kısmı. GTA gibi oyunlar bu sistemi nasıl optimize ediyorlar orası ayrı bir konu tabii, büyük ihtimalle bir binaya karakter çok yaklaşınca o binanın içi aktif oluyor, karakter uzaklaşınca deaktif oluyordur. Aksi taktirde uzaktaki binaların da içi render edileceğinden performans düşebilir.
Sinematik için Unity’nin Timeline ve Cinemachine pencerelerinden faydalanabilirsiniz.
Yayalar için hazır bir plugin kullanmanızı öneririm, böylesi daha hızlı olur. Bunun için “unity pedestrian system” şeklinde arama yapabilirsiniz.
Cevapla
gorkemalmaz dedi ki:	
24 Mart 2019, 14:44	
çok teşekkür ederim deniyeceğim bir şey daha sormak istiyorum sinematik hazırlamak istiyorum ama uygulamalara göz gezdirdim öğrenip yapmam çok uzun sürecek gibi görünüyor acaba böyle kolay bir uygulama var mı sinematik hazırlamak için
yasirkula dedi ki:	
24 Mart 2019, 22:07	
Unity içerisinde hazırlamayacaksanız bir bilgim yok, Blender gibi programlar kullanabilirsiniz ama bu programlar çok basit değil.
Mehmet Uçar dedi ki:	
23 Şubat 2019, 21:29	
Merhaba,
Çok harika bir Siteniz var. Öncelikle bu güzel Site ve olağanüstü emek için çok teşekkür ederim.
Ben hem İnşaat Mühendisi hem de Bilgisayar Programcısıyım.
Aktif olarak Mühendislik yaptım, Bilgisayar Programlamaya yıllar önce İnşaat Mühendisliğinde okurken başlamıştım. Kendi kullanımım için bir çok program yazdım ve kullandım.
Ancak şimdi Programcı yönümü, Profesyonel anlamda da kullanmaya karar verdim.
Özellikle mobil oyun konusunda kendimi geliştirmek için çalışıyorum.
Unity hakkında, İnternette ne var ne yok hergün saatlerce bilgisayar başında kalarak, bilgimi artırmaya çalışıyorum. Kod yazıyorum, ders izliyorum, okuyorum, v.b. günler böyle geçiyor.
Bu arada Sizin Sitenizle karşılaştım. Çok güzel, çok kapsamlı bir Site. Özellikle Türkçe olması bulunmaz nimet diyebilirim.
Hazırlamış olduğunuz Assets’leri Unitiye yükledim, onlar için de çok teşekkür ederim.
İnşallah bundan sonra da web sitelerinizi takip edeceğim.
Selam ve Sevgilerimle.
Mehmet Uçar
http://www.mehmetucar.com
https://mobiloyun.store
Cevapla
yasirkula dedi ki:	
23 Şubat 2019, 23:25	
Ben teşekkür eder, başarılar dilerim 🙂
Cevapla
Ertan dedi ki:	
30 Ocak 2019, 19:56	
Abi, acaba mailini kontrol edebilir misin?
Cevapla
yasirkula dedi ki:	
30 Ocak 2019, 22:50	
Dönüş yaptım.
Cevapla
cem dedi ki:	
09 Ocak 2019, 20:36	
Merhaba,
Hocam öncelikle bu güzel site için teşekkürler. Bayagdır sitesini takip ediyorum.Ama ilk defa yazmak nasip oluyor 🙂 Bir oyun yapıyoruz. Hatta bitti diyebilirim. Menü asamasındayız. Lock unlock sitemi yaptım. Bu sorunsuz calisiyor. PlayerPref komutu ile. 1. level bitmeden 2, 2. level bitmeden 3 acilmiyor gibi.
bayag sıkıntı yasadıgım sorun su. 5 lvl var elimde su an. bu levelları unlock ile aciyorum ama altinda oyundaki kosullara gore yıldızda vermem gerekiyor. bunu yapamadim.
örnegin
1-lvl ı bitirdigi için 1 yıldız
2- lvl daki tüm altinları topladigi için 2. yıldız
3- belli bir süreden once oyunu bitirdigi yada dusmanları oldurdugu için 3. yıldız gelmesini istiyorum.
bu konuda bayag sıkıntı yasıyorum. kitlendim kaldım. yardimci olabilirseniz cok memnun kalırım.
tesekkürler
iyi calısmalar
Cevapla
yasirkula dedi ki:	
15 Ocak 2019, 10:07	
PlayerPrefs.SetInt ile, o level’da kaç yıldız toplandığını level bitiminde kaydedebilirsiniz. Bu görevlerin tamamlanıp tamamlanmadığını tespit etmek ise PlayerPrefs’ten bağımsız, oyunun sonunda onu siz hesaplamalı ve ona göre PlayerPrefs.SetInt fonksiyonunu çağırmalısınız.
Eğer hangi görevler yapılmış bunu PlayerPrefs ile tespit etmeye çalışıyorum diyorsanız, PlayerPrefs.SetInt(“Bolum1_Gorev2”, 1) gibi bir fonksiyonla 1. bölümün 2. görevinin yapıldığını kaydedebilirsiniz.
Cevapla
murat dedi ki:	
03 Ocak 2019, 22:05	
void Update(){
if (anim.GetCurrentAnimatorStateInfo(0).IsName(“idle”))
{
muzikcalar.Stop();
}
}
public void samba(){
muzikcalar.clip = muzikler [0];
muzikcalar.loop = true;
anim.Play (“samba”);
muzikcalar.Play();
}
Merhaba yukarıdaki kodum çalışıyor. samba voidini butona aktardım. Butona tıkladığım zaman müzik çalıyor ve animasyon sambadan idleye geçtiğinde duruyor.Fakat Bu şekilde kullandığımda butona ilk tıkladığımda müzik çalmıyo.2. tıklamamda çalmaya başlıyo.Bunu nasıl düzeltebilirim?
Cevapla
yasirkula dedi ki:	
08 Ocak 2019, 20:30	
muzikcalar.Play’den önce bir muzikcalar.Stop koymayı deneyin. Olmazsa bir olasılık, anim.Play fonksiyonu hemen “samba”ya geçiş yapmıyordur ve Update’teki koşul true olup muzikcalar.Stop fonksiyonunu çağırıyordur. Bunun için Update fonksiyonunu silip, StateMachineBehaviour’dan türeyen bir script oluşturmanızı, bu script’i Animator Controller’da samba’ya vermenizi ve bu script’in OnStateExit’inde muzikcalar’ı kapatmanızı öneririm (muzikcalar’a büyük olasılıkla animator.GetComponent<AudioSource>() koduyla erişebilirsiniz): https://docs.unity3d.com/ScriptReference/StateMachineBehaviour.html
Cevapla
Sinem Kaya dedi ki:	
28 Aralık 2018, 15:27	
TOGED sitesinde bulunan CV’nizden buldum siteyi ve daha öncesinde görmemiştim. Gerçekten insanlara ulaştırılması için uğraşılması gereken bir yer olduğunu düşünüyorum. Çok başarılı! Teşekkürler emekleriniz için. Ek olarak yorum kısmını eğer başa tutturursanız çok daha kolay yorum alabilirsiniz bu sayfadan :’)
Cevapla
yasirkula dedi ki:	
29 Aralık 2018, 11:32	
İlginiz ve öneriniz için teşekkür ederim 🙂
Cevapla
Caner dedi ki:	
13 Aralık 2018, 00:59	
Merhabalar,
Paylaşımlarınız için teşekkürler , türkçe yeterli kaynakları sizin sitenizden buluyoruz.
Benim bir sorunum var Facebook SDK yı kurduktan sonra apk olarak derlediğimde derleme işlemini gerçekleştirmiyor sürekli bir hata veriyor.
Cevapla
yasirkula dedi ki:	
13 Aralık 2018, 12:27	
Aldığınız hatayı yasirkula@gmail.com‘a mail atabilirsiniz.
Cevapla
0hsyn1 dedi ki:	
10 Aralık 2018, 21:34	
Hocam öncelikle böyle içerikler ürettiğiniz için teşekkürler fazlasıyla yararlanıyoruz.
Şöyle bir problem ile karşılaştım.
Ana sahnemde 2 adet buton var oyun sahnesine geçme ve çıkış yapmamı sağlıyorlar.
Ana sahnemde ki butona basıp oyun sahnesine geçtikten sonra Ana sahneme dönmemi sağlayan butona basıyorum ve Ana sahnem açıldığında herhangi bir butona tıklayamıyorum.
Butonların İnteractable kısımları işaretli.
Cevaplarsanız çok memnun olurum.
Cevapla
yasirkula dedi ki:	
12 Aralık 2018, 10:13	
Ana sahneye geri döndüğünüzde sahnede bir Event System objesi var mı? Bu objeyi kapatıp açınca sorun düzeliyor mu? Butonların üzerini kaplayan görünmez bir UI objesi olabilir mi veya?
Cevapla
0hsyn1 dedi ki:	
12 Aralık 2018, 14:19	
Hocam, cevabınız için teşekkürler.Sorunu bir forumdaki arkadaş çözdü.Event System objesi mevcut.(Belki bende tam anlatamadım size sorunumu)
Belki bu sorunu yaşayan arkadaşlar olur ise faydası olur diye paylaşıyorum.Butonların görevlerini çağırdığınız scripte bu kodları yazmanız yeterli.
public void Start(){
Time.timeScale=1f;
Screen.lockCursor=false;
Cursor.visible=true;
}
Sinan dedi ki:	
10 Aralık 2018, 10:15	
Merhaba bir oyun yapıyorum sonuna iyice yaklaştım . Sitenizden çokca faydalandım, Faydalanmaya da devam edicem.Cevap verirseniz 2 sorum var. 1.si oyunum 2d ve ortographic camera da ve size= 6.4 te . Bu şekilde çıktı aldığım zaman telde ekran ayarları tam oturmuyor.Farklı ekran çözünürlüklerinde oyunumun tam ekran gösterilmesi için ne yapabilirim?(unity3d editorundeki boyutu diğer tel çözünürlüklerindede yapmak istiyorum.)
Cevapla
yasirkula dedi ki:	
10 Aralık 2018, 12:42	
Farklı çözünürlüklerde ekrandaki sprite’lar ekranın sağından/solundan dışarı mı kaçıyor, nasıl bir sıkıntı oluyor?
Cevapla
Sinan dedi ki:	
10 Aralık 2018, 13:02	
evet sağa ve sola taşıyorlar. Bende alttaki kodu buldum internetten bundada tam bu şekilde iken sağ ve sol oturuyor fakat üst ve altta boşluk oluşuyor.
// set the desired aspect ratio (the values in this example are
// hard-coded for 16:9, but you could make them into public
// variables instead so you can set them at design time)
float targetaspect = 800f / 1280f;
// determine the game window’s current aspect ratio
float windowaspect = (float)Screen.width / (float)Screen.height;
// current viewport height should be scaled by this amount
float scaleheight = windowaspect / targetaspect;
// obtain camera component so we can modify its viewport
Camera camera = GetComponent();
// if scaled height is less than current height, add letterbox
if (scaleheight < 1.0f)
{
Rect rect = camera.rect;
rect.width = 1.0f;
rect.height = scaleheight;
rect.x = 0;
rect.y = (1.0f – scaleheight) / 2.0f;
camera.rect = rect;
}
else // add pillarbox
{
float scalewidth = 1.0f / scaleheight;
Rect rect = camera.rect;
rect.width = scalewidth;
rect.height = 1.0f;
rect.x = (1.0f – scalewidth) / 2.0f;
rect.y = 0;
camera.rect = rect;
}
yasirkula dedi ki:	
12 Aralık 2018, 10:12	
Ekranların en/boy oranları farklı olduğu için (4:3, 16:9 vb.) hem genişliği hem yüksekliği her ekranda korumanız mümkün değil. Ekranın sağ, sol, üst ve alt kenarlarındaki bu objeler ne tarz şeyler de bunların yerleri hep aynı olmalı?
Sinan dedi ki:	
12 Aralık 2018, 13:49	
hepsinin yeri aynı. üst ,alt sorun yok hiçbirşekilde.geri kalanların sağ ve solunda taşma var sadece onlarında x konumu hep sabit olarak ekrana geliyorlar.
yasirkula dedi ki:	
13 Aralık 2018, 12:25	
Bu objeler kenarlık gibi bir şey mi? Eğer öyleyse, sprite objeleri yerine ekranın kenarlarına anchor’lanmış UI objeleri kullanmayı düşünebilirsiniz. Aksi taktirde büyük ihtimalle oyunun başında Camera.main.ViewportPointToRay fonksiyonu vasıtasıyla objelerin x konumunu hesaplamanız gerekir.
Kübra dedi ki:	
29 Kasım 2018, 16:27	
Merhaba, google playde bir oyunum var. Bu oyuna Google Analytics eklemek istiyorum. Kayıt olduktan sonra bir kod veriyor sanırım. Projeye dahil etme noktasını açıklama imkanınız var mı?
Bir de belki saçma gelecek ama oyun projemin linkini versem ilk oyunum olduğu için ne durumdayım ve de ışık var mı diye bir yorumunuzu almak isterim.Boşa mı kürek çekiyorum falan.Gerçek anlamda bilen birinden oyunun izlenimiyle alakalı bir şeyler duymak isterim. 🙂 Çünkü tanıdıklar dışında çok bir indirme olduğunu düşünmüyorum. Reklamda vermedim. Biraz moralim bozuldu bu duruma.
Çok teşekkürler.
Cevapla
yasirkula dedi ki:	
02 Aralık 2018, 11:19	
Oyununuzun linkini her zaman paylaşabilirsiniz, onda bir sıkıntı olmaz. Ama benim yorumuma çok güvenmeyin çünkü ben gerçek anlamda bildiğimi iddia etmiyorum. Faydalı geri bildirimler için oyununuzu Facebook’taki Türk oyun geliştirici gruplarında, oyun yapımı forumlarında ve oyunlarla alakalı diğer forumlarda paylaşmanızı öneririm.
Google Analytics ile ilgili bilgim ise maalesef yok, ben sadece Unity Analytics kullandım.
Cevapla
Kübra dedi ki:	
03 Aralık 2018, 08:54	
https://play.google.com/store/apps/details?id=com.KSVGame.ShadowBalls
Olsun,yine de yorum yaparsanız oyunum hakkında mutlu olurum.İlk oyunum olduğu için ne durumdayım bilemiyorum. Benden bilgili ve tecrübeli olduğunuz kesin. 🙂 Bu konularda sizin vermiş olduğunuz bilgilerle birçok şey öğrendim çünkü.
Unity analytics nasıl kullanılıyor peki? Sanırım sitenizde bu konuyla alakalı bir yazı yok aradım ancak bulamadım.
yasirkula dedi ki:	
09 Aralık 2018, 18:39	
Benim önerim, oyunun arayüzünde başka bir font kullanın ve yazıları kalın yapmayın çünkü kalın yazı mobilde güzel durmuyor. Onun dışında oyunun ya ışıklandırması ya da arkaplanı bana biraz donuk geldi, Window-Lighting’den ışık şiddeti ile oynamayı deneyebilirsiniz. Oyunun Google Play’deki bazı görselleri de yanlardan uzatılmış gibi duruyor, onları isterseniz silin. Ve ikon için de biraz daha renkli ve ilgi çekici bir çalışma yapmayı deneyebilirsiniz. Tekrardan elinize sağlık.
Efe Can dedi ki:	
04 Aralık 2018, 04:18	
Yasir Hocam
Cevaplarınız için bin teşekkür!
Starting auto-resolution before scene build…
UnityEngine.Debug:Log(Object)
Google.Logger:Log(String, LogLevel)
GooglePlayServices.PlayServicesResolver:Log(String, LogLevel)
GooglePlayServices.PlayServicesResolver:OnPostProcessScene()
UnityEditor.Build.BuildPipelineInterfaces:OnSceneProcess(Scene, Boolean)
böyle bir sıkıntı yaşıyorum. Bu konuda bilginize ihtiyacım var.
İyi çalışmalar. 🙂
yasirkula dedi ki:	
09 Aralık 2018, 18:24	
Bu, Admob ile gelen bir editör script’inin düzgün çalıştığını belirten bir mesaj, yani bir sıkıntı yok.
Kübra dedi ki:	
10 Aralık 2018, 09:41	
Çok teşekkürler fikirleriniz için. İlk oyun olduğu için ne nasıl yüklenir nasıl resim konulur hepsi öğrenme oldu benim için. Görsel anlamda sıkıntıların farkındayım en yakın zamanda halledeceğim. Ben bir konuda daha size danışmak istiyorum. Oyunumun son güncellemesini yayınladıktan sonra oyunda reklamlar çıkmamaya başladı. Unity de reklamın çıktığını isloaded ve showinterstitoal tarzında verdiği bilgilendirmelerle anlıyordum. Artık bub iki bilgilendirmeyi vermiyor. Sorunum ne olabilir bir fikriniz var mı bu konu hakkında?
yasirkula dedi ki:	
10 Aralık 2018, 12:41	
Güncelleme esnasında reklam kodlarında herhangi bir değişiklik yaptınız mı? Ayrıca Google Play’den indirdiğiniz oyununuzu logcat kullanarak “adb logcat -s Ads” komutuyla debug edin ve bir hata kodu döndürülüyor mu kontrol edin.
Kübra dedi ki:	
10 Aralık 2018, 14:01	
Hayır herhangi bir değişiklik yapmadım reklam kodlarımda. Sorunuda bulamıyorum. Sizin dediğiniz şeyi de deneyeyim teşekkür ederim.
Muhammet dedi ki:	
20 Kasım 2018, 15:36	
Merhaba.
Öncelikle paylaşımlarınız için teşekkürler. Web sitenizden oldukça fazla faydalanıyorum.
Vakit ayırırsanız bir sorum olacaktı.
Sahnemde 2 den fazla, birbirinden farklı objeler var.
Bir top-down main camera var.
Animator ile yaptığım sroolling background var.
Bu sahnedeki objeleri dokunmatik ekranda birbiri ile çarpıştırmak istiyorum. Collider ve rigidbody ekledim. Fakat addforce kullanarak objeleri itleme hareketini yapamıyorum.
İstediğim şey, kullanıcının dokunduğu objeyi parmak hareketiyle aynı yöne doğru itlemesi ve diğer objeyle çarpıştırması. Addforce u bu şekilde nasıl kullanabilirim ?
Cevapla
yasirkula dedi ki:	
20 Kasım 2018, 21:20	
Ekrana bir parmakla dokunulduğunda, Camera.ScreenPointToRay ve Physics.Raycast fonksiyonları vasıtasıyla o noktada bir obje var mı diye bakabilirsiniz. Eğer varsa, parmak ilk konumundan diyelim ki 5 piksel hareket ettikten sonra, parmak ekrandan kaldırılana veya aradan 0.5 saniye gibi kısa bir süre geçene kadar bekleyebilir ve bu sürenin ardından parmağın mevcut konumundan ilk konumunu çıkarabilirsiniz. Elde ettiğiniz vektörü kullanarak Physics.AddForce yapabilirsiniz. Dokunmatik ekran dersim için bkz: https://yasirkula.com/2013/07/17/unity-ile-androide-uygulama-gelistirmek-1-dokunmatik-ekran-entegrasyonu/
Cevapla
muhammet dedi ki:	
21 Kasım 2018, 19:42	
böyle birşey çıkarttım. konsolda hata almıyorum fakat çalışmıyor.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AstAddForce : MonoBehaviour
{
public Material hitMaterial;
Vector2 startPos, endPos, direction;
float touchTimeStart, touchTimeFinish, timeInterval;
[SerializeField]
float throwForceInXandY = 5f;
[SerializeField]
float throwForceInZ = 0f;
Rigidbody rb;
void Start()
{
rb = GetComponent();
}
void Update()
{
if (Input.GetMouseButtonDown(0)/*Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began*/)
{
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
if (Physics.Raycast(ray, out hitInfo))
{
var rig = hitInfo.collider.GetComponent();
if (rig != null)
{
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
touchTimeStart = Time.time;
startPos = Input.GetTouch(0).position;
}
}
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended)
{
touchTimeFinish = Time.time;
timeInterval = touchTimeFinish – touchTimeStart; // zaman hesap
endPos = Input.GetTouch(0).position;
direction = startPos – endPos; // hesap
// rb.isKinematic = false;
rb.AddForce(-direction.x * throwForceInXandY, -direction.y * throwForceInXandY, throwForceInZ / timeInterval);
}
}
}
}
}
yasirkula dedi ki:	
22 Kasım 2018, 13:29	
Şuna benzer bir şey yapmanız gerekebilir:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AstAddForce : MonoBehaviour
{
	public Material hitMaterial;
	Vector2 startPos; 
	float touchTimeStart; 
	[SerializeField]
	float throwForceInXandY = 5f; 

	[SerializeField]
	float throwForceInZ = 0f; 

	Rigidbody rb;
	int fingerId = -999;
	bool sayimaBasla = false;
	
	void Update()
	{
		for( int i = 0; i < Input.touchCount; i++ )
		{
			Touch parmak = Input.GetTouch( i );
			if( parmak.phase == TouchPhase.Began )
			{
				RaycastHit hitInfo;
				if( Physics.Raycast( Camera.main.ScreenPointToRay( parmak.position ), out hitInfo ) )
				{
					rb = hitInfo.collider.GetComponent<Rigidbody>();
					if( rb != null )
					{
						fingerId = parmak.fingerId;
						startPos = parmak.position;
						sayimaBasla = false;
					}
				}
			}
			else if( parmak.fingerId == fingerId )
			{
				if( parmak.phase == TouchPhase.Ended || parmak.phase == TouchPhase.Canceled )
				{
					if( sayimaBasla )
						GucVer( touch.position );
					else
						fingerId = -999;
				}
				else
				{
					if( !sayimaBasla )
					{
						if( ( parmak.position - startPos ).sqrMagnitude >= 25 ) // 25 = 5 pixel x 5 pixel
						{
							sayimaBasla = true;
							touchTimeStart = Time.realtimeSinceStartup;
						}
					}
					else
					{
						if( Time.realtimeSinceStartup - touchTimeStart >= 0.5f ) // 0.5 saniye max. bekleme süresi
							GucVer( touch.position );
					}
				}
			}
		}
	}
	
	void GucVer( Vector2 parmakKonum )
	{
		if( rb != null )
		{
			Vector2 yon = parmakKonum - startPos;
			// rb.isKinematic = false;
			rb.AddForce( yon.x * throwForceInXandY, 0, yon.y * throwForceInXandY, ForceMode.Impulse );
		}
		
		fingerId = -999;
	}
}
Alperen Demir dedi ki:	
28 Kasım 2018, 22:48	
Yasir Bey iyi günler Unity javascript seçeneğini kaldırdımı acaba ? ben türkçe bir haber yada kaynak bulamadım sadece C# seçeneği var ?
yasirkula dedi ki:	
29 Kasım 2018, 00:09	
Evet son sürümlerle birlikte Javascript desteği sona erdi.
Efe Can dedi ki:	
30 Kasım 2018, 04:25	
Hocam selamlar,
umarım sağlıklı ve iyisinizdir 🙂
Yasir hocam
googletranslate bir metni ingilizce okunuşunu(sadece kelime olarak) mp3 olarak indirip bir oyunda ses dosyası olarak kullansak ve oyunun tanıtımı için youtube da oyunla ilgili video atsak ses kaydından dolayı telif yermiyiz ?
Saygılarla
yasirkula dedi ki:	
02 Aralık 2018, 13:08	
Bu konuyu araştırdım ama kimse kesin bir cevap veremiyor çünkü hiçbir yerde bununla ilgili Google’ın yazdığı kesin bir cevap yok gibi. Şahsen ses kaydının YouTube’da kullanılmasında sakınca olacağını sanmıyorum ama oyunda ses dosyası olarak kullanmak konusunda kararsızım.