Mesajlar Etiketlendi ‘ders’

Unity 3D Coroutine’ler

Yayınlandı: 20 Kasım 2018 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde
Etiketler:, , , , ,

Hepinize merhabalar,

Bu derste, Unity‘nin popüler ve bir o kadar da güçlü bir özelliği olan coroutine‘lerden bahsedeceğiz. Coroutine’ler vasıtasıyla örneğin bir kodun çalışmasını birkaç saniye geciktirebilir, belli bir işlemin bitmesini bekleyebilir veya işlemi birkaç saniyeye yayabilirsiniz (bir objeyi bir yerden başka bir yere 2 saniyede hareket ettirmek gibi).

Hazırsanız derse başlayalım!

(daha&helliip;)

GÜNCELLEME (20.03.2018): Asset Store linki 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.

Asset Store: https://www.assetstore.unity3d.com/en/#!/content/113033

Alternatif Link: 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 (11.03.2018): Arayüzde iyileştirmelere gidildi ve kod biraz daha optimize edildi. Eğer eski sürümü kullanmakta iseniz önce Plugins/DebugLog klasörünü silerek eski sürümü kaldırıp ondan sonra yeni sürümü kurun.

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).

Asset Store: https://www.assetstore.unity3d.com/en/#!/content/68068

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

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

1

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;)

GÜNCELLEME – 10.09.2017: yazıda bahsi geçen joystick’i artık SimpleInput plugin’ime ekledim. SimpleInput plugin’i, multi-platform Input işlemlerini oldukça kolaylaştırdığı için bu joystick yerine SimpleInput’taki joystick’i kullanmanızı öneririm: https://yasirkula.com/2017/07/19/unity-gelismis-input-sistemi-mobil-destekli/

Hepinize merhabalar,

Belki biliyorsunuzdur, bundan yaklaşık 2 sene önce sitemde bir Joystick scripti paylaşmıştım (https://yasirkula.com/2014/05/27/unity-3d-android-dokunmatik-ekran-joystick-kullanimi/). Bunun üzerinden uzunca bir zaman geçti. Bazen bu scripti Unity’nin 4.6 versiyonu ile gelen yeni UI sistemini kullanarak güncellemeyi düşündüm ama bu fikir nedense hep havada kaldı. Ancak bugün ufak bir azimle scripti yeni sisteme geçirdim, ne yalan söyleyeyim hoşuma da gitti yeni script 🙂

Belki reklam olarak göreceksiniz ama beni bu Joystick scriptini güncellemeye iten önemli bir faktör de TAGDA Game kanalının joystick hakkındaki bir video dersiydi (https://www.youtube.com/watch?v=k0DrDK5ixlQ), değinmeden geçmek istemedim. Hepinize destekleriniz için teşekkür ederim.

Yeni joystick plugini (unitypackage): https://www.dropbox.com/s/pwm3yf1a72r41h0/JoystickUI.unitypackage?dl=0 (Alternatif link)

Derste işlediğimiz örnek projenin bitmiş hali: https://www.dropbox.com/s/jm8m83qybw3tmes/JoystickUIOrnekProje.zip?dl=0 (Alternatif link)

0

Detayları görmek ve örnek projeye joystick’i adım adım implement etmek için yazının devamını okuyabilirsiniz…

(daha&helliip;)