‫Merhaba ve hoş geldiniz.
‫Bu derste, kör alanımızın açısını belirleyecek ve bunu oyunumuza bağlayacağız.
‫Ve bu süreçte çok fazla matematik, çok fazla dönüşüm ve vektör öğrenmemiz gerekecek.
‫Şimdi bu işin nasıl yürüdüğünü anlamaya çalışalım.
‫Bu yüzden hareket etmemiz gereken açıyı elde edebilmek istiyoruz.
‫Ancak bunu yapmadan önce biraz matematik yapmamız gerekiyor çünkü oyuncuya yerel olan bu açıyı nasıl
‫elde edebileceğimizi anlamak istiyoruz.
‫Yerel ve küresel derken neyi kastettiğimi ve bunu küresel bir hızdan nasıl elde edebileceğimizi ve bu terimlerin ne anlama
‫geldiğini açıklayacağım.
‫Bir bakalım.
‫Her şeyden önce, dönüşümler ve dönüşümlerin ne olduğu konusunda biraz temel bir başlangıç yapmamız gerekiyor,
‫bunları daha önce gördük ya da siz biraz gördünüz.
‫Sahne bileşenlerinden herhangi birine baktığınızda, hiyerarşide bunlar vardır.
‫Burada bir dönüşüm geçirdiklerini görebilirsiniz.
‫Yani konum, döndürme, ölçek özellikleri, temelde bir dönüşümün ne olduğu.
‫Ancak burada göremediğiniz bir şey, bu dönüşümün bir parçasının da aynı bileşenlerin
‫bir hiyerarşi içinde olması, yani dönüştürücülerinin de bir ebeveyni olması veya bilirsiniz, temelde hiyerarşik
‫olmasıdır.
‫Peki bu nasıl oluyor?
‫İşte size bir tür oyuncak örneği.
‫Burada üssümüz olduğunu söylediğimiz bir küpümüz var, dünyamızın merkezi gibi bir şey.
‫Yani bu bizim dünya alanımız olacak.
‫Burada küçük gülen suratlı bir karakterimiz var ve ana üssüne göre dünyada
‫bir konumu var.
‫Ve sonra bu karakterin bir silahı var ve silahın karaktere göre bir konumu var.
‫Yani bu hiyerarşinin işleyiş şekli, silahın ebeveyninin karakter, ebeveynin ya da karakterin
‫ana üssü ya da dünya olmasıdır.
‫Ve sonra bunların içinde bazı yerel koordinat sistemlerimiz var.
‫Yani dünyanın koordinat sistemi, dünya sistemi, küresel sistemdir.
‫Daha sonra karakterimizin koordinatları onun konumuna göre yerel olur.
‫Yani silah karakterine göre konumlandırılmıştır.
‫Bu ne anlama geliyor?
‫Bu, karakter küçük bir kaçamak yapmaya karar verirse, silahın da onunla birlikte hareket edeceği
‫anlamına gelir, çünkü silahın karaktere göre konumu aynı kalmıştır, ancak karakter hareket
‫ettiği için dünyadaki konumu da değişmiştir.
‫Aynı şey rotasyonda da olur.
‫Karakter arkasını dönerse, silah da arkasını dönmelidir.
‫Transformers'ın çalışma şekli de aslında bu şekilde ölçeklendirilmiştir, ancak biz ölçeğe bakmayacağız.
‫Aynı şey, ama bu sadece işleri karmaşıklaştırıyor ve bunu yapmamıza gerek yok.
‫Şuna bir bak.
‫Bizimle bir ilgisi yok.
‫Şimdi buna bir göz atalım, farklı bir gözle bakalım.
‫Küresel alanımız ve yerel alanımız var.
‫Yani küresel alanda üs dünyanın merkezindedir ve karakter sağa doğru gitmiştir.
‫Öte yandan yerel alan, olayları tam tersi bir ışık altında görür.
‫Karakterin dünyanın merkezi olduğunu ve tabanın sola doğru gittiğini geriye doğru gittiğini söylüyor.
‫Bilirsiniz, küresel ve yerel arasındaki fark budur.
‫Her şey sizin bakış açınıza bağlı.
‫Her şey görecelidir.
‫Yani küresel ve yerel alan arasında dönüşümden bahsederken kastettiğimiz şey bu ve biz hangisiyle ilgileniyoruz?
‫Açımız için, oyuncunun baktığı yere göre yerel bir açıyla ilgileniyoruz.
‫Diyoruz ki, bilirsiniz, sağa doğru ilerliyor muyuz?
‫Küresel olarak değil ama yerel olarak bunu söylüyoruz.
‫Oyuncumuz için yerel olarak doğru yere mi gidiyoruz?
‫Çünkü oyuncularımız 180 derece döndüyse, sırf döndü diye sol animasyon
‫oynamamalı.
‫Dolayısıyla, bir diğer önemli ayrım, farklı türdeki vektörler için nasıl dönüşümler yaptığımızdır.
‫Bakmak istediğim ilk örnek bir konum vektörü.
‫Yani bir konum vektörü temel olarak bize mevcut konum veya koordinat sistemimizdeki sıfır noktası arasındaki farkı
‫veren bir vektördür, ki bu karaktere odaklandığımızda karakterin kendisidir ve sonra
‫bize bir şeyin nerede olması gerektiğini gösteren bir ok verir.
‫Yani bu durumda, silahın konum vektörüdür.
‫Şimdi, bunu dünya uzayımıza dönüştürürsek, şöyle bir şey olur.
‫Ok şimdi yeni dünyamızın, küresel alanın merkezinden çıkıyor ve silahı gösteriyor.
‫Yani bir konum vektörünü dönüştürürseniz böyle olur.
‫Şimdi, bir yön vektörü yaparsanız, işler biraz farklı görünür.
‫Bir yön vektörü, bir şeyin nerede olduğunu değil, bu şekilde işaret etmem gerektiğini söyleyen bir vektördür
‫ve bu oldukça farklı bir şekilde dönüşür çünkü artık aynı konumu işaret etmesiyle ilgilenmiyoruz.
‫Yani o pozisyon gerçekten güncellenmiyor.
‫Bunun yerine bir vektör döndürülür ve ölçeklendirilir ya da her neyse ve sonunda biraz buna benzer bir görünüm
‫elde ederiz.
‫Yani bu aslında bir tür dönüşüm.
‫Yapmak istediğimiz ulus, çünkü bir konum vektöründen ziyade bir yön vektörü olan bir hız ile uğraşıyoruz
‫veya hız bize nerede olmamız gerektiği hakkında hiçbir şey söylemiyor.
‫Bize hangi yöne gitmemiz gerektiğini ve bu yönde ne kadar hızlı ilerlememiz gerektiğini söyler.
‫Bu teoriyi aradan çıkardıktan sonra, devam edelim ve bu hızdan yönümüzü hesaplayalım.
‫Yani hızın küresel uzayda olduğunu biliyoruz ve bunu yerel uzaya dönüştürmek istiyoruz.
‫Şimdi bu, genel olarak konuşursak, her zaman işleri tersinden yapmaya çalıştığımız anlamına geliyor, çünkü genellikle
‫diyoruz ki, bir pozisyonumuz var, bir silahın yerel pozisyonu, yerel dönüşüm.
‫Dünya uzayında ne olduğunu bulmak istiyoruz, böylece onu diğer her şeye göre oluşturabiliriz.
‫Şimdi, burada yapmaya çalıştığımız şey bu değil.
‫Biz tam tersini yapmaya çalışıyoruz.
‫Yani aslında istediğimiz şey ters dönüşüm olarak adlandırılır.
‫Dönüşüm yerelden küresele doğru bu şekilde ilerler.
‫Ters dönüşüm küreselden yerele gider.
‫Bu küresel hıza sahip olduğumuz için, ters dönüşüm yapmak istiyoruz.
‫O halde buradan çıkalım ve ters dönüşümü arayalım.
‫Ve bu iki seçeneğimiz olduğunu görebilirsiniz.
‫Bu matrisler umurumuzda değil.
‫Yön ve konum için iki seçeneğimiz var.
‫Ve dediğim gibi, aradaki fark, bir konumun bu konumu hareket ettirecek olmasıdır.
‫Yön sadece döndürmeyi ve ölçeklendirmeyi uygulayacaktır.
‫Bu yüzden yönlendirme istiyoruz.
‫Döndürmek için bir dönüşüme ihtiyacımız var.
‫Bu dönüşümü piyonun kendisinden, karakterden almamız gerekecek.
‫Bu nerede? Dünyanın neresinde?
‫Öyleyse devam edelim ve -- sahibini yakalayalım ve dönüşümü arayalım.
‫Özellik get actor transform.
‫Bu o olmalı.
‫Bunu ters dönüşüm yönümüze aktaracağız ve buradan kendimize yeni bir vektör elde edeceğiz.
‫Dolayısıyla bir sonraki adım bu vektörün rotasyonunu elde etmek olacaktır.
‫Bu yüzden rotasyona bakacağız.
‫Bakalım ne bulabileceğiz.
‫Bakma rotasyonunu bulmalıyız, eksenlerden kotanjanta rotasyon yapmalıyız.
‫Şimdi, X vektöründen döndürmeye bir göz atalım.
‫Buradaki belgeleri okursanız, bu vektörden sizin ve eğiminizi ayarlayacağını ancak rolü ayarlamayacağını çünkü
‫bu bilgiyi bir vektörden alamayacağını söylüyor.
‫Sorun değil.
‫Bu davadaki rolü umursamıyoruz.
‫Tek önemsediğimiz şey kullanıcı çünkü ne kadar sağa veya sola döndüğümüzü görmek istiyoruz.
‫Bu yüzden X vektöründen döndürme, istediğimiz şey bize bir döndürücü döndürecektir.
‫Ve bu döndürücüden sadece kullanıcıyı almak için, pime sağ tıklayıp split struct pin'e
‫basacağız, bu da ilerleyip bu yapıyı roll pitch'e bölecektir.
‫Ve bunu bir vektör üzerinde de yapabilirsiniz.
‫Bu arada, sanırım sağ tıklayıp görebilirsiniz, sanırım bunu yapmak için bağlantıyı kırmam gerekecek.
‫O yüzden sana göstermeyeceğim.
‫Ancak temel olarak burada bir kullanıcımız var ve ayarlamak istediğimiz şey de bu.
‫Bu yüzden yine birçok zorluk, kullanıcıyı açı olarak ayarlar ve test eder.
‫Bu nedenle, yine mini meydan okuma, harman alanına giren yıllık bir değişken olacak şekilde yılı ayarlayın ve bunu test edin, oyunda
‫deneyin ve başarılı bir şekilde koşup koşamayacağınızı görün.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Bu yüzden tekrar açıyı sürükleyeceğiz, değişken ayarlı açı, açıyı sapmadan ayarlayacağız ve yürütme
‫pimini hızın sonundan alacağız.
‫Bunu derleyip kaydedeceğim ve kum havuzuna gidip oynat düğmesine basacağız.
‫Şimdi de hareket etmeyi deneyelim.
‫Farklı eğimleri ve nüansları test edebilmeniz için bir kontrolör ideal olacaktır.
‫Ve emin olun, şimdi hareket etmeye başladığımda görebilirsiniz, geriye doğru hareket edebiliyorum, ileriye
‫doğru hareket edebiliyorum, sprint atabiliyorum, yanlara ve 45 derece dönebiliyorum.
‫Tüm bunlar, açımızı hesaplamak için hesapladığımız matematiğe dayalı olarak çalışır.
‫Harika bir şey.
‫Böylece dönüşümler ve vektörler hakkında çok şey öğrendik ve hem ters hem de ileri dönüşümle vektörleri nasıl dönüştürebileceğimizi
‫öğrendik.
‫Bir sonraki derste, burada gördüğümüz ayak kaymasını düzeltmeye bakacağız.
‫Orada görüşürüz.