Kendimize Unity ile mobil oyun yapma hedefi belirlemiştik. Evet, tek başınıza bir mobil oyun yapmak gerçekten zor bir hedef. Tabi basit bir Angry Birds tarzı oyundan bahsetmiyorum. Bu tarz basit oyunların nasıl yapıldığına dair bir çok video ve eğitim bulabilirsiniz. Ama bizim amacımız önce Unity oyun motorunu iyice anlamak ve sonrasında bir 3D oyun için çabalamaya başlamak.
Eminim direk oyun yapmak istiyorsunuz ama emin olun bu şekilde yolun başlarında ya da çözemediğiniz ilk sorunda vazgeçmek zorunda kalacaksınız.
Şimdi Unity ile mobil oyun yapabilmemiz için neler bilmemiz gerekiyor ona bakalım. Eğer daha önce hiç araştırma yapmadıysanız ya da çok kolay olduğunu düşünüyorsanız mutlaka okumanızı tavsiye ederim.
Bilmemiz Gerekenler
- Unity oyun motorunu gözümüz kapalı kullanabilmemiz gerekiyor.
- Kod tarafı için C# programlama dilini bilmemiz gerekiyor. Fakat C# programlama dilini öğrenmek ayrı bir eğitim konusu olur. Bu yüzden Unity için lazım olan kısım kadar öğreneceğiz.
- Modelleme programlarını bilmemiz gerekiyor. Yani karakterlerimizi, düşmanları, nesneleri vs oluşturmamız için Maya, 3ds Max, Blender tarzında modelleme programlarını bilmemiz gerekiyor. Bu aşamada hem oyundaki karakterleri modelleyeceğiz hem de animasyon yapmamız gerekecek. Tabi bunlar için ücretsiz ya da ücretli hazır modelleri kullanabiliriz. 2D oyunlar içinse Adobe Photoshop ve Adobe Illustrator programlarını aşina olmak gerekecek.
- Ses konusunda tecrübeli olmamız gerekiyor. Örneğin karakterin yürüme sesi, silah sesi ya da parçalanma sesi gibi bazı ses efektlerine ihtiyacımız olacak. Bunlar için lisans gerektirmeyen sesleri kullanabiliriz ya da bfxr gibi programlarla kendi özgün seslerimizi oluşturabiliriz.
- Yapacağımız oyunda bir de müzik kısmı var. Ses efektlerinde olduğu gibi yine lisans gerektirmeyen müzikleri kullanabilir ya da fl studio gibi programlarla kendi müziğimizi yapabiliriz.
- Eğer gerçekten Google Play Store üzerinde bir oyun yayınlamak ve gelir elde etmek istiyorsanız son olarak Çeviri kısmı bulunuyor. Oyunumuza çoklu dil desteği vererek potansiyel kitleyi arttırmamız gerekecek.
Evet böyle bakınca oyun motoru, yazılım, modelleme, animasyon, ses, müzik ve çeviri gerçekten zor bir hedefimiz var. Öncelikli hedefimiz unity oyun motoru ve C# tarafını kusursuz şekilde tamamlamak. Sonrasında ise siteyi açma amacımız olan beraber bir şeyler yapabilmek. Ümit ediyorum ki ileri de modelleme, animasyon ya da ses ile ilgili tecrübeli arkadaşlar çıkacak ve biz tecrübelerini aktaracaklar ve beraber öğreneceğiz.
Şimdi sıra geldi çalışma programımızı oluşturmaya. Mutlaka ama mutlaka aşağıda yazdığım şekilde ilerlerseniz beraber öğrenebiliriz.
Eğitim Planlaması
Evet planlamamızı en mantıklı olarak gördüğüm Olcay Kalyoncu Hocanın Udemy eğitim düzenine ufak değişiklikler yaparak gerçekleştireceğiz.
- Unity Kurulumu – Öğrendik
- Unity Hesabı Oluşturma
- Unity Hub Kurulumu
- Unity Kurulumu ve Paketlerin Yönetilmesi
- İlk Projeyi Oluşturma
- Unity Objeler – Öğrendik
- Obje Nedir?
- Yeni Obje Oluşturma ve Eksenler
- Obje Seçim Araçlarının Kullanımı
- Obje Gizleme ve Seçilebilirliğini Kapatma
- Obje Inspector Alanının İncelenmesi
- Obje Bileşenlerinin Kullanımı
- Temel C# Dersleri– Öğrendik
- Değişken Türleri ve Oluşturma
- if – else Kullanımı
- For Döngüsü
- Foreach Döngüsü
- While ve Do-While Döngüsü
- Switch Case Yapısı
- Array Kavramı
- List Kavramı
- Unity Fonksiyonlar ve Sınıflar – Öğrendik
- Fonksiyon nedir?
- Erişim Belirleyiciler – Access Modifiers
- Class (Sınıf) Nedir?
- Miras Alma Nedir?
- Unity Namespace ve Using Nedir?
- Unity Start ve Update Fonksiyonları
- Unity Coroutine Fonsiyonu (IEnumerator )
- Obje Etkileşim Yöntemleri – Öğrendik
- Objeye Değişken Tanımlama Nasıl Yapılır?
- Objeye Array ve List Tanımlama Nasıl Yapılır?
- GameObject.GetComponent Kullanımı
- GameObject.Find Kullanımı
- GameObject.FindWithTag Kullanımı
- Transform.Find Kullanımı
- GameObject.FindGameObjectWithTag Kullanımı
- Dışarıdan GameObject Alma İşlemi
- Object.FindObjectOfType Kullanımı
- GameObject.CompareTag ve GameObject.Tag Kullanımı
- GameObject.AddComponent Kullanımı
- SendMessage ve BroadcastMessage Kullanımı
- Destroy Kullanımı
- Unity Vector3 Metodları ve Değişkenleri – Öğrendik
- Vector3 Sınıfı Statik Değişkenler
- Vector3 Sınıfı Erişilebilir Değişkenler
- Public Metodlar
- Statik Metodlar
- Operator İşlemleri
- Transform ve Quaternion Sınıfı – Öğrendik
- Transform Sınıfı Metot ve Özellikleri
- Quaternion Sınıfı Metot ve Özellikleri
- Instantiate Metodu ve Prefabs Kullanımı – Öğrendik
- Prefabs Kullanımı
- Instantiate Metodu Kullanımı
- Unity’de Fizik İşlemleri – Öğrendik
- Fizik Materyali
- RigidBody Bileşeni
- Fiziksel Etkileşimleri Script ile Yakalama
- Camera İşlemleri ile Occlusion Culling Kullanımı – Öğrendik
- Kamera Ayarları
- Occlusion Culling
- Occlusion Portal Bileşeni
- Occlusion Area Bileşeni
- Lighting İşlemleri – Öğrendik
- Realtime ve Baked Hesaplamaları
- Directional Light Işık Türü
- Point Light Işık Türü
- Spotlight Işık Türü
- Area Light Işık Türü
- Işık Türlerinin Tüm Ayarları
- Lighting Penceresi Ayarları
- Skybox Kullanımı ve Ayarları
- Unity Görsel Efekt Bileşenleri – Öğrendik
- Trail Renderer Efekti
- Lens Flare Efekti
- Halo Efekti
- Projector Efekti
- Line Renderer Efekti
- Unity Particle System Modülleri ve Ayarları – Öğrendik
- Unity ile 3D Alev Efekti Yapımı
- Particle System Genel Ayarları
- Emission Modülü Ayarları
- Shape Modülü Ayarları
- Velocity over Lifetime Modülü Ayarları
- Limit Velocity Over Lifetime Modülü Ayarları
- Inherit Velocity Modülü Özellikleri
- Force Over Lifetime Modülü Ayarları
- Color Over Lifetime Modülü
- Size over Lifetime Modülü
- Size by Speed Modülü
- Rotation Over Lifetime Modülü
- Rotation By Speed Modülü
- Noise Modülü
- Texture Sheet Animation Modülü
- Unity UI Dersleri – Öğrendik
- Unity Canvas Bileşenleri
- Unity Canvas Elemanları
- TextMesh Pro Bileşeni
- Unity Animatör Dersleri – Öğrendik
- Animasyon Paketi İndirme ve İnceleme
- Animasyonları Sahneye Aktarma ve İnceleme
- Unity Animator Controller Kullanımı
- Animasyonu Klavye İle Yönetme
- Animator Component Ayarları
- Animator State Ayarları
- Animator Transition Ayarları
- Unity Ses ve Müzik Kullanımı – Öğrendik
- Ses Dosyası Inspector Ayarları
- Audio Source Bileşeni Ayarları
- Audio Mixer Kullanımı
- Audio Reverb Zone Bileşeni Ayarları
- Audio Low Pass Filter ve High Pass Filter Bileşenlerinin Ayarları
- Audio Echo Filter Bileşeni Ayarları
- Audio Distortion Filter Bileşeni Ayarları
- Audio Chorus Filter Bileşeni Ayarları
- Unity Raycast Sistemi – Öğrendik
- Raycast Kullanımı
- Raycast Sisteminde LayerMask Kullanımı
- Raycast Sistemini FPS Oyunlarda Kullanmak
- Unity Kontrol(Klavye, Mause vs) İşlemleri – Öğrendik
- Unity Input Metotları
- GetAxis Metodu
- Input Manager ile Objeye Hareket Verme Örneği
- Dokunmatik Ekran Kontrolü Nasıl Yapılır?
- Ekrana Dokunarak Oyunda Obje Oluşturma Örneği
- Unity AI – Yapay Zeka İşlemleri – Öğrendik
- Unity Navigation Kullanımı
- Navigation Bake Ayarları
- Navigation Agents Ayarları
- Ajanları Hareket Ettiriyoruz
- Nav Mesh Agent Ayarları
- Navigation Areas Ayarları
- Nav Mesh Obstacle Bileşeni
- Multiplayer Sistemleri
- Unity Pencere Yönetimi
- Unity Optimizasyon
- Unity ile 3D Oyun Yapmaya Başlıyoruz
Kaynaklar
Arkadaşlar, biliyorsunuz bende yeni öğreniyorum ve öğrendiklerimi size aktarıyorum. Tabi bunu yapabilmek için Udemy, BTK Akademi gibi sitelerden eğitimler aldım ve bazı Youtube kanallarını takip ediyorum. Sizlere aşağıda bir liste olarak gönderiyorum. Zamanınız ve bütçeniz doğrultusunda değerlendirmenizi öneriyorum.
Udemy Eğitimler
- Unity C# | Sıfırdan Profesyonelliğe | 3D | 2D Oyun Yapımı – Udemy üzerinde en iyi ve en detaylı kaynak olarak Olcay Kalyoncuoğlu Bey’in hazırladığı eğitimi önerebilirim. Size aktardığım eğitimlerde genellikle Olcay Bey’in düzeni şeklinde olacak.
- 2020 UNITY C# | Unity’yi Sıfırdan En İyi Şekilde Öğrenin! – Deniz Yanar’ın hazırladığı yeni Unity eğitimlerinden biri.
- Complete C# Unity Game Developer 3D – İngilizce eğitimlerden çok satanlar arasında yer alan eğitimlerden biri. Anlatımı iyi ama konular çok detaylı değil gibi geldi ama yine bazı eğitimlerdeki eksikler için buraya bakıyorum.
BTK Akademi Eğitimler
Aslında BTK Akademi üzerindeki eğitimler iyi olabilir ama anlatım tarzları bana göre olmadığı için çok nadir olarak girip bakıyorum. Ama ücretsiz olduğu için değerlendirebilirsiniz.
- Unity İle Eğitici Oyunlar – Sadece oyun yapmaya yönelik bir eğitim gibi gördüm. Eğer sadece eğitimde belirtilen gibi bir oyun yapmak istiyorsanız değerlendirebilirsiniz.
- Unity ile Dijital Oyun Geliştirmeye Giriş – Daha çok incelemedim ama yorumlarda hocanın bazı bölümleri çok hızlı geçtiğini belirtiyorlar.
Youtube Takip Ettiklerimiz
- Lorem Ipsum – Bir oyunun nasıl yapılacağı eğitimleri değil de daha çok oyun geliştirme süreçlerini, gerekli olanlar ve strateji üzerine sevdiğim bir kanal.
- at0m – Eğlenceli olduğunu düşündüğüm bir arkadaş. Güzel şeyler yapmaya çalışıyor sadece biraz daha düzene ihtiyacı var.
- Brackeys – Bence bulabileceğiniz en iyi kanallardan biri olduğunu söyleyebilirim. Kanal içerisinde bazı seri eğitimler ya da spesifik konularda anlatımlar bulunuyor.
- Sam Hogan – Oyun yapma sürecini ve kazandığı geliri paylaşan bir kanal.
- Ivan Panasenko – Oyun yapma sürecini ve kazandığı geliri paylaşan diğer bir kanal.
Site Üzerinden Önerilen Kaynaklar
- Turkcell Geleceği Yazanlar – Emre Barbaros arkadaşımız önerdi.
- Dani – Melorin arkadaşımız önerdi.
O zaman Unity ile oyun programlamaya başlayalım.
Bende dahil oluyorum. Tavsiye ettiğin Olcay hocanın eğitiminde aldım hadi bakalım hayırlısı
O zaman aramıza hoş geldin kardeşim. Eğitim olarak iyi bir tercih yapmışsın çünkü konularımızı bu eğitime göre planladım.
İlk oyunu ne zaman yapmaya başlayacağız hocam bir tarih var mı?
Aklımda olan Mayıs 15’di ama konular derinleştikçe yazılı olarak aktarması zorlaşıyor ve biraz yavaşlatıyor. Ama hedefimiz 15 Mayıs’ta oyuna başlamak.
Cengiz Barkın Öztürk’ün verdiği bu eğitim bence çok başarılı…
https://gelecegiyazanlar.turkcell.com.tr/konu/unity#courses_list
Selam Emre,
Yeni kaynak için teşekkürler. Konular biraz kısa geçilip direk oyun yapmaya başlanmış gibi ama yine de kaynaklar kısmına isminle beraber ekledim.
bende oluyorummmmmmmmm
Dostum harika olmuş fakat bir sorun var. Burada anlatılan derslerin sırasında gördüğüm problem şu;
Unity için en önemli olan klavye mouse girişi ve etkileşimi dersini eklememişsin bile. Bu zaten çok basit bir konu ve aynı zamanda en temel yapı taşlarının bir tanesidir. Onun haricinde mükemmel bir kaynak olmuş/olmaya devam ediyor. Ayrıca birlikte öğrenme konusunda seninle görüşmek istiyorum eğer sorun olmazsa lütfen mail at. kaangul6621@gmail.com
Selam Kaan,
Teşekkür ederim güzel düşüncelerin için. Input konusuna değineceğim bu hafta sonu raycast ile ilgili bir içerik hazırlıyorum sonrasında Input yani klavye, mouse konularına gireceğim. İşin aslı nasıl öğrendiysem o şekilde aktarmaya çalışıyorum, bu yüzden belirli bir düzenin dışına çıkamıyorum.
“dani” bir oyun yapma kanalı ama daha çok eğlence, mizah içeriyor bence izlenilip eğlenilmesi gereken bir kanal ayrıca benim gibi yeni başlayanların örnek alabileceği bir kanal kesinlikle listeye eklenmeli
Güzel önerin için teşekkürler Melorin. Listeye ekledim.
Youtub da severek izlediğim sebilgi adındaki kanalı önermek isterim.
https://www.youtube.com/user/sebilgi/playlists
Unity 2D kursu olacak mı ?
Bu dersleri nasıl alabiliriz?
Aranıza yeni katılıyorum, çok planlı çalışmışsınız elinize sağlık. Öğrenmek için elimden geleni yapacağım.