İlan

İnternet ekonomisinin şaşırtıcı bir özelliği de indie video oyunlarının yükselişidir. Bin kişilik, milyonlarca dolarlık üçlü A stüdyosunun münhasır alanı, bir dizi araç seti geliştirildi. modern oyun geliştirme kaynaklarını bireylerin veya küçük, geçici programcı ve tasarımcı koleksiyonlarının ellerine getirin. Daha önce en iyi indie oyunları 10 Bağımsız Oyun Çok İyi, Hiç Bağımsız Olmadıklarını UnutursunuzBununla birlikte, indie normundan farklı bir şey istediğiniz zamanlar olabilir. Bağımsız değerleri takip eden ancak üst raf AAA oyunlarının bilindiği kalitede bir oyun. Başlıklar ... Daha fazla oku , bu yüzden Unity gibi araçlarla neler yapılabileceğine dair ilham aldığınızdan emin olun.

Bu kılavuz ücretsiz PDF olarak indirilebilir. Unity ile Bir Oyun Programlama: Başlangıç ​​Kılavuzu'nu şimdi indirin. Bunu kopyalayıp arkadaşlarınızla ve ailenizle paylaşın.

Bu bağımsız oyun geliştirme ekipleri, birçok durumda, oyun yeniliğini büyük bütçeli meslektaşlarından daha hızlı itmelerine olanak tanıyan bir çeviklik ve risk toleransı gösterdiler. Son yıllarda şaşırtıcı derecede başarılı indie başlıkları yayınlandı.

instagram viewer
Minecraft, Araf, ve Süper et çocukve bunun gibi oyunlar yapmak için becerileriniz olmasa bile, Buildbox kullanarak oyun yapma Buildbox Kullanarak Haftada Video Oyunu Nasıl YapılırVideo oyunları tasarlamada kesinlikle deneyimi olmayanlar için oyun geliştirmeyi inanılmaz derecede kolaylaştıran bir program var. Buna Buildbox deniyor. İşte bu yüzden denemelisiniz. Daha fazla oku .

Bağımsız oyun geliştirme sürecinin hızla gelişen manzarasında, Birlik fiili bir standart olarak ortaya çıktı: düşük maliyeti, kullanım kolaylığı ve geniş özellik seti, hızlı oyun geliştirme için idealdir. Birlik o kadar esnektir ki, kendi özel oyun denetleyicilerini yap Arduino ve Unity ile Özel Oyun Denetleyicisi Nasıl YapılırHiç kendi oyun kumandanızı tasarlamak istediniz mi? Sandığından daha kolay! Daha fazla oku biraz DIY ile biliyorum!

ÇKP gibi büyük stüdyolar bile ( Eve Online) oyun kavramlarını hızlı bir şekilde prototiplemek için kullanın. Unity, bir “kutuda oyun motoru” sağlar - neredeyse her tür video oyunu türüne uyarlanabilen birkaç komut dosyası dili için bir fizik ve render motoru.

Unity oyun ortamını değiştirmek için görsel bir editör sağlarken, Unity 'sıfır programlama' oyun yaratıcısı aracı değildir. Sonuç üretmek için programlamanızı gerektirir, ancak aynı zamanda herhangi bir 'oyun yapımcısı' programından çok daha esnek ve güçlü bir araç sağlar.

Birlik işi sizin için yapmaz, ancak giriş engelini önemli ölçüde azaltır. C ++ ve OpenGL ile tamamen sıfırdan başlayarak, ekranda gerçekten bir şeyin işlendiği noktaya gelmek günler sürebilir. Unity'yi kullanmak yaklaşık on saniye sürer. Unity, oyun yaratmanın temel öğelerini acemi programcıların eline hızlı, sezgisel bir şekilde yerleştirir.

Bugün Unity'de on ana bölüme ayrılmış bir oyun yapmak için bilmeniz gereken her şeyde size yol göstereceğim:

§1 – Birlik Versiyonları

§2 – Birlik Kurulumu

§3 – Nesneye Dayalı Paradigmaya Kısa Bir Giriş

§4 – Birlikle İlgili Temel Bilgiler

§5 – Örnek: Bir Oyunun Temel Öğeleri

§6 – Birlikte Komut Dosyası Oluşturma

§7 – Örnek: Scripting Pong

§8 – Belgeleri Keşfetme / Öğrenme Daha Fazla

§9 – Oyununuzu Oluşturma / Bağımsız Bir Uygulamaya Derleme

§10-Kapanış Notları

1. Birlik Sürümleri

Unity iki temel lezzette gelir: pro sürümü ve ücretsiz sürüm. Var farkların sayısı, ancak genel olarak konuşursak, pro sürümü bir dizi görsel iyileştirmeyi destekler (gerçek zamanlı yumuşak gölgeler ve işlem sonrası) ve daha karmaşık için son derece yararlı olan çok sayıda nispeten küçük özellik oyunlar.

Bununla birlikte, inşa etmek isteyebileceğiniz çoğu nispeten basit oyun için, Unity'nin ücretsiz sürümü mükemmel bir şekilde yeterli. İlgilenenler için aşağıdaki temel farklılıkları daha ayrıntılı olarak inceleyeceğiz.

1.1 Fiyatlandırma

Unity'nin ücretsiz sürümü elbette ücretsizdir. Bununla birlikte, bazı sınırlamalar vardır: Unity'nin ücretsiz sürümü, yıllık geliri fazla olan hiçbir şirkete lisanslanamaz $100,000. Bu tür kuruluşlar bu kılavuzun kapsamı dışında olsa da, böyle bir kuruluş olabileceğinizden şüpheleniyorsanız, Pro sürümüne geçmeniz akıllıca olacaktır.

Unity'nin Pro sürümü $75 bir ay veya $1500 kalıcı bir lisans için ve onunla oluşturulan oyunlarla neler yapabileceğiniz konusunda hiçbir sınırı yoktur. Mümkün olduğunca ayrıntılı özelliklere genel bir bakış sağlamak için bu kılavuz için kullanacağımız 30 günlük ücretsiz deneme sürümü de mevcuttur. Bir yıllık öğrenci lisansı ayrıca Studica için $129.

1.2 Özellikler

Unity'nin ücretsiz sürümünde bulunmayan birçok özellik var. Bununla birlikte, en önemli farklılıklar aşağıdaki gibidir: Unity'nin ücretsiz sürümü, izin veren bir dizi oluşturma seçeneğinden yoksundur. daha iyi görünen, daha hızlı çalışan oyunlar (LOD desteği, ekran alanı sonrası işleme, gelişmiş gölgelendiriciler, gerçek zamanlı yumuşak gölgeler ve ertelenmiş render). Ayrıca tam eksik mechanim animasyon sistemive bazı AI araçları.

Genel olarak, karmaşık, büyük ölçekli projeler veya grafiksel performansın önemli olduğu projeler için, pro sürümü faydalıdır. Pro sürümünü kullanıyorum, çünkü sanal gerçeklik oyunları geliştiriyorum. Oculus Yarık Oculus Rift İncelemesiSanal Gerçeklik yeni değil, ama sonunda uygun fiyatlı ve kavrayışımız dahilinde. Dört yıl ve iki geliştirme prototipinden sonra Oculus Rift'in nihai tüketici baskısı geldi. Daha fazla oku ve kulaklıkla doğru bir şekilde etkileşim kurmak için ekran boşluğu sonrası işlem desteği gereklidir.

2. Unity Kurulumu

Unity'nin kurulumu kolaydır. Yürütülebilir dosyayı şu adresten indirebilirsiniz: unity3d.com/get-unity/download.

İndirdikten sonra çalıştırın ve yükleyici talimatlarını izleyin. Kurulum tamamlandığında, 'Unity lisansınızı etkinleştirin' başlıklı bir pencere görünecektir. Un 30 günlük ücretsiz Unity Pro deneme sürümünü etkinleştir ’kutusunu ve ardından Tamam’ı işaretleyin.

Tebrikler! Artık 30 günlük Unity Pro deneme sürümünüz var. Deneme süresi sona erdiğinde, profesyonel sürümü satın almak istemiyorsanız ücretsiz sürüme geçebilir ve mevcut içeriğinizi saklayabilirsiniz.

3. Nesneye Dayalı Paradigmaya Kısa Bir Giriş

Unity'yi kullanmaya başlamadan önce, temelleri biraz aşmamız önemlidir. Unity her ikisini de destekler C # ve JavaScript için oyun programlama 7 Unity Game Development Öğrenilecek Diller: Hangisi En İyisi?Unity'de oyun geliştirmeye başlamak ister misiniz? Bu Unity uyumlu dillerden birine aşina olmanız gerekir. Daha fazla oku ; bu eğitim için C # ile birlikte çalışacağız.

Öncelikle, daha önce hiç programlamadıysanız, bu öğreticiyi bir kenara koyun ve birkaç gün Microsoft'un C # Dil Astarı basit görevler için dili kullanma konusunda kendinizi rahat hissedinceye kadar.

C # 'dan biraz farklı bir şey istiyorsanız (ancak Unity'de kullanabileceğiniz bir dil olması gerekmiyorsa), yeni başlayanlar için en kolay altı programlama dili Yeni Başlayanlar İçin Öğrenmesi Gereken 6 En Kolay Programlama DiliProgramlamayı öğrenmek, eğitim süreci kadar doğru dili bulmaktır. İşte yeni başlayanlar için en kolay altı programlama dili. Daha fazla oku .

Daha önce C veya Java gibi zorunlu veya nesneye yönelik bir dilde programladıysanız, astarı gözden geçirin ve C #'ın geçmişte kullandığınız diğer dillerden nasıl farklı olduğunu öğrenin. Her iki durumda da, C # ile basit sorunları çözme konusunda rahat olana kadar eğiticiye devam etmeyin (örneğin, ilk yüz asal sayıyı basan bir program yazmanız durumunda, bu programı danışmadan yazabilmeniz gerekir Google).

Burada anlaşılması gereken en önemli kavram nesne yönelimli paradigma "Nesneye Yönelik" Programlama Adını Nereden Aldı?Nesneye Dayalı, programlama çevrelerinde duyduğunuz rastgele bir terim değildir. Adın arkasında bir neden var - ama ne? Programlama kavramlarının bazı temellerini araştırırken ve açıklarken bana katılın ... Daha fazla oku (olarak kısaltılmıştır OOP). Nesneye yönelik dillerde, programlar şu işlevsel ünitelere ayrılır: Nesneler. Her nesnenin kendi özel değişkenleri ve işlevleri vardır. Nesneye özgü işlevler denir yöntemleri.

Buradaki fikir modülerliktir: her bir nesneyi izole etmek ve diğer nesneleri onunla etkileşime zorlamak yöntemleri aracılığıyla, kasıtsız olası etkileşimlerin sayısını azaltabilirsiniz - ve uzantı ile, böcek. Ayrıca daha sonra hiçbir değişiklik yapmadan yeniden kullanabileceğiniz nesneler de oluşturabilirsiniz. Unity'de, bu nesneleri inşa edeceksiniz ve oyun varlıkları (davranışları yönetilecek).

Nesneler sınıflar: sınıf, yalnızca nesnenizin tanımını düzenleyen bir dosyadır. Yani, isterseniz Mook oyununuzdaki bir düşman için yapay zekayı ele alan bir "Mook" sınıfı yazar ve ardından bu dosyayı her düşman varlığına iliştirirsiniz. Oyununuzu çalıştırdığınızda, her düşman bir 'Mook' nesnesinin bir kopyasıyla donatılacak.

Bir nesneye yeni bir komut dosyası eklemek şu şekildedir:

Birlik ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 1

İlk, nesneyi seç ve git müfettiş. Tıkla Bileşen Ekle buton.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 2

Adresine git yeni senaryo, istediğiniz adı girin ve Tamam'ı tıklayın. oluştur ve ekle.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 3

Şimdi üzerine çift tıklayarak düzenleyebileceğiniz yeni bir betiğiniz var!

Bir sınıf dosyası şuna benzer:

UnityEngine kullanarak; kamu sınıfı Mook: MonoBehaviour {özel şamandıra sağlığı; void Start () {sağlık = 100; } void Update () {if (health> 0) {/ * Oyuncuyla yolda karşılaşırsanız oyuncu arayın, vurulursa onu öldürün, rastgele bir miktarda sağlığı kaldırın * /}} }

Bunu parçalayalım:

  • UnityEngine Kullanımı: Bu satır, C # 'a Unity’nin kütüphanelerini kullanmak istediğimizi söyleyerek Unity oyun motoruna bağlanmamızı sağlar.
  • Genel sınıf Mook: MonoBu satır sınıfı ve adını bildirir - Mook.
  • Özel şamandıra sağlığı: Bu, özel bir sınıf değişkeni bildirir (yalnızca sınıfın içinden değiştirilebilir). Değişkene bir değer verilir. Başlat.
  • Geçersiz Başlangıç ​​(): Bu, şu şekilde adlandırılan bir yöntemi bildirir: Başlat. Başlangıç, oyun ilk başlatıldığında yalnızca bir kez çalışan özel bir yöntemdir.
  • Geçersiz Güncelleme (): Güncelleme, her karede çalışan başka bir özel yöntemdir. Oyun mantığınızın çoğu buraya gelecek.
  • // eğer yolda oyuncu ile karşılaşırsanız, onu öldürün: Bu satır bir yorumdur (çift eğik çizgi ile başlayan herhangi bir satır C # tarafından yoksayılır). Yorumlar, kendinize belirli kod parçalarının ne yaptığını hatırlatmak için kullanılır. Bu durumda, bu yorum, yorumun açıkladığı şeyi yapan daha karmaşık bir kod bloğunda durmak için kullanılır.

İle birlikte Başlat ve Güncelleme, hemen hemen her adla kendi yöntemlerinizi başlatabilirsiniz. Ancak, oluşturduğunuz yöntemler çağrılmadığı sürece çalışmaz. Varsayımsal bir sınıf için bir yöntem açıklayalım. AddTwoNumbers birlikte iki sayı ekler:

halka açık şamandıra addTwoNumbers (float a, float b) {dönüş a + b; }

Bu, halka açık (diğer nesneler tarafından erişilebilir) yöntemini, AddTwoNumbers, giriş olarak iki şamandıra alır ( bir ve b). Daha sonra çıktı olarak iki değerin toplamını döndürür.

Bu yöntemi aynı sınıftan çağırmak (örneğin içeriden) Güncelleme) buna benzer:

float sonucu = addTwoNumbers (1, 2);

Yöntemi başka bir sınıftan çağırmak benzerdir:

addTwoNumbers örneği; float sonucu = örnek.addTwoNumbers (1, 2);

Yine, bu sadece sınıfımızın bir örneğini oluşturur, uygun yönteme erişir ve eklemek istediğimiz sayıları besler, ardından sonucu sonuç. Basit.

Komut dosyanız erişilemeyen özel özelliklere (parçacık yayıcı gibi) sahip bir nesneye bağlıysa normal GameObject parametreleri kümesi altında, bunu kullanarak farklı bir tür oyun varlığı olarak ele almayı seçebilirsiniz. GetComponent yöntem.

Bunun sözdizimi şöyle görünür:

GetComponent().Oyna();

Bunlardan herhangi biri size yabancıysa, geri dönün ve C # primerini uygulayın. İlerledikçe sizi çok fazla hayal kırıklığına uğratacaktır.

4. Birlikle İlgili Temel Bilgiler

Bu bölümde, Unity motorunun temel mekaniği üzerinde çalışacağız. Unity'deki iş akışı şuna benzer:

  1. Oyunda bir rol sunmak için bir varlık oluşturun (boş GameObjects soyut mantıksal görevler için kullanılabilir).
  2. Bir sınıf dosyası yazın veya bulun ve dosyayı komut dosyası olarak ekleyin ( Bileşen Ekle düğmesi müfettiş görünüm.
  3. Çalıştırmak > Ölçek > ayıklama > tekrar et çalışana ve oyunun bir sonraki öğesine geçene kadar.

Unity, kullanıcının zevkine göre çeşitli şekillerde ortaya konabilen bir dizi temel görünüm sekmesi ile birlikte gelir. Büyük beş:

  1. Oyun: oyunun etkileşimde bulunabileceğiniz ve test edebileceğiniz çalışan bir örneğini görüntüler.
  2. Faliyet alani, sahne: statik, düzenlenebilir bir sürümünü sağlar oyun Dünyası.
  3. Müfettiş: oyun dünyasındaki tek tek varlıkları, editör sekmesi.
  4. Proje: projenin dosyalarına göz atmanıza ve modelleri, malzemeleri ve diğer kaynakları editör Oyun dünyasına yerleştirmek için
  5. Hiyerarşi: bu sekme dünyadaki tüm nesneleri gösterir, sahnede uzak nesneleri ve üst nesneleri tıklayıp sürükleyerek bulmanızı sağlar.

Tüm bunların yerleri için aşağıdaki şemaya bakın:

Birlik ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 0

4.1 Birlik Kuruluşları

4.1.1 Ağlar

Kafesler yol 3D geometri Birlik'te temsil edilmektedir. Unity’nin yerleşik ilkel nesneler (küpler, küreler, silindirler vb.) veya kendi 3B modellerinizi aşağıdaki gibi bir modelleme paketinden içe aktarın karıştırıcı Blender'a Başlarken: Yeni başlayanlar için 7 harika öğretici3D modelleme, teknik yönünüzle iletişim halindeyken yaratıcılığı egzersiz için mükemmel bir yoldur. İşte bazı müthiş ücretsiz öğreticiler. Daha fazla oku veya Maya Maya 2016'yı Öğrenmek: Nereden BaşlamalıMaya, 3D animasyon için kullanılan bir araçtır, ancak inanılmaz derecede dik bir öğrenme eğrisi ile birlikte gelir. Hangi iyi öğretim materyali var? Daha fazla oku . Unity, aşağıdakiler de dahil olmak üzere çeşitli 3D formatlarını destekler .fbx, ve .3ds.

Kafesleri işlemek için temel araçlar, arayüzün sol üst köşesindeki ölçeklendirme, döndürme ve çeviri düğmeleridir. Bu düğmeler, düzenleyici görünümünde modellere kontrol simgeleri ekler ve bu simgeler daha sonra onları uzayda manipüle etmek için kullanılabilir. Bir nesnenin doku veya fizik özelliklerini değiştirmek için nesneleri seçin ve müfettiş analiz etmek için görünüm malzeme ve sağlam vücut elementler.

4.1.2 GUI Öğeleri

Geleneksel GUI sprite'ları ve metinler GUI Metni ve GUI Dokusu Editördeki GameObjects. Ancak, UI öğelerini işlemenin daha sağlam ve gerçekçi bir yolu, 3D metin ve dörtlü HUD öğelerini oyun dünyasına varlık olarak yerleştirmek için GameObjects (şeffaf dokular ve ışıksız şeffaf gölgelendirici ile).

İçinde hiyerarşi Bu oyun öğeleri, onları çocuk yapmak için ana kameraya sürükleyerek kamera ile hareket etmelerini ve dönmelerini sağlar.

GUI öğelerinin (metin ve dokular) boyutları ve ölçeği, denetçi sekmesindeki ilgili alanlar kullanılarak ayarlanabilir.

4.1.3 Malzemeler

Malzemeler doku kombinasyonlarıdır ve gölgelendiriciler Beş Önemli PC Oyun Koşulları AçıklandıBir konsolda oyun oynarsanız, teknik detaylar sizin için ele alınır. Bazı oyuncular bunu tercih eder, ancak PC oyuncuları genellikle bir oyunun gözünde daha fazla kontrole sahiptirler ... Daha fazla oku ve doğrudan proje sekmesinden oyun nesnelerine sürüklenebilir. Çok sayıda gölgelendirici Unity Pro ile birlikte gelir ve uygulandıkları bir nesnenin denetçi sekmesini kullanarak kendilerine eklenmiş dokuyu ayarlayabilirsiniz.

Bir dokuyu içe aktarmak için .jpg, .pngveya .bmpve içine sürükleyin varlıklar proje dizini altındaki klasör ( Benim dökümanlarım varsayılan olarak). Birkaç saniye sonra editörde bir yükleme çubuğu belirir. Bittiğinde, görüntüyü dokunun altında bir doku olarak bulabileceksiniz. proje sekmesi.

4.1.5 Işıklar

Işıklar GameObjects hangi projenin dünyaya yayıldığı. Sahnenizde ışık yoksa, tüm çokgenler aynı parlaklık seviyesinde çizilir ve dünyaya düz, soluk bir görünüm verir.

Işıklar yerleştirilebilir, döndürülebilir ve özelleştirebileceğiniz birkaç dahili özelliğe sahip olabilir. yoğunluk kaydırıcı ışığın parlaklığını kontrol eder ve Aralık ne kadar çabuk solduğunu kontrol eder.

İçindeki yönergeler sahne görünümü maksimum aydınlatma aralığını gösterir. İstenen efekti elde etmek için her iki ayarda da oynayın. Ayrıca ışığın rengini, desenini (kurabiye ışığın işaret ettiği yüzeyde görüntülenir ve doğrudan ışığa bakarken ekranda ne tür bir parlama görünür. Tanımlama bilgisi daha gerçekçi ışık düzenleri oluşturmak, dramatik yanlış gölgeler oluşturmak ve projektörleri simüle etmek için kullanılabilir.

Üç ana ışık türü yer, nokta, ve yönlü.

Spot ışıklar 3B alanda bir konuma sahip olur ve ışığı değişken açılı bir konide yalnızca bir yönde yansıtır. Bunlar el fenerleri, projektörler için iyidir ve genel olarak size daha hassas bir aydınlatma kontrolü sağlar. Spot ışıklar gölgeler oluşturabilir.

Nokta ışıkları 3B alanda konumlandırın ve her yöne eşit şekilde ışık verin. Nokta ışıkları gölge oluşturmaz.

Yön ışıkları, son olarak, güneş ışığını simüle etmek için kullanılır: ışığı sonsuz bir mesafeden sanki bir yöne yansıtırlar. Yön ışıkları sahnedeki her nesneyi etkiler ve gölge üretebilir.

4.1.6 Parçacık Sistemleri

bir Parçacık sistemi bir GameObject yüzlerce veya binlerce parçacığı aynı anda üretir ve kontrol eder. Parçacıklar, 3B alanda görüntülenen küçük, optimize edilmiş 2B nesnelerdir. Parçacık sistemleri basitleştirilmiş oluşturma ve fizik kullanır, ancak binlerce varlığı kekemeden gerçek zamanlı olarak görüntüleyebilir, bu da onları duman, ateş, yağmur, kıvılcımlar, büyü efektleri ve daha fazlası için ideal hale getirir.

Bu etkileri elde etmek için ayarlayabileceğiniz birçok parametre vardır ve bunlara, altında bir parçacık sistemi oluşturarak erişebilirsiniz. bileşen düzenleyici > parçacık sisteminin seçilmesi > denetçi sekmesini açma. Her parçacığın boyutunu, hızını, yönünü, dönüşünü, rengini ve dokusunu değiştirebilir ve bu parametrelerin çoğunu zamanla değişecek şekilde ayarlayabilirsiniz.

Altında çarpışma özelliğini etkinleştirir ve simülasyon alanını Dünya yağmur, hareketli su ve kıvılcımlar dahil olmak üzere bir dizi gerçekçi parçacık efekti için kullanılabilen dünyadaki nesnelerle çarpışacak parçacıklar elde edersiniz.

5. Örnek: Oyunun Temel Öğeleri

Bu eğitici video için basit bir oyun yapacağız gürültü - daha önce DIY'de birkaç kez ele aldığımız bir şey:

  • Arduino Klasik Pong Arduino Kullanarak Klasik Pong Oyunu Nasıl Yeniden OluşturulurPong, kitle pazarına ulaşan ilk video oyunuydu. Tarihte ilk kez, "video oyunu" kavramı Atari 2600 -... sayesinde aile evine getirildi. Daha fazla oku
  • Arduino OLED Pong OLED Ekranlı Arduino Retro OyunKendi retro oyunlarınızı yazmak için ne kadar çaba harcadığınızı hiç merak ettiniz mi? Pong'un Arduino için kodlaması ne kadar kolay? Daha fazla oku

Bu bölümde, temel öğeleri düzenlemeye devam edeceğiz - komut dosyası öğreticisi daha sonra gelecek.

İlk olarak, Pong oyununu temel bileşenlerine ayıralım. İlk olarak, iki kürek ve bir topa ihtiyacımız var. Top ekran dışında uçar, bu yüzden sıfırlamak için bir mekanizma isteyeceğiz. Ayrıca metnin mevcut puanı görüntülemesini istiyoruz ve size Unity'nin tüm temel öğelerini göstermek için topa vurduğunuzda süslü bir parçacık efekti isteyeceğiz. Tüm oyunun dramatik bir şekilde aydınlatılması gerekecektir.

Bu bir top nesnesi (küre), bir yumurtlayan balık, ile iki kürek sahne parçacık yayıcılar bağlı, bir 3B metin varlığıve bir spot ışık. Bu öğretici için varsayılan fizik malzemesini kullanacağız sıçrama, ile sıçrama birleştirmek ayarlanır çarpmak. İşte on ekran görüntüsünde kurulum şöyle görünüyor:

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 4
Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 5

İlk önce bir küp pervane kürek için.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 6

Uygun şekilde ölçeklendirin, kopyalave bir küre top için kürekler arasında.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 7

Ardından, bir 3DText nesnesi ve ölçek ve durum doğru şekilde yazı Boyutu daha az pikselli görüntü elde etmek için

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 8

Sonra, iki tane oluşturun parçacık sistemleri, istediğiniz özellikleri seçin ve küreklere takın.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 9
Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 10

Sonra, kamerayı yerleştirin ve döndürün böylece sahneyi doğru şekilde çerçeveler. Kamera seçiliyken, sağ alt köşede kameranın görünümünün küçük bir önizlemesini görebilirsiniz.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 11

Bitirmeden önce, topun oyun alanından sıçramasını önlemek için tampon olmak için iki ek küp oluşturmamız gerekiyor. Bunların işaretini kaldırarak onları görünmez yapabiliriz. örgü oluşturucu içinde denetçi sekmesi.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 13
Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 14

Oyuna basarsanız, oyunumuzun temel öğelerini görebilirsiniz. Henüz hiçbir şey yapmayacaklar, ama biz buna ulaşacağız!

Unity ile Bir Oyun Programlama: Başlangıç ​​Kılavuzu birlik programı oyunu 12

Artık bu düzeneği kazandığımıza göre, bir oyun yapmak için bu öğelerin senaryosuna neyin dahil olduğu hakkında konuşacağız.

6. Unity'de Komut Dosyası Oluşturma

Bir nesneye bir komut dosyası ekledikten sonra, nesneye çift tıklayarak müfettiş. Bu açılır MonoDevelop, Unity için varsayılan geliştirme ortamı. Özünde, Monodevelop özellikle programlamaya yönelik optimize edilmiş özelliklere sahip bir metin editörüdür.

Anahtar kelimeler ve yorumlar mavi ve yeşil, ve sayısal değerler ve dizeler kırmızı. Eğer kullandıysanız Eclipse veya diğer IDE'lerde, MonoDevelop çok benzer. Yapabilirsin inşa etmek sözdizimi hatalarını kontrol etmek için komut dosyalarınızı düzenleyicinin içinden yapın:

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 15

Genel olarak, komut dosyanızın Unity ile etkileşime girmesi için, komut dosyasını tutan nesnenin sahip olduğu öğelere başvurmanız gerekir (bu öğelerin bir listesini müfettiş ilgili nesne seçildiğinde işaretleyin). Ardından, istediğiniz değişiklikleri yürürlüğe koymak için yöntemleri çağırabilir veya bu öğelerin her biri için değişkenler ayarlayabilirsiniz.

Nesnedeki bir komut dosyasının farklı bir nesnenin özelliklerini etkilemesini istiyorsanız, boş bir dosya oluşturabilirsiniz. GameObject komut dosyanızdaki değişkeni ve müfettiş sahnedeki başka bir nesneye atamak için.

Bir nesnenin sahip olabileceği öğelerin listesi aşağıdaki gibidir (yukarıdaki örnekte küreklerimizden birinin denetçi görünümünden alınmıştır):

  1. dönüştürmek
  2. Küp (Ağ Filtresi)
  3. Kutu Çarpıştırıcısı
  4. Mesh Oluşturucu

Nesnenin bu yönlerinin her biri bir komut dosyasından etkilenebilir. Sonra, tam olarak nasıl yapacağımıza bakacağız.

6.1 Dönüştürme

Unity'deki GameObject için dönüştürme işlevleri, o nesnenin fiziksel parametrelerini kontrol eder: ölçek, onun durum, ve Onun oryantasyon. Bunlara aşağıdaki gibi bir komut dosyasından erişebilirsiniz:

transform.position = newPositionVector3; transform.rotation = newRotationQuaternion; transform.localScale = newScaleVector3;

Yukarıdaki örneklerde, adlandırılmış değişkenler adlarda belirtilen türlerdir. Burada birkaç önemli ayrıntı var: beklediğiniz gibi konum ve ölçek şu şekilde depolanıyor: Vector3s. Şunlara erişebilirsiniz: X, Y, ve Z her birinin bileşenleri (örneğin, transform.position.y bir nesnenin sıfır düzleminin üzerindeki mesafesini verir).

Ancak, gimbal kilidi, rotasyonlar Kuaterniyonlar (dört bileşenli vektörler). Elle manipüle edilen kuaterniyonlar sezgisel olmadığından, Euler açılarını kullanarak rotasyonları Kuaternion. Euler gibi yöntem:

transform.rotation = Kuaterniyon. Euler (zift, sapma, rulo);

Nesneleri bir yerden başka bir yere düzgün bir şekilde taşımak istiyorsanız, Slerp yararlı quaternions ve vector3s yöntemi. Slerp üç argüman alır - mevcut durum, son durum ve değişim hızı ve verilen hızda aralarında sorunsuz bir şekilde enterpolasyon yapar. Sözdizimi şöyle görünür:

transform.position = Vector3.Slerp (startPositionVector3, newDestinationVector3, 1);

6.2 İşleyici

Unity'deki oluşturucu işlevleri, sahne yüzeylerinin ekranda nasıl oluşturulacağını denetlemenizi sağlar. Dokuyu yeniden atayabilir, rengi değiştirebilir ve nesnenin gölgelendiricisini ve görünürlüğünü değiştirebilirsiniz. Sözdizimi şöyle görünür:

renderer.enabled = yanlış; renderer.material.color = yeni Renk (0, 255, 0); renderer.material.mainTexture = myTexture; renderer.material.shader = newShader;

Bunların çoğunun oldukça açık işlevleri vardır. İlk örnek, söz konusu nesneyi görünmez kılar: birçok durumda yararlı bir numara. İkinci örnek yeni bir RGB rengi (yani, yeşil) söz konusu nesneye. Üçüncüsü ana dağınık dokuyu yeni bir Doku değişkenine atar. Son örnek, nesnenin malzemesinin gölgelendiricisini yeni tanımlanmış bir gölgelendirici değişkenine değiştirir.

6.3 Fizik

Birlik entegre bir fizik motoruyla gelir - fizik sandbox oyunları Smash, Drive & Build: 3 Harika Fizik Sandbox Simülatörü Daha fazla oku tüm kullanım. Bu, nesnelerin fiziksel özelliklerini atamanıza ve simülasyonlarının ayrıntılarının sizin için ele alınmasına izin verir. Genel olarak, bir fizik kitabını ve dönüşüm sistemini kullanarak kendi fiziğinizi uygulamaya çalışmak yerine, Unity'nin fizik motorunu mümkün olduğunca kullanmak daha basit ve sağlamdır.

Tüm fizik sahne donanımı çarpıştırıcılar. Ancak, gerçek simülasyonun kendisi bir sağlam vücuteklenebilir. müfettiş görünüm. Sert cisimler kinematik veya nonkinematic.

Kinematik fizik sahne, çevrelerindeki kinematik olmayan fizik sahne ile çarpışır (ve etki eder), ancak çarpışmadan etkilenmez. Statik kinematik sahne, meşhur taşınmaz nesnelerdir ve hareketli kinematik nesneler atasözü durdurulamaz güç (kayıt için, çarpıştıklarında, her birinden geçerler. diğer).

Bunun ötesinde, nesnenin açısal sürüklenmesini ayarlayabilir (onu döndürmek için ne kadar enerji gerekir), kütlesini değiştirebilir, yer çekiminden etkilenip etkilenmediğini dikte edebilir ve ona kuvvet uygulayabilirsiniz.

Örnekler:

rigidbody.angularDrag = 0.1f; katı gövde. kütle = 100; rigidbody.isKinematic = yanlış; rigidbody.useGravity = doğru; sağlam vücut. AddForce (ileri * 100 dönüşümü);

Bunların hepsi oldukça açıklayıcı. Burada dikkat edilmesi gereken tek şey, transform.forward. Vector3’lerin üç bileşeni vardır (.forward, .up, ve .sağ) bunlarla ilişkilendirilebilir, bunlara erişilebilir ve onlarla birlikte döndürülebilir (ileri editördeki mavi okun yönüdür). transform.forward anahtar kelime sadece 1 büyüklüğündeki geçerli nesnenin ileri vektörüdür. Nesne üzerinde daha fazla kuvvet oluşturmak için bir şamandıra ile çarpılabilir. Ayrıca başvurabilirsiniz transform.up ve transform.rightve tersine dönmelerini sağlamak için onları reddedin.

6.4 Çarpışma

Çoğu zaman, bir oyun oluştururken, kodunuzda sadece fizik simülasyonunun ötesinde bir durum değişikliğine neden olacak bir çarpışma istersiniz. Bunun için bir çarpışma tespit yöntemi.

Unity'deki çarpışmaları tespit etmek için belirli miktarda hazırlık çalışması gerekir. İlk olarak, çarpışmadaki nesnelerden en az birinin kinematik olmayan katı gövde ona bağlı. Her iki nesnenin de tetikleyici olmayacak şekilde ayarlanmış doğru çarpıştırıcıları olmalıdır. Her iki nesnenin toplam hızı, sadece birbirlerini atlamak yerine, çarpıştıkları kadar düşük olmalıdır.

Tüm bunlara sahipseniz, çarpışmayı kontrol etmek istediğiniz nesneye bağlı bir komut dosyasına özel bir çarpışma algılama yöntemi yerleştirerek çarpışmayı kontrol edebilirsiniz. Yöntem şöyle görünecektir:

void OnCollisionEnter (Diğer çarpışma) {// burada bir şeyler yapın. }

Bu yöntem, ilk karede başka bir nesnenin nesnenize dokunduğu otomatik olarak çalışır. Çarpışma varlığı diğer vurduğunuz nesneye bir referanstır. Örneğin, GameObject, sağlam vücut, ve dönüştürmek çeşitli şekillerde manipüle etmek için özellikler. Süre OnCollisionEnter muhtemelen kullanacağınız en yaygın işlevdir, ayrıca OnCollisionExit ve OnCollisionStay (bir başka deyişle özdeş sözdizimi ve kullanımla), bir nesneyle çarpışmayı bıraktığınız ilk kare sırasında ve bir nesneyle çarpıştığınız her kare sırasında etkinleştirilir.

Bazen, adı verilen şeyi yapmak da yararlı olabilir Ray dökümü. Yeniden yayınlamada, sonsuz ince bir çizgi (a ışın) dünyaya bir kökenden, bir vektör boyunca dökülür ve bir şeye çarptığında, ilk çarpışmanın konumu ve diğer ayrıntıları döndürülür. Bir raycast kodu şöyle görünür:

Işın vur; eğer (Fizik. Raycast (transform.position, -Vector3.up, dışarı vuruş)) {float distanceToGround = hit.distance; }

Bu, geçerli nesnenin konumundan -Vector3.up (düz aşağı) boyunca bir ışın yayınlar ve değişkeni bağlar isabet çarpıştığı ilk nesneye. Işınınız bir şeye çarptığında, hit.distance ne kadar uzakta olduğunu belirlemek için, veya çarptı. GameObject vurduğunuz nesneyi manipüle etmek için.

Bunun gibi ışınlar, atıcıların silahın neye işaret ettiğini belirlemek için veya kamera onlara baktığında nesneleri seçmek için veya belirli hareket mekaniği stilleri için kullanılabilir.

6.5 Zaman Düzeltme

Nesneleri bu şekilde manipüle ederken akılda tutulması gereken önemli bir faktör, kare hızı. Ne kadar dikkatli bir şekilde optimize ederseniz edin, kare hızları her zaman değişir ve oyun hızınızın buna göre değişmesini istemezsiniz. Oyununuzu geliştirdiğinizden daha hızlı bir bilgisayarda başka biri çalıştırırsa, oyunun çift hızda çalışmasını istemezsiniz.

Bunu düzeltmenin yolu, kullandığınız değerleri son kareyi oluşturmak için gereken süre ile çarpmaktır. Bu kullanılarak yapılır Time.deltaTime. Bu, her kareyi artırdığınız değişkenlerin hızını etkili bir şekilde değiştirir. kare başına değişiklik için saniyede değişimve muhtemelen bu değişikliği her kareyi artırdığınız veya azalttığınız herhangi bir değerde yapmanız gerekir.

6.6 Ses Kaynakları ve Dinleyiciler

Artık nesneleri nasıl oluşturacağımızı, oluşturduğumuzu ve kontrol edeceğimizi ele aldığımıza göre, bilgisayar oyunlarının sunabileceği diğer anlamdan bahsedelim: ses. Unity iki tür sesi destekler: 2D ve 3 boyutlu sesler. 3D sesler ses seviyelerini mesafeye göre değiştirir ve kameraya göre hareket ettikçe bozulur; 2D sesler duyulmaz.

2B sesler, seslendirme ve arka plan müziği için uygundur ve 3B sesler dünyadaki olayların oluşturduğu sesler için geçerlidir. Bir sesin 3D olup olmadığını değiştirmek için ses proje görünümü, müfettiş açılır menüden uygun seçeneği görüntüleyip seçin, ardından Yeniden İçeri Aktar buton.

Sesi gerçekten çalmak için bir ses ses kaynağı bir pervane (bir 3D ses durumunda sesin kaynağını olmasını istediğiniz pervane). Ardından, Ses klibi alanına gidin ve ses dosyanızı seçin.

Kullanabilirsiniz myAudioSource. Duraklat() ve myAudioSource. Oyna() ses dosyalarını kontrol etmek için. Seslerin düşme davranışlarını, ses seviyesini ve doppler kaymasını müfettiş ses kaynağı sekmesi.

6.7 Giriş

Kullanıcıdan herhangi bir girdi almayan bir oyun çok fazla bir oyun değildir. Okuyabileceğiniz birçok farklı girdi türü vardır ve neredeyse hepsine Giriş ve Anahtar kod itiraz ediyor. Bazı örnek girdi deyimleri (her karede değerlendirilen değerleri olan) aşağıdadır.

Vector3 mousePos = Input.mousePosition; bool isLeftClicking = Giriş. GetMouseButton (0); bool isPressingSpace = Giriş. GetKey (KeyCode. Uzay);

Bu çizgilerin işlevleri çoğunlukla açıklayıcıdır. Bu üç tür giriş referansını kullanarak, çoğu modern 3D bilgisayar oyununun kontrol şemalarını yeniden yapılandırabilirsiniz.

6.8 Komut Dosyasında Hata Ayıklama

Bir komut dosyasının çalışmadığını varsayalım. İyi doktorun dediği gibi, patlama ve takılmalar başınıza gelebilir. C #'ınızla açık sözdizimi hataları varsa, oyun genel olarak oynatmayı vurduğunuzda çalışmayı reddeder ve bazı oldukça yararlı hata mesajları verilirse inşa etmek editörün içinden komut dosyaları. Aşağıya bakınız:

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 16

Bu hataların düzeltilmesi genellikle en zor olanı değildir. Daha sorunlu olan, geçerli C # ile dolu bir dosyayı başarıyla yazdığınız ince semantik hatalardır - sadece düşündüğünüzü yapan bir dosya değil. Bu hatalardan birine sahipseniz ve bunu izlemekte sorun yaşıyorsanız, durumu iyileştirmeye çalışabileceğiniz birkaç şey vardır.

Birincisi, oyunun yürütülmesini duraklatmak ve konsolu kontrol etmektir. Oyuna tıklayarak oyunu duraklatabilirsiniz. Duraklat simgesine dokunun ve ardından konsol altından pencere menüsü (veya Ctrl > Vardiya > C). Hata olmasa bile, uyarılar yine de neyin yanlış gidebileceğine dair bazı ipuçları vermeye yardımcı olabilir.

Bu işe yaramazsa, programın yaptıklarını düşündüğünüzü yaptığını doğrulamak için iç değişkenlerin durumunu yazdırarak komut dosyanızın durumu hakkında bir fikir edinmeyi de deneyebilirsiniz. Kullanabilirsiniz Hata ayıklama. Günlük (Dize) yürütme bu satıra geldiğinde bir dizenin içeriğini konsola yazdırmak için. Genel olarak, olması gerektiğini düşündüğünüz şeylerden geriye doğru çalışırsanız, sonuçta, hata ayıklama baskılarınızın beklediğiniz şeyi yapmadığı bir noktaya ulaşacaksınız yapmak. İşte hata burada.

7. Scripting Pong ile doğrudan iletişime geçin

Pong'u inşa etmek için, oyunu çekirdek unsurlarına ayıralım: artan kürekler arasında ileri geri seken bir topa ihtiyacımız var hızda, topların kürekleri ne zaman geçtiğini bilen bir skor tablosuna ihtiyacımız var ve bu durumda topu yeniden başlatmak için bir mekanizmaya ihtiyacımız var olur. İyi bir ilk adım topa kinematik olmayan bir rijit gövde, iki kinematik rijit gövde kürekler, hepsi için yerçekimini devre dışı bırakın ve standart varlıklardan uygun bir fizik malzeme atayın (sıçrama ile sıçrama birleştirmek ayarlanır çarpmak).

Aşağıda, açıklayıcı yorumlarla topun senaryosunu görüntüleyebilirsiniz. Topun bazı temel hedeflere ulaşması gerekir: karmaşık bir şekilde zıplamalıdır, her zaman Her iki eksende de hareket ve yatayda zorlayıcı ama imkansız olmayan bir hızda hızlanmalı Yön.

BallHandler.cs

Daha sonra, aşağıda görüntüleyebileceğiniz kürekimizi yazmamız gerekiyor. Kanatlı çark tuş vuruşlarına tepki olarak yukarı ve aşağı hareket etmelidir (ancak belirli sınırların dışında değil). Ayrıca, bir şeyle çarpıştığında parçacık sistemini tetiklemesi gerekir.

PaddleHandler.cs

Daha sonra, düşman AI'ya ihtiyacımız var: düşmanın kürekinin topa doğru sabit bir hızda gitmesine neden olacak bir şey. Bunun için maksimum sadelik için Vector3.Slerp'i kullanacağız. Kendi kürekimizde gördüğümüz parçacık davranışını da istiyoruz.

EnemyAI.cs

Son olarak, skor tahtasını güncellemek ve sınırların dışına çıktığında topu sıfırlamak için bir komut dosyasına ihtiyacımız var.

ScoreboardUpdater.cs

Bu komut dosyaları eklendikten ve referanslar doldurulduğunda, Pong oyunumuzu çalıştırdığımızda oyun deneyimi yaşarız!

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 18

Yapabilirsin Pong demomu indir, eylemde özetlediğim her şeyi görmek istiyorsanız. Windows, Mac ve Linux sistemlerinde çalışır.

8. Belgeleri Keşfetme / Öğrenme Daha Fazla Bilgi

Unity, bu tarz bir rehberde mümkün olandan daha fazla özellik içeren karmaşık bir motordur, ve bu, sitenizde bulunan (ücretsiz ve ticari) Birlik uzantılarının geniş yelpazesini eklemeden önceki internet. Bu rehber size bir oyun geliştirmek için güçlü bir başlangıç ​​noktası verecektir, ancak kendi kendine eğitim herhangi bir çabada önemli bir beceridir ve burada iki katına çıkar.

Burada çok önemli bir kaynak Unity ScriptReference. ScriptReference, C # ve Javascript için kullanılabilen ve bir listeye sahip aranabilir bir veritabanıdır Her Unity komutu ve özelliğinin, işlevlerinin açıklamaları ve sözdizimi.

Unity'nin editörü ve arayüzü ile sorun yaşıyorsanız veya tercih ettiğiniz gibi video eğiticileri gibi, yüksek kaliteli uzun bir liste var Unity video eğitimleri Yeni Başlayanlar İçin En İyi Birlik 3D EğiticileriUnity ile oyun geliştirmek ister, ancak nereden başlayacağınızı bilmiyor musunuz? Bugün bu harika Unity 3D öğreticilerinden birini deneyin. Daha fazla oku mevcut. Daha kapsamlı (ancak daha az geniş) Unity için metin eğiticileri CatLikeCoding'den de edinilebilir.

Son olarak, belgelerin veya öğreticilerin kapsamı dışında sorularınız varsa, adresinden özel sorular sorabilirsiniz. Yanıtlar. Unity3d.com. Yanıtların gönüllüler tarafından sağlandığını unutmayın; bu nedenle, sorunuzun daha önce yanıtlanmadığından emin olmak için zamanlarına saygı gösterin ve veritabanında arama yapın.

9. Oyununuzu Oluşturma / Bağımsız Bir Uygulamaya Derleme

Gurur duyduğunuz bir şey oluşturduğunuzda (veya pratik olarak biraz tehlikeli Pong örneğimizi klonlamayı bitirdiğinizde), oyununuzu editörden taşıyın ve internette yayınlayabileceğiniz bir şeye dönüştürün ve arkadaşlarınızı ve ailenizi Oyna. Bunu yapmak için bağımsız bir uygulama oluşturmanız gerekir. İyi haber şu ki Unity'de bu çok, çok kolay. Bununla birlikte, dikkatli olmak isteyeceğiniz birkaç potansiyel hıçkırık vardır.

Yeni başlayanlar için yalnızca hatasız bir proje oluşturabileceğinizi bilin. Bu amaçla, konsolu oluştururken açık olduğunuzdan emin olun: oyunun editörde görmezden geleceği, ancak yine de denemeyi deneyen bazı hata durumları vardır. Bu sadece hata mesajlarını konsola boşaltır, ekranda hiçbir görünür sonuç olmaz ve kontrol etmeyi unutursanız sinir bozucu olabilir. Yine de, oyununuzu hatasız derledikten sonra, Derleme Ayarları altında Dosya menüsüne basın veya Ctrl > Vardiya
> B. Bu, oyununuzu birkaç platform için oluşturmanıza izin veren basit bir iletişim kutusu getirecektir.

Unity ile Bir Oyun Programlama: Bir Başlangıç ​​Kılavuzu birlik programı oyunu 17

Oradan süreç kendini açıklayıcıdır: seçeneklerinizi seçin ve inşa etmek; oyun sizden bir dizinin yüklenmesini ister ve hem yürütülebilir hem de veri dizinini oraya yerleştirir. Bu iki dosya birlikte sıkıştırılabilir ve dağıtılabilir (yalnızca hizmet şartlarını ihlal ettiği için Unity demosunda yerleşik bir oyun için ücret almadığınızdan emin olun).

10. Kapanış Notları

Herhangi bir oyun geliştirme aracında olduğu gibi, Unity ile başarının anahtarı yinelemeli geliştirmedir. Yönetilebilir artışlar inşa etmelisiniz - iddialı ol, elbette, ama küçük parçalar halinde iddialı ol ve bu parçalar, en büyük tutkunuzdan daha az düşseniz bile, en azından tutarlı bir şekilde sarılırsınız ürün.

Öncelikle en önemli unsurları alın: Minimum olarak uygulanabilir bir ürün, yaratabileceğiniz ve hala değerli bir şey elde etmişsiniz gibi hissedebileceğiniz en basit, en çıplak kemikli şey. Daha büyük hedeflere geçmeden önce bu minimum uygulanabilir projeye ulaşın.

Bu eğitici size güçlü bir başlangıç ​​noktası sağlar, ancak Unity'yi öğrenmenin en iyi yolu bir oyun oluşturmaktır. Bir oyun oluşturmaya başlayın, ortaya çıktıkça bilginizdeki boşlukları doldurun ve kademeli bilgi akışı, bilmediğiniz şeyleri şaşırtıcı bir şekilde hızla aşındıracaktır.

Tüm bunları okuduysanız ve Unity için gereken kodlamadan biraz bunalmışsanız, nasıl yapılacağını kontrol ettiğinizden emin olun. Unity ile oyun geliştirmeyi öğren Unity Learn, Oyun Geliştirmede Ustalaşmanın En Kolay YoluKendi oyunlarınızı geliştirmeye başlamak ister misiniz? Unity Learn, bilmeniz gerekeni öğrenmenin ve öğrenmenin en iyi ve en kolay yoludur. Daha fazla oku ve ayrıca herhangi bir programlama olmadan video oyunları nasıl yapılır Herhangi Bir Programlama Yapmadan Video Oyunları Nasıl YapılırBir video oyunu yapmak istiyor ancak kod yazamıyor musunuz? Daha sonra herhangi bir kodlama gerektirmeden oyun kurmanıza izin veren bir video oyunu yapım kiti kullanın! Daha fazla oku .

Birlik güçlü bir araçtır ve biraz keşifle, beklenenden daha hızlı etkileyici projeler oluşturabilirsiniz. Aşağıdaki yorumlarda neler yaptığınızı bize bildirin - görmek isteriz!

Güneybatı'da yaşayan bir yazar ve gazeteci olan Andre, 50 dereceye kadar işlevsel kalmayı garanti ediyor ve on iki feet derinliğe kadar su geçirmez.