‫Merhaba ve hoş geldiniz.
‫Bu derste hem dönen hem de hareketli platformlar yapacağız.
‫Bunu C++'daki F rotator tipini öğrenerek yapacağız, böylece bulmacamıza biraz
‫daha başka bir unsur ekleyebileceğiz.
‫Hadi içeri dalalım ve bunun nasıl çalıştığını öğrenelim.
‫Şimdi rotate platform fonksiyonumuzu doldurmaktan bahsedelim.
‫Yani rotasyon yapmak için, konum belirleme yöntemimize çok benziyor ve çok benzer işlevlerimiz
‫var.
‫Aktör konumunu al çağrısı yerine, aktör rotasyonunu al çağrısı yapabiliriz.
‫Bu satırın sonuna parantez koyar ve fonksiyonun üzerine gelirsem, Visual Studio
‫IntelliSense bize bunun dönüş değerinin bir F döndürücü olduğunu gösterecektir.
‫Konumlarla çalışırken F vektörünü kullandık ve önceki bölümlerde döndürücülerden bahsettik.
‫Şimdi bu F döndürücüyü yerel bir değişkene yerleştirmeye bakalım.
‫Bu yüzden tür F rotator olacak ve bunu get actor rotation'a eşit olan mevcut rotasyon olarak adlandıracağız, satırın
‫sonuna noktalı virgül koyacağız.
‫Ayrıca günlük ifadesini de sileceğim çünkü artık buna ihtiyacımız yok.
‫Ve sonra yapmak istediğimiz şey, esasen platform hızıyla yaptığımızla tamamen
‫aynıdır; bu, mevcut dönüşe eklenen delta zamanı ile çarpılan bir tür dönme hızıdır.
‫Peki bu dönüş hızı ne olmalıdır?
‫İşte bu noktada başlık dosyasına gidip yeni bir U özelliği eklemek istiyoruz.
‫Bu yüzden onu hareket mesafesinin altına ekleyeceğim ve herhangi bir yerde bir U özelliği düzenleyeceğim ve sonra ona
‫bu sefer rotasyon olarak adlandıracağım ve kategori adını her iki durumda da hareketli
‫platformdan hareketli olarak değiştireceğim.
‫Bu yüzden hareket için bir kategorimiz, rotasyon için bir kategorimiz olacak.
‫Daha sonra özelliğin altına rotasyon hızı adında bir F döndürücü koyacağız ve burada varsayılan bir değer vermeyeceğiz çünkü
‫varsayılan olarak platformlarımızın hiçbirinin dönmesini istemiyorum.
‫Dolayısıyla varsayılan değer 000 olacaktır ve ihtiyacımız olan da budur.
‫Bu yüzden satırın sonuna noktalı virgül koyacağım ve şimdi C++ dosyasına geri dönüp
‫bu üye değişkeni rotate platform fonksiyonumuzda kullanabiliriz.
‫Yani yapmak istediğimiz şey, mevcut rotasyonun mevcut rotasyon artı rotasyon hızının Delta zamanı ile çarpımına eşit olması
‫ve satırın sonuna noktalı virgül koymaktır.
‫Ve şimdi bulmacanın son parçası, aktörümüzü bu yeni rotasyona ayarlamaktır.
‫Yani tam da beklediğiniz gibi, belki de sizin için küçük bir meydan okuma, aslında bunu kendiniz
‫nasıl yapardınız?
‫Kullanacağımız şey set actor rotation fonksiyonudur ve mevcut rotasyonun bir argümanını aşağıdaki gibi
‫iletiriz ve satırın sonuna noktalı virgül koyarız.
‫Ne yazık ki işler bu kadar basit yürümüyor.
‫Dikkatimi çekti, bazı öğrenciler öğretim asistanına işaret etti.
‫Dan, çok teşekkür ederim, rotasyonların kendi etraflarında sarılmasıyla ilgili bazı komplikasyonlar nedeniyle
‫rotasyonları bu şekilde birbirine eklemenin her zaman işe yaramayacağına dikkat çekti.
‫Eğer -90 derece dönüşe kadar giderseniz, bir noktada artı 90 derece dönüşe geçmeniz gerekir
‫ve bu böyle devam eder.
‫Bu nedenle, aktif rotasyonu ayarlamak yerine, aktör yerel rotasyonunu eklemek daha iyi bir
‫yoldur.
‫Ve burada birkaç aktör yerel trans formu ve konum için yerel ofset eklendiğini fark edebilirsiniz.
‫Böylece konum eklemek yerine bunu da kullanabilirsiniz.
‫Bununla birlikte, rotasyonla ilgili uç durumlarda karşılaşacağımız türden sorunlar
‫yoktur.
‫Bunun yerine buraya aktör yerel rotasyonunu eklemenizi tavsiye ederim ve sonra sadece Delta zamanı
‫ile çarpılmış rotasyon hızını girersiniz ve bu kodun geri kalanını sizin için otomatik olarak yapar.
‫Bu yüzden devam edebilir ve bu satırlardan kurtulabiliriz.
‫Ve burada yerel rotasyona basit bir ekleme yapıyorsunuz ve ayrıca mevcut rotasyondan
‫da kurtulabilirsiniz çünkü artık buna da ihtiyacımız yok.
‫Şimdi düzenleyiciye gidelim ve derle düğmesine basalım.
‫Ve bu iş bittiğinde, günlüğü kapatın.
‫Herhangi birinin yapabileceği seviyedeki platformlardan birini seçelim ve kategorilere bir göz atalım.
‫Yani hareketimiz var, rotasyonumuz var ve rotasyon hızımız var.
‫Bu platformu Z ekseni etrafında saniyede yaklaşık 90 derece döndürmek istiyorum.
‫Yani tam bir dönüş yapmak 4 saniye sürer.
‫Devam edelim ve oynat tuşuna basalım.
‫Ve işte oldu.
‫Dönen ve hareket eden bir platformumuz var.
‫Dolayısıyla, hareketli platform mekanizmasının aksine, dönen platformumuzun gerçekten ileri ve geri gitmesi konusunda
‫endişelenmemize gerek yok.
‫Bunu yapmasını istiyorsanız, bu düşünebileceğiniz olası bir uzantıdır.
‫Ama benim için bu yeterli çünkü biz sadece bu şeylerin aynı yönde dönmeye devam etmesini
‫istiyoruz.
‫Bu yüzden gidip bu platformdan rotasyonu kaldırmama izin verin çünkü bu platformun dönmesini
‫istemiyoruz.
‫Bu yüzden sizi bip sesiyle dönen bir platform yapmaya davet ediyorum, temelde kullanmamız ve uygun bir
‫ağ bulmamız için başka bir varyant.
‫Dönen bir platform olarak mantıklı olması için belli belirsiz dairesel bir şey seçerdim ve ona varsayılan
‫bir dönüş hızı verirdim ve karşıya geçmeniz için biraz dönen bir platform bulmacası oluşturmak için seviyeye yerleştirirdim.
‫Videoyu duraklatın ve deneyin.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Bu yüzden içerik çekmecemize gideceğiz ve C++ sınıflarını, Engel Saldırısı'nı arayacağız ve bundan türetilmiş
‫bir plan sınıfı aygıtı oluşturmak için hareketli platforma sağ tıklayacağız.
‫Buna BP alt çizgi dönen platform adını vereceğiz ve içerik rotasına koyup blueprint
‫sınıfı oluşturacağız.
‫Editör açıldığında, onu ana penceremize kenetleyelim.
‫Her seferinde açılmak isteyen içerik tarayıcımı kapatacağım ve ana seviyemize
‫gidip sağ tıklamayla tüm test varlıklarımızın bulunduğu adaya gideceğim.
‫Buraya gidin ve iyi görünen bir şey olup olmadığına bakalım.
‫Buradaki platformların görünümünü beğendim.
‫Eğer üzerine sağ tıklarsam ya da sadece tıklarsam, burada statik ağda
‫kullanılan ağ SM platform A'dır.
‫Planlarımıza gidelim, içeriği açalım, çizelim, hepsine gidelim ve sonra platform
‫alt çizgi M, alt çizgi A'yı arayalım ve sonra ağımız var, bu da buradaki.
‫Benim için ikincisi.
‫Platformumuzu oluşturmak için onu görüntü alanımıza sürükleyeceğim.
‫Şimdi bunun nereye odaklandığını görelim.
‫Ortada mı?
‫Evet, öyle, ki bu iyi ve önemli bir şey çünkü ortanın etrafında dönmesine ihtiyacımız var.
‫Aksi takdirde bu dairesel platform biraz garip görünecektir.
‫Ayrıca bu platformu biraz daha büyütmek için x ve Y boyutlarında biraz ölçeklendirebiliriz ve herhangi bir platform hızını kaldırmak için
‫sınıf varsayılanlarına gidebiliriz çünkü hareket etmesini istemiyoruz ve hareket mesafesini potansiyel olarak sıfıra
‫ayarlayabiliriz ve sonra dönme bölümüne bakıp bunu yaklaşık olarak iyi ayarlayabiliriz, saniyede
‫90 derece denedik ve bu oldukça makul görünüyordu.
‫O halde devam edelim ve bu dönen platformu kaydedelim.
‫Ana seviyemize gideceğiz ve ardından seviyemizin bulmacamızı kurduğu küçük yüzen adaya sağ tıklayıp
‫buraya gideceğiz.
‫Sonra bu adanın üzerine yeni planımızı yerleştirmek istiyorum.
‫Aramayı iptal edelim, içerik köküne gidelim ve dönen platformumuzu bulup seviyeye yerleştirelim.
‫Ve hemen görüyorum ki aslında biraz daha büyük olmasını istiyorum.
‫O zaman devam edelim ve ölçeği büyütelim.
‫Birkaç birim daha, belki üç kez iyi olur.
‫Gidip bir bakalım.
‫Şimdi, daha da büyük olabileceğini düşünüyorum, bu yüzden biraz daha ölçeklendireceğim, böylece esasen
‫X ve Y'de başlangıçta olduğundan beş kat daha büyük olacak.
‫Tamam, bu güzel ve geniş bir döner disk ve karşıya geçmemiz oldukça zor olabilir.
‫Bu yüzden alt ve sürükleme tuşlarını kullanarak bunları çoğaltacağım ve platform boyunca birkaç tane yapıp uygun şekilde
‫yerleştirmeye çalışacağım ve ardından birkaç tane daha alt sürükleme yapacağım.
‫Böylece elimizde karşıya geçmeye çalışacağımız küçük ve hoş bir bulmaca seti var.
‫Bu yüzden onları hemen hemen uç uca getirene kadar biraz oynattım.
‫İşte bu noktada bir oyun moduna sahip olmak gerçekten yardımcı oluyor çünkü platformların yanına sağ tıklayıp
‫buradan oynat'a tıklayabiliyoruz ve işte üzerine basabileceğimiz tüm döner platformlarımız.
‫Ve bu hareketli platformlarda yolumuzu güzel ve kolay bir şekilde bulmak artık bizim için biraz zor.
‫Şimdi ortada bir ölü bölge var, bunu yok etmeyi deneyebiliriz ama aslında
‫ölü bölgeye girmek ve orada kalmak oldukça zor, bu yüzden bunu durdurmak için özellikle oraya bir şey koymaya
‫çalışmayacağım.
‫Ama işte görüyorsunuz.
‫Üstesinden gelebileceğimiz bir meydan okuma ama biraz zor ve bu da eğlenceli.
‫Harika bir şey.
‫Bu derste, yeni bir tür olan F döndürücüyü öğrenerek dönen platformların nasıl yapıldığını ve aktörlerimizin
‫dönüşünü ayarlamak için nasıl kullanabileceğimizi gördük.
‫Bir sonraki derste görüşürüz.