‫Tekrar hoş geldiniz.
‫Bu bölümde, bir fruit ninja klonu inşa edeceğiz ve eğer bilmiyorsanız fruit ninja oyununu biliyor olabilirsiniz.
‫Ve bazı YouTube videolarına göz atın.
‫Bazı meyveleri dilimlemeniz gereken çok basit bir oyundur ve bunu basitçe bir kaydırma ile yaparsınız ve sonra onları dilimlersiniz,
‫düşerler ve bazı puanlar alırsınız ve amacınız mümkün olduğunca çok puan almaktır.
‫Elbette sizi puan kazanmaktan alıkoyan bir şey var ve o da bombalar.
‫Yani bir bombayı kestiğiniz anda oyunu kaybedersiniz.
‫Tamam.
‫Yani hepsi bu kadar.
‫Bundan daha fazlası yok.
‫Ve bu bölümde bu temel işlevleri oluşturacağız.
‫Şimdi devam edelim ve yeni bir proje oluşturalım ve buna Fruit Ninja klonu adını verelim ve projeyi oluşturalım.
‫Benim durumumda, ben buna V 1 diyorum.
‫Bunu yapmak zorunda değilsin.
‫Bunun nedeni de projemin altında bir yerde zaten bir klonumun olması.
‫Pekala, işte buradayız.
‫Devam edelim ve öncelikle kameramızın arka planını değiştirelim.
‫Bu yüzden gökyüzü kutusu istemiyorum.
‫Sadece düz bir renk kullanacağım ve bu rengi şu şekilde değiştireceğim.
‫Devam edelim ve bir renk seçelim.
‫Ve kahverengimsi bir renk seçelim.
‫Açık kahverenginin neredeyse harika olduğu yerde.
‫Yani başlangıç noktamız bu.
‫Ve şimdi elimizdeki varlıkları içe aktaralım çünkü bu derse ekli olarak indirebileceğiniz
‫bazı varlıklar var ve devam edip hepsini oyunumuza sürükleyelim.
‫Yani muz kesimi, muz karışımı bombası, portakal kesimi, portakal karışımı var.
‫Blender dosyaları olan tüm bu blend dosyalarını oyunumuza sürükleyelim.
‫Tamam.
‫Şimdi, gördüğünüz gibi, varlıklar bizim için doğrudan oluşturuldu ve malzemeler de öyle.
‫Bunlar için model adını vereceğim bir klasör oluşturarak başlayalım ve hepsini buraya sürükleyelim.
‫Malzemeler bile.
‫O zaman hepsini buraya sürükleyelim.
‫Tamam.
‫Öncelikle portakalla başlayalım.
‫Bunu oyunumuza dahil edelim.
‫Gördüğünüz gibi, bu turuncu ve bu kadar büyük olacak.
‫Bu yüzden belki de boyutunu küçültmek iyi bir seçim olabilir.
‫Burada, modele gidin ve ölçek faktörünü 0 olarak değiştirin. 3 ve ardından en alttaki uygula düğmesine basın.
‫Şimdi görebileceğiniz gibi, çok daha küçük ve bu çok daha iyi bir boyut olacak.
‫Yoksa çok büyük olur.
‫Şimdi aynı şeyi kesilmiş portakalımızla ya da kesilmiş 0 portakalımızla yapalım. 3 ve ardından uygula düğmesine basın.
‫Şimdi turuncu kesimi de buraya, aslında buraya sürükleyelim.
‫Şimdi bunun ne anlama geldiğini merak edebilirsiniz.
‫Bir versiyonumuz var, o da kesilmemiş portakalın tamamı, bir de kesilmiş
‫versiyon var, o da portakalı kestiğimiz ya da içinden geçtiğimiz anda oluşacak olan versiyon.
‫Ve iki parça.
‫Dolayısıyla, daha sonra farklı yönlere düşecek olan iki parça içerir.
‫Böylece portakal dilimleme ya da genel olarak bir meyveyi dilimleme hissine kapılacağız.
‫Tamam.
‫O halde turuncu kesimden tekrar kurtulalım, çünkü bu sadece gösterim amaçlıydı.
‫O zaman buradaki turuncu kesiği silelim.
‫Gördüğünüz gibi turuncunun zaten bir animatörü var.
‫Yine de bir kontrolörü yok ve şimdilik buna ihtiyacımız olmayacak.
‫O zaman ondan kurtulalım.
‫Bileşeni çıkarın.
‫Şimdi sadece örgü filtresi dönüştürme bileşenini işleyen bir ağımız var.
‫Ve katı gövdeye bir fizik eklememiz gerekecek.
‫Şimdi neden 3D değil de 2D fizik cismi diye merak edebilirsiniz.
‫Çünkü bu turuncunun sadece iki boyutlu bir odaya taşınmasını istiyorum.
‫Bu yüzden yukarıya, sola, sağa hareket etmemelidir.
‫Ancak derin bir seviyeye inmemelidir, bu yüzden 3D seviyesine inmemelidir.
‫Bu nedenle Sert Gövde 2D bizim için doğru sert gövdedir.
‫Şimdi bir fizik 2D daire çarpıştırıcısı olan başka bir bileşen ekleyelim çünkü tahmin edebileceğiniz gibi portakalımız
‫bir daire şeklindedir.
‫Şimdi görebileceğiniz gibi, bu 2D çarpıştırıcı olacak.
‫Hatta 2D odaya gidersek daha iyi görebilirsiniz.
‫Şimdi, turuncumuzu çevreleyen yeşil küçük çizgiyi görüyorsunuz, bu Daire Çarpıştırıcısı olacak.
‫Şimdi çarpıştırıcının yarıçapını burada bulabilirsiniz ve bunu değiştirebilirsiniz.
‫Burada görebileceğiniz gibi, büyütmek veya küçültmek.
‫Oyunu daha kolay hale getirmek istiyorsanız, daha büyük hale getirirsiniz ya da genel olarak tüm modeli büyütebilirsiniz.
‫Ama 0. 3 bizim için doğru yarıçap.
‫Artık bu ofsetten bile kurtulabiliriz çünkü çok azdı.
‫Bu sadece birlikten doğan bir şey.
‫Birlik bazen yapar.
‫Pekala, şimdi sert gövde tamam.
‫Bir kitleye ihtiyacımız olacak.
‫Bir yerçekimi ölçeğine ihtiyacımız olacak.
‫Ancak burada değiştirmemiz gereken şey çarpışma algılamasıdır.
‫Bu çoğu oyunda iyidir, ancak biz süper hızlı olmasını istiyoruz.
‫Bu yüzden burada çok hızlı bir tespit yapmak istiyoruz.
‫Çarpışma algılama, bu yüzden sürekli bizim için daha iyi bir seçim çünkü portakalı dilimlediğimiz çok hızlı
‫bir oyun ve çok hızlı tepki vermesi gerekiyor.
‫Şimdi bu portakalı bir prefabrik olarak kaydedelim.
‫Şimdi yeni bir prefab klasörü, prefab klasörü oluşturalım ve turuncuyu buraya sürükleyelim.
‫Hazır başlamışken sahneyi de kaydedelim.
‫Sahneleri kaydedin ve buna ana sahne diyelim.
‫Daha sonra bir script klasörüne ihtiyacımız olacak çünkü script ile çalışacağız.
‫O halde bunu da bir komut dosyası olarak oluşturalım ve oraya gidip yeni bir komut dosyası oluşturalım.
‫Kesin olmak için keskin bir yazı görüyorum ve buna meyve diyorum.
‫Şimdi açalım.
‫Pekala, buraya.
‫Yapmak istediğimiz şey dilimlenmiş bir meyve yaratmak.
‫Bu yüzden dilimlenmiş bir meyveye ihtiyacımız olacak.
‫Bunun için prefabrik, yani portakalımızı keser kesmez portakal parçalarına sahip olmak istiyoruz.
‫Böylece portakalımızın iki parçası farklı yönlere doğru düşecektir.
‫Bu da burada kurmamız gereken bir şey.
‫Ve bu sadece portakal için değil, çalışacağımız tüm meyveler için geçerli.
‫Dilimlenmiş meyve prefab'ı adında genel bir oyun nesnesi oluşturalım çünkü dilimlenmiş meyvenin prefab'ına ihtiyacımız olacak,
‫örneğin dilimlenmiş portakal, ve sonra meyveyi dilimleyen bir metoda ihtiyacımız olacak.
‫Bu yüzden buna dilimlenmiş meyve yaratma diyeceğim.
‫Yapmak istediğim şey basitçe dilimlenmiş meyveyi örneklemek.
‫Evet.
‫Dilimlenmiş meyve.
‫Prefabrik.
‫Hangi pozisyonda?
‫Portakallarımızla aynı konumda.
‫Ve sonra rotasyonu dönüştürün.
‫Yani şu anda sahip olduğumuz rotasyonun aynısı.
‫Yapmamız gereken bir sonraki şey, elbette tüm portakalı yok etmek.
‫Yani oyun nesnemiz, meyve komut dosyasını içeren veya meyve komut dosyasını tutan oyun nesnesidir.
‫Tamam.
‫Şimdi tekrar unity'ye girelim çünkü henüz prefabriğimiz yok, bu yüzden henüz dilimlenmiş prefabriğimiz yok.
‫Tabii ki, elimizde sadece turuncu prefabrik var.
‫Şimdi modelimize geri dönelim ve turuncu kesimi tekrar oyunumuza sürükleyelim.
‫Şimdi, turuncu kesim burada görebileceğiniz gibi iki farklı nesneden oluşmaktadır.
‫Bu sadece turuncu kesim solumuzu ve turuncu kesim sağımızı içeren bir klasördür.
‫Yani portakalın iki parçası var.
‫Bu dilimlenmiş meyve oluşturma yöntemi çağrılır çağrılmaz farklı yönlere uçmalarını istiyoruz.
‫O zaman devam edelim ve bunu yapalım.
‫Bu iki kesilmiş parçayı seçelim ve bir bileşen ekleyelim.
‫Ve şimdi bir katı gövde ekleyeceğiz, katı gövde değil, 2D, çünkü onları sadece yana doğru katlamak istemiyoruz,
‫aynı zamanda hafifçe dönmelerini de istiyoruz.
‫Bu yüzden biraz daha gerçekçi görünüyor çünkü meyveler her zaman her tarafa mükemmel bir şekilde düşmeyecek.
‫Ayrıca biraz dönecektir.
‫Bu da katı cisim 3D ile yapmamız gereken bir şey.
‫Şimdi, çarpışma tespitiyle ilgili olarak, bunu ayrık olarak bırakabiliriz çünkü bu parçalar çarpışma tespiti
‫açısından o kadar önemli olmayacaktır.
‫Tekrar dilimlenmelerini istemiyoruz ama yine de bir fiziğe ihtiyacımız var.
‫Kutu.
‫Çarpıştırıcı Bu durumda, şimdi burada bir kutu çarpıştırıcı kullanacağız, elbette, katı cismimiz 3B bir nesne olduğu için DD'ye
‫bir kutu çarpıştırıcı değil, bir kutu çarpıştırıcı kullanacağız.
‫Şimdi bunu elde ettiğimize göre, bunları prefabs klasörümüze sürükleyelim.
‫Turuncu kesimi bir prefabrik olarak prefabrik klasörümüze sürükleyelim çünkü her iki parçaya da sahip olmak istiyoruz
‫ve bir prefabrik olmasını istiyoruz.
‫Pekâlâ, artık turuncu kesimden kurtulabiliriz.
‫Onu buradan sil.
‫Sahnemizi de kaydedelim.
‫Şimdi bu turuncu ve prefabrik gibi turuncuların her ikisinin de az önce oluşturduğumuz komut dosyasına sahip olması gerekiyor.
‫Şimdi bileşeni ekleyelim.
‫Meyve adlı betiği ekleyelim.
‫Şimdi, elbette, burada dilimlenmiş bir meyve prefabrikine ihtiyacımız olacağını görüyorsunuz.
‫Ve mükemmel çünkü portakal kesimi dilimlenmiş bir meyve prefabrikidir.
‫Şimdi bunu buraya sürükleyelim ve prefabrik turuncumuza uygulayalım.
‫Aksi takdirde senaryo olmayacaktır.
‫Prefabrikte gerçekten önemli bir komut dosyası olduğunu görebilirsiniz.
‫Pekâlâ, şimdi bu işi bitirelim.
‫Bunu gerçekleştirmeye çalışalım.
‫Şimdi dilimlenmiş bir meyve oluşturmaya çalışalım ve kullanıcı girişi için güncelleme yöntemini kullanabiliriz.
‫Yani giriş noktası tuşu aşağı alırsa.
‫Yani kullanıcı bir tuşa basar basmaz ve sadece tuş kodu boşluğu yapalım.
‫Birisi boşluk tuşuna basar basmaz, bu dilimlenmiş meyve oluşturma yöntemini çağıralım.
‫Pekala, o zaman bu betiği kaydedelim.
‫Unity'ye geri dönelim.
‫Ve şimdi hiyerarşimizde bir portakal olması önemli, çünkü aksi takdirde henüz hiç
‫yumurtlamadığımız için bunu test edecek portakalımız yok.
‫Bu yüzden meyveleri ortaya çıkaracak ve onları dilimleyebilmemiz için havaya fırlatacak anahtarlar yaratacağız.
‫Ama şu anda henüz buna sahip değiliz.
‫Öyleyse oyunumuzda bir portakal olduğundan emin olalım ve şimdi oyuna başlayalım.
‫Aslında çok yavaştım, o yüzden biraz hızlandıralım.
‫2D odasına gidelim ve onu yukarı çekelim.
‫Bu yüzden yeterince zamanım var ve hadi oyunu en üst düzeye çıkaralım.
‫Ve basın, anahtar.
‫Gördüğünüz gibi, dilimlenmiş meyveler oradaydı ve hepsi de iyiydi.
‫Ama tabii ki pek hoş görünmüyor.
‫Bir şekilde dönmeli veya farklı yönlere doğru hareket etmelidir.
‫Dilimlenmiş meyve oluşturmamızda elde edebileceğimiz şey de budur çünkü buraya bir patlama yapan sert bir gövde
‫eklememiz gerekir.
‫Bunu yapabilmek için de şunları yapmamız gerekiyor.
‫O halde sert bir gövde oluşturalım.
‫Ve bu durumda, bir katı cisim dizisine ihtiyacımız var çünkü konuştuğumuz iki katı cisim
‫var.
‫Sol dilimlenmiş parçanın ve sağ dilimlenmiş parçanınkine
‫RB'ler veya dilimlenmiş katı cisimler diyeceğim.
‫Ve bunu başlatmak için, başlatmak için oyun nesnesine ihtiyacımız var.
‫Öyleyse bir oyun nesnesi oluşturalım ve buna instance of diyelim.
‫Şimdi instantiate yönteminin önüne bir oyun nesnesi alması gerekir, böylece bu artık yalnızca oyun nesnesini
‫örneklemekle kalmayacak, aynı zamanda Inst içine kaydedilen bir oyun nesnesi de oluşturacaktır.
‫Şimdi bu inst'yi kullanarak devam edebilir ve get component bileşenini çocuklarda ve burada katı gövdeye dönüştürebiliriz.
‫Bu yüzden dilimlenmiş iki parçanın her birinin sert gövdesine sahip olmak istiyorum.
‫Ve burada şikayet ediyor çünkü çocuklarda bir bileşen değil, çocuklarda bileşenler, çünkü
‫burada bir dizi katı cisim var.
‫Yani çoğul.
‫Şimdi elimizdeki tüm farklı parçaların üzerinden geçelim.
‫Yani tüm bu farklı dilimlenmiş portakal parçaları ve RB adı verilen sert gövdeyi dilimlenmiş olarak alın.
‫Buradaki dizinin içinden geçiyoruz ve her bir parça için dönüşüm rotasyonunu rastgele bir rotasyonla değiştiriyoruz.
‫Bu yüzden sadece rastgele bir satır katsayısı oluşturuyoruz.
‫Ve bu çok güzel çünkü random metodunun rotation adında bir özelliği olduğunu görüyorsunuz, bu da bize rastgele
‫bir rotasyon verecek.
‫Burada rastgele dönüşler yapmak için bir yöntem yazmamıza bile gerek yok.
‫Bu yüzden rastgele sınıf ile oldukça havalı.
‫Şimdi, bir patlama eklemek istiyoruz, böylece parçalar farklı yönlere gidecek ve farklı yönlere
‫doğru patlayacaklar.
‫Burada görebileceğiniz gibi, katı cismimizin birkaç ekleme yöntemi vardır: kuvvet ekle, göreli kuvvet ekle,
‫patlama kuvveti ekle.
‫Tamam.
‫Bu tam da bizim sahip olmak istediğimiz şey.
‫O zaman bunu kullanalım.
‫Gördüğünüz gibi, birden fazla aşırı yükleme var ve biz bunu burada sadece bir patlama kuvvetiyle kullanacağız.
‫O zaman patlama kuvveti ne kadar güçlü olmalı?
‫Patlama pozisyonu mu?
‫Yani patlamanın başlaması gereken pozisyon.
‫Ve son olarak patlama yarıçapı ve patlama kuvveti değeri rastgele olmalıdır.
‫Her zaman aynı türden bir patlama olmamalı.
‫Her zaman aynı görünmemelidir.
‫Yani bazen daha uzağa uçmalı, bazen daha az uzağa, vb.
‫O halde rastgele bir düşünce aralığı oluşturalım.
‫Burada kullanmak istediğim iki değer 501.000'dir.
‫Bu yüzden rastgele olması gereken 501.000 arasında bir patlama gücüne sahip olmak istiyorum.
‫Daha sonra patlama pozisyonu bu pozisyona dönüştürülmelidir.
‫Yani patladığımız oyun nesnesinin konumu.
‫Yani bu durumda portakalımız, yani portakalımızın merkezi.
‫Ve son olarak patlama yarıçapı ne olmalıdır?
‫Ve ben sadece beş tane gireceğim.
‫Bu sadece test ettiğim ve burada iyi çalışan değerdir.
‫Şimdi beş F kullanalım, bunu tekrar kaydedelim ve Unity'ye geri dönelim ve şimdi tuşa basalım.
‫Ve gördüğünüz gibi, meyvelerimiz oldukça güzel düşüyor.
‫Şimdi, turuncuyu çoğaltırsak ve her turuncunun yerini biraz değiştirirsek.
‫Öyleyse buradaki değerleri değiştirelim.
‫O zaman küçük patlamamızın ne kadar havalı göründüğünü göreceksiniz.
‫Tamam.
‫Ve son olarak, bu da burada.
‫Şimdi oyuna tekrar başlayalım.
‫Ve dönüşün rastgele olduğunu ve patlamanın kendisinin de rastgele olduğunu görebilirsiniz.
‫Böylece farklı yönlere, farklı güçlere ve benzerlerine doğru uçarlar.
‫Bence bu şimdiden oldukça havalı görünüyor.
‫Gördüğünüz gibi harika patlamalar yapıyoruz ve evet, bunun bu video için iyi olduğunu düşünüyorum.
‫Ve bir sonraki videoda bu meyveleri nasıl ortaya çıkaracağımızı kontrol edeceğiz çünkü şimdi onları sahnemize sürüklememiz
‫gerekiyor ve bu en iyi çözüm değil.
‫O halde sahneyi her zamanki gibi kaydedelim.
‫Sahneyi kaydetmeyi unutmayın ve bir sonraki videoda görüşmek üzere.