Mesajlar Etiketlendi ‘unity’

Unity Oyunlarınızdan 360° Screenshot Almak

Yayınlandı: 23 Ekim 2017 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde
Etiketler:, , , , , , , , , , ,

Yeniden merhabalar,

Bu yazımda, Unity oyunlarınızdan 360 derece ekran görüntüleri almanıza yarayan basit bir script paylaşacağım. Bu ekran görüntülerini Facebook veya Flickr gibi sitelere yüklediğinizde, resim etkileşimli bir şekilde 360 derece görüntülenir. Örneğin şu resmi bu yöntemle çektim (resmi 360 derece görmek için ise buraya tıklayın):

Link: https://github.com/yasirkula/Unity360ScreenshotCapture/raw/master/360Screenshot.unitypackage

Açıklama ve örnek kod için yazının devamını okuyabilirsiniz…

(daha&helliip;)

Unity Oyun İçi Inspector ve Hierarchy

Yayınlandı: 22 Ekim 2017 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde
Etiketler:, , , , , , , , , ,

Hepinize merhabalar,

Bu kısa yazıda sizlerle, yakın zamanda Unity 3D için yazmış olduğum bir plugini paylaşacağım: oyun esnasında çalışabilen Inspector ve Hierarchy panelleri. Hierarchy paneli vasıtasıyla, build almış olduğunuz oyununuzda oyun esnasında obje hiyerarşinizi görebilir ve Inspector paneli vasıtasıyla da seçili bir objenin sahip olduğu component’leri görebilir, değişkenlerinin değerlerini inceleyebilir veya dinamik olarak değiştirebilirsiniz. Özellikle bazen oyunlarınızı debug ederken işinize yarayabileceğini düşünüyorum.

Link: https://github.com/yasirkula/UnityRuntimeInspector/raw/master/RuntimeInspector.unitypackage

Unitypackage‘ı projenize import ettikten sonra RuntimeHierarchy ve RuntimeInspector prefab’larından istediklerinizi sahnenizdeki bir canvas‘ın içine sürükle-bırak yapabilirsiniz. Sonrasında RuntimeHierarchy’nin Connected Inspector değişkenine değer olarak sahnenizdeki RuntimeInspector objesini ve RuntimeInspector’un Connected Hierarchy değişkenine değer olarak da sahnenizdeki RuntimeHierarchy’i sürükle-bırak yaptınız mı tamamdır. Eğer dilerseniz RuntimeInspector’un Inspect(object obj) fonksiyonu vasıtasıyla istediğiniz herhangi bir objeyi de RuntimeInspector’da gözetleyebilirsiniz.

Sonraki yazımızda görüşmek üzere!

SON GÜNCELLEME: 10 Eylül 2017 (kodun önemli bir kısmı yeniden yazıldı ve joystick, direksiyon, d-pad gibi hazır input’lar eklendi)

Hepinize yeniden merhabalar,

Son zamanlarda Input.GetAxis, Input.GetButton veya Input.GetKey kullanan kodların Android cihazlarda nasıl çalıştırılabileceği ile ilgili çeşitli sorular alıyordum. Ben de bu konuda basit bir çözüm üretmeye çalıştım ve ortaya SimpleInput adını verdiğim sistem çıktı.

SimpleInput sistemi ile UI butonlarına dokunarak, dokunmatik ekranda parmağınızı sürükleyerek, joystick kullanarak, direksiyon çevirerek, belirlediğiniz klavye tuşlarına dokunarak vb. Input fonksiyonlarını simüle edebiliyorsunuz.

Unitypackage linki (örnek sahne içerir): https://github.com/yasirkula/UnitySimpleInput/raw/master/SimpleInput.unitypackage

Detaylar için yazının devamını okuyabilirsiniz…

(daha&helliip;)

NOT: Bu ders SourceTree‘nin kullanımından ziyade, Unity’de Version Control sistemi kullanmak için neler yapmanız gerek onları anlatmakta. Eğer Version Control ilginizi çekmeyen/ihtiyacınız olmayan bir şeyse bu dersi atlayabilirsiniz.

Hepinize merhabalar,

Bu derste Unity ile SourceTree‘yi beraber kullanırken yapmanız gereken/tavsiye edilen ayarlardan ve Unity’nin Smart Merge isimli yardımcı programının kurulumundan bahsedeceğim. Eğer daha önce bir version control sistemi kullanmadıysanız dersi anlamakta güçlük çekebilirsiniz, bilginize.

Belki bildiğiniz üzere, birden çok kişinin aynı anda üzerinde çalıştığı projelerde, düzenli/kontrollü bir çalışma ortamı için genellikle bir version control sistemi kullanılır. Bu yaz yaptığım staj esnasında ben de bir arkadaşımla beraber bir Unity projesi üzerinde çalıştım ve version control’ü SourceTree+Bitbucket ile sağladık. Ne yalan söyleyeyim çok da memnun kaldık çünkü yaptığımız değişikliklerin bir kısmını kontrollü bir şekilde geri almak zorunda kaldığımızda ya da oyunun birkaç gün önceki versiyonu ile mevcut versiyonunu kıyaslamak istediğimizde bunu yapmak gerçekten de çok kolay oldu.

O halde hazırsanız başlayalım!

(daha&helliip;)

Yine ve yeniden merhabalar,

Bu yazıda, kimilerini kendim tecrübe ettiğim, kimilerini de ordan burdan derlediğim optimizasyon önerilerinde bulunacağım (Unity 3D için). Yeni şeyler öğrendikçe bu yazıyı sürekli güncellemeye çalışacağım.

Optimizasyon çok ucu açık bir şey olduğu için kimsenin “optimizasyon konusuna hakimim” gibi bir söylemde bulunabileceğini sanmıyorum. Tam olarak da bu yüzdendir ki, kendi bildiğiniz optimizasyon tekniklerini de bu yazı altında yorum olarak paylaşırsanız burada Türk oyun geliştiricileri için faydalı bir kaynak oluşturabiliriz (diye ümit ediyorum).

(daha&helliip;)

GÜNCELLEME (08.11.2017): Android platformunda Logcat log’larının da gösterilebilmesi sağlandı. Bunun için DebugLogCanvas objesindeki Receive Logcat Logs In Android seçeneğini açmanız yeterli. Eğer sadece Admob ile alakalı log’ları görmek istiyorsanız Logcat Arguments kısmına -s Ads yazabilirsiniz.

Hepinize merhabalar,

Bu yazıda sizlerle kendi yazdığım basit bir Unity eklentisini paylaşacağım. Bu eklentinin olayı, Unity’den aşina olduğumuz console‘un bir benzerini direkt oyun içerisinde göstermek.

Bir oyunu Unity editöründe test ederken aldığımız hataları, uyarıları veya Debug.Log mesajlarını console vasıtasıyla kolayca görebiliyoruz ancak oyunu herhangi bir platforma build aldıktan sonra bu mesajlara direkt oyun içerisinden erişemiyoruz; bunun için logcat gibi ekstra bir ekipman kullanmamız gerekiyor. Ya da en azından ben uzun zamandır öyle biliyordum. Bu debug mesajlarına bir event vasıtasıyla kendi scriptlerimizden erişebildiğimizi daha yeni öğrendim. Bunu öğrenmemin hemen ardından da, alınan log’ları görsel olarak kullanıcıya sunan basit bir arayüz geliştirdim (UI sistemi ile).

Link: https://github.com/yasirkula/UnityIngameDebugConsole/raw/master/IngameDebugConsole.unitypackage

NOT: Bu eklenti yalnızca Unity 5.2 veya üzerinde çalışır.

IngameDebugConsolePNG

Kullanım detayları için yazının devamını okuyabilirsiniz…

(daha&helliip;)

Yeniden merhabalar,

Bu ufak derste, Unity Remote 4 ile Unity oyununuzu build almadan mobil cihazınızdan nasıl test edebileceğinizden bahsedeceğim. Program benim S3 telefonumda sıkıntısız çalışıyordu, büyük olasılıkla sizde de çalışacaktır.

Başlamadan önce ufak bir bilgi geçeyim: Unity Remote 4’ün çalışma prensibi build almaya göre biraz daha farklı. Build aldığınız zaman oyun mobil cihazınız üzerinde çalışırken Unity Remote kullandığınız zaman oyun Unity editörü üzerinde çalışır. Editördeki oyundan sürekli screenshot’lar alınır ve bu screenshot’lar Unity Remote’a gönderilir. Unity Remote’un yaptığı şey ise bu screenshot’ları telefon ekranında göstermek ve kullanıcı ekrana dokunursa bu input bilgilerini Unity editörüne geri yollamak (ilaveten sensör (accelerometer), gyro, kamera, pusula ve gps input’larını da destekliyor[muş]).

NOT: Unity Remote’un çalışması için Android SDK‘nın düzgün bir şekilde kurulu olması lazım (özellikle Google USB Driver): https://yasirkula.com/2013/07/17/unity-android-sdk-kurulumu-resimli-anlatim/

Programı nasıl kullanacağınızı görmek için yazının devamını okuyabilirsiniz…

(daha&helliip;)