360° Resim Çizme Uygulamam Paint 360° Şimdi Yayında!

Yayınlandı: 02 Haziran 2018 yasirkula tarafından Diğer, Oyun Tasarımı, UNITY 3D içinde

Yeniden merhabalar,

Uzun zamandır kendi reklamımı yapmadığımı fark ettim ve tahmin edeceğiniz üzere bu konuda acilen bir şeyler yapmam gerekiyordu. Ben de hazır Google Play’de yeni bir oyunum yayımlanmışken bunu fırsat bileyim dedim ve işte buradayım.

Paint 360°, adından anlaşılabileceği üzere 360 derece resimler çizmeye yarıyor. İşin güzel yanı, bu resimleri Facebook gibi 360° destekleyen sitelere yüklediğinizde, resimleri interaktif bir şekilde 360 derece görebiliyorsunuz! İştahınız kabardıysa sizi şöyle alayım:

Google Play: https://play.google.com/store/apps/details?id=com.yasirkula.Paint360

Online WebGL: https://yasirkula.itch.io/paint-360

Bu da bu uygulama ile yapılmış bir resim (resme tıklarsanız Facebook’ta paylaştığım bir başka 360° resme yönlendirilirsiniz):

Unity Android READ_PHONE_STATE İzni Hakkında

Yayınlandı: 28 Şubat 2018 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

Tekrardan merhabalar,

Bu ufak yazımda, Unity 3D ile Android’e oyun geliştirirken yaşayabileceğiniz rahatsız edici bir sorunu nasıl çözeceğinizi paylaşacağım.

Bazen Unity oyunlarınızı Android’e build alırken siz farkında olmadan uygulamaya READ_PHONE_STATE isminde bir izin eklenebiliyor ve bu durumda oyun başlarken kullanıcıya “XYZ uygulamasına telefon aramaları yapma ve çağrıları yönetme izni verilsin mi?” şeklinde bir diyalog gösteriliyor. Tahmin edeceğiniz üzere, daha uygulama açılır açılmaz kullanıcının böyle bir şey görmesi, onun uygulamaya olan güvenini sarsabilir.

Bu sorunun teşhisi ve çözümü için yazının devamını okuyabilirsiniz…

Yazının devamını oku »

Unity Oyunlarınızdan 360° Screenshot Almak

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

GÜNCELLEME (19.03.2018): Asset Store linki eklendi.

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

Asset Store: https://assetstore.unity.com/packages/tools/camera/360-screenshot-capture-112864

Alternatif Link: https://github.com/yasirkula/Unity360ScreenshotCapture/releases

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

Yazının devamını oku »

Unity Oyun İçi Inspector ve Hierarchy

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

GÜNCELLEME (27.02.2018): Asset Store linki eklendi.

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.

Asset Store: https://assetstore.unity.com/packages/tools/gui/runtime-inspector-hierarchy-111349

Alternatif Link: https://github.com/yasirkula/UnityRuntimeInspector/releases

Asset’i 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!

Unity Gelişmiş Input Sistemi (Mobil Destekli)

Yayınlandı: 19 Temmuz 2017 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

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://assetstore.unity.com/packages/tools/input-management/simple-input-system-113033

Alternatif Link: https://github.com/yasirkula/UnitySimpleInput/releases

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

Yazının devamını oku »

Unity 3D ve Version Control Sistemi (SourceTree İle)

Yayınlandı: 20 Eylül 2016 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

GÜNCELLEME (03.11.2019): git hooks ile başıboş .meta dosyalarının Git‘e eklenmesini engellemek açıklandı.

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!

Yazının devamını oku »

Unity Optimizasyon Önerileri

Yayınlandı: 19 Haziran 2016 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

SON GÜNCELLEME: 23 Eylül 2020 (Diğer Optimizasyonlar’a bir yeni optimizasyon eklendi)

Yine ve yeniden merhabalar,

Bu yazıda, kimilerini kendim tecrübe ettiğim, kimilerini de ordan burdan derlediğim Unity 3D optimizasyon tekniklerinden bahsedeceğim. Yeni şeyler öğrendikçe bu yazıyı 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.

Yazının devamını oku »

Unity Oyun İçi Debug Konsolu (UI Sistemi İle)

Yayınlandı: 18 Haziran 2016 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

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://assetstore.unity.com/packages/tools/gui/in-game-debug-console-68068

Alternatif Link: https://github.com/yasirkula/UnityIngameDebugConsole/releases

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

1

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

Yazının devamını oku »

Unity Remote 4 Kullanımı Detaylı Anlatım

Yayınlandı: 18 Haziran 2016 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

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…

Yazının devamını oku »

Unity UI Dokunmatik Ekran Joystick Kullanımı (Multi-touch Destekli)

Yayınlandı: 17 Haziran 2016 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde

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…

Yazının devamını oku »