‫Merhaba ve hoş geldiniz.
‫Bu derste, nesneler hakkında bilgi edineceğiz ve ilginç programlar oluşturmaya başlamak için nesneler ve verileri
‫üzerindeki işlevselliği nasıl kullanabileceğimizi öğreneceğiz.
‫Hadi içeri dalalım.
‫Öyleyse bu derse yeni bir kavramı, nesne kavramını tanıtarak başlayalım.
‫Birçok programlama dili için kesinlikle hayati önem taşır.
‫Yani bir nesne aslında bir şeyi temsil etmek istediğiniz bir şeydir, örneğin bir oyunda bir maceracınız
‫olabilir.
‫O, dünyanızdaki bir nesnedir ve ne olduğunu temsil eden bazı verilere sahip olabilir, örneğin deneyim puanları gibi şeyler
‫veya belki de seviyesi ikinci seviye bir maceracıdır.
‫Bunun gibi şeyler bir maceracıyı oluşturan verilerdir, ancak bir maceracı bundan ibaret değildir.
‫Bir maceracı aynı zamanda ok atabilme, zıplayabilme gibi bazı işlevlere
‫de sahiptir.
‫Nesne olabilecek başka şeyler de vardır.
‫Örneğin, gerçek dünyada, bilgisayarda oyuncu gibi şeyleri temsil edebiliriz ve oyuncuyla
‫ilgili özellikleri saklayabiliriz, örneğin oyuncu bir kontrolör kullanıyor mu, oyuncu
‫bir numara mı yoksa iki numara mı?
‫Bu tür veri parçaları ve mevcut girdilerini almak gibi ilgili işlevler.
‫Örneğin, boşluk çubuğunu basılı tutuyorlar mı, oyuncunun beceri seviyesini alın ve ardından tamamen
‫soyut nesnelere, liste gibi şeylere sahip olabilirsiniz.
‫Yani içinde bir, iki, üç, dört öğe olan bir listeniz olabilir ya da içinde istediğiniz herhangi
‫bir öğe olabilir.
‫Veriler değişebilir, ancak listeden son öğeyi kaldırmak veya listenin sonuna eklemek gibi bazı
‫işlevlere de sahip olabilir.
‫Yani nesnelerin çok ama çok esnek olduğunu görebilirsiniz.
‫Sayısız farklı şeyi temsil etmek için kullanılabilirler.
‫Ve bu nesnelerin altındaki işlevselliğin aslında bu düğümlerin ne olduğunu veya Blueprint'teki
‫birçok düğümün ne olduğunu fark edeceksiniz.
‫Böylece nesneler ve işlevsellik arasında biraz eşleme yapmaya başlarlar.
‫Tamam.
‫Bu yüzden orada bir dizi yeni kavram tanıttık.
‫Biraz özet geçelim.
‫Nesnelerin veri ve işlevsellik koleksiyonları olduğunu söylemiştik.
‫Fark etmemiş olabileceğimiz şey, aktörlerin aslında birer nesne olduğudur.
‫Aktörler bir seviyeye girebilen nesnelerdir.
‫Seviyenize girip küpü seçerseniz, ayrıntılar bölmesinde bir
‫sürü veri olduğunu görebilirsiniz.
‫Ve birazdan göreceğimiz gibi, blueprint'teki düğüm formunda da bir sürü işlevsellik var.
‫Bir de bileşenler var.
‫Daha önce ayrıntılarına girmediğimiz bileşenler işte burada.
‫Bunlar bir aktörün üzerinde gidebilen nesnelerdir, oysa aktörler seviyeye, bileşenler ise aktörün kendisine
‫gider.
‫Küp seçiliyken, ayrıntılar bölmesinin üst kısmında bu statik ağ bileşeninin olduğunu görebilirsiniz.
‫Gerçekten buna tıklarsanız, ayrıntılar bölmesinin kısıtlı bir dizi ayrıntı aldığını göreceksiniz.
‫Size Küp aktöründe mevcut olan tüm özellikleri değil, yalnızca statik örgü bileşenine ait olan özelliklerin
‫alt kümesini gösterir; bu bileşen temelde bize bir küpün nasıl çizileceğini söylemekten
‫sorumludur.
‫Şimdi, bu nesneler genellikle bundan çok daha fazla veriye sahip olabilir ve bu, bilgisayarınız tarafından manipüle edilmeleri
‫ve özellikle de bu nesneleri etrafta kopyalaması gerektiğinde oldukça ağır hale gelebilecekleri anlamına gelir.
‫Bunu yapmak yerine, referans adı verilen ve aslında sadece bir adres olan akıllı bir yapı kullanırız
‫veya bu nesneyi bilgisayarın belleğinde bulmak için nereye gideceğim, böylece nesneyi sürekli hareket
‫ettirmek zorunda kalmam?
‫C++'a geldiğimizde bunun bellekte nasıl çalıştığını biraz daha ele alacağız, ancak şimdilik bunun sadece
‫bir adres olduğunu bilmek yeterli.
‫Peki ne yapabiliriz, örneğin, Unreal'e dalalım.
‫Ana seviyemizde olsaydık ve küpümüzde bazı işlevler kullanmak isteseydik, o zaman yapabileceğim şey sahnede
‫küpü seçmek ve ardından seviye planıma gidip sağ tıklamak ve ardından Küp için
‫bir referans oluştur'a tıklamak ve bu yeni bir düğüm oluşturmaktır.
‫Şimdi bu ne yapıyor?
‫Bu bize temel olarak buranın Cube'un adresi olduğunu söylüyor.
‫Küple bir şey yapmak istiyorsanız, onu bulacağınız yer burasıdır.
‫Oyunu çalıştırdığınızda Blueprint'te olan şey, gidip o küpü bulmasıdır.
‫Ve sonra sorular sorabilir veya küp üzerindeki işlevselliği kullanabilirsiniz, örneğin, Hey, statik örgü
‫bileşeniniz nerede yaşıyor?
‫Ve şöyle diyor: Tamam, statik ağ bileşenleri şurada.
‫Böylece gidip statik ağ bileşenini buluyoruz ve sonra ona sorular sorabiliyoruz ve o da bize "Hey, adın ne?"
‫diyebiliyor.
‫Statik ağ bileşeni.
‫Ve statik ağ bileşeni şöyle diyebilir: Hey, benim adım Bob.
‫İşte bu şekilde, gitmek istediğimiz yere ulaşmak için bu referansları ve birden fazla farklı nesnenin işlevselliğini
‫kullanabiliriz.
‫Bir referansın bir nesnenin bulunacağı yer olduğunu söyledik ve şimdi de dikkat çekilmesi gereken başka
‫bir şey de bir veri iğnesi.
‫Nedir bu?
‫Pinn Bu küp referansında aslında bir tane var.
‫Sağ tarafındaki bu küçük mavi yuvarlak şey bir veri pimidir.
‫Aslında bunları daha önce sol taraftaki baskı dizisi düğümlerinde görmüştük ve mor
‫renkteler.
‫Peki bunların gördüğümüz diğer iğne türlerinden, bu beyaz iğnelerden farkı nedir?
‫Veri pini, bir düğüm için veri girişi veya çıkışıdır.
‫Yani bir düğüm, sol taraftaysa, girdidir, düğümün çalışabileceği veridir.
‫Sağ taraftaysa, Node'un ürettiği verilerdir.
‫Yani küp durumunda, bu düğüm küp aktörüne bir referans üretir, ardından yürütme pimleri.
‫Bunlar aslında veri pinlerinden ayırt etmek için beyaz pinler olarak adlandırılır ve
‫düğümü çalıştırmak için hala kullanılırlar.
‫Yani veri pinleri düğümün ne ile çalıştırılacağıdır.
‫Yürütme pimleri ne zaman çalıştırılacağıdır.
‫Tüm bu bilgilerle birlikte, bu nesnelerin işlevselliğini biraz kullanalım.
‫Böylece küp referansımızı elde ettik.
‫Küp referans piminden sürüklersek, küpün sahip olduğu tüm işlevleri kullanabilirsiniz.
‫Dediğim gibi, küp üzerinde statik örgü bileşeni adında bir bileşenimiz var ve devam edip buna
‫bir referans almak istiyorum.
‫Bu yüzden get static mesh component'e bakacağız ve benim için en alttaki öğe get static mesh component.
‫Ona tıklayabilirim.
‫Girdisi bir küp referansı olan ve çıktısı statik ağ bileşenine bir referans olan yeni bir düğüm
‫elde ederiz.
‫Dolayısıyla, bundan sürüklersek, get display name gibi statik örgü bileşenlerinin
‫işlevselliğini isteyebiliriz ve bu bize statik örgü bileşeni referansının girdisini alır ve get display name işlevselliğini kullanır
‫ve ardından print string düğümünü kullanarak yazdırabileceğimiz bir dize veya metin değeri döndürür.
‫Bu nedenle, bunun üzerinden sürükleyip print string yazabilir ve ardından yürütme düğümlerini bağlayabiliriz,
‫böylece bu, oynatmaya başlarken diğer iki print string'den sonra çalışır.
‫Bu düğümlerden bazılarının yürütme pinlerine sahip olmadığını fark edeceksiniz.
‫Bu kafa karıştırıcı olabilir.
‫Ne zaman çalıştırılacaklar?
‫Planlar ne zaman uygun olduğunu düşünürse, esasen bir yürütme pinine sahip bir düğüm tarafından ihtiyaç
‫duyulduğunda çalıştırılırlar.
‫Devam edip oynat düğmesine basarsak, küp statik örgü bileşeni sıfır veya buna benzer bir adla açıldığını
‫görebilirsiniz.
‫Bu biraz programlama ağacı.
‫Değil, Bob değil. Bundan biraz daha karmaşık.
‫Ancak slaytımda yer verdiğim soru zincirini esasen kodladığımızı görebilirsiniz.
‫Bu yüzden sizi statik örgü bileşenimizin kütlesini bulmaya davet ediyorum.
‫Geçmişte yapılandırmıştık.
‫Seviyeye girip ayrıntılar bölmesine bakarsanız, fizik özelliklerinden birinin kütle olduğunu
‫ve bunu statik örgü bileşeninde bir veri parçası olarak yapılandırdığımızı görebilirsiniz.
‫Eğer get display name düğümünü silerseniz ve statik örgü bileşenini sürüklerseniz, get mass
‫için arama yapabilmelisiniz ve bu size statik örgü bileşenindeki veri parçasını getirmeli ve print string düğümü
‫duraklatma videomuzu kullanarak bu değeri yazdırıp yazdıramayacağınızı görmelisiniz.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Dolayısıyla, plana geri dönersek, görünen adımızı silmemiz, statik ağ bileşenini sürüklememiz ve kütle al seçeneğini
‫aramamız yeterlidir.
‫Sonra o düğümü çekebiliriz.
‫Burada bir dönüş değerimiz var ve bu bizim kütle değerimiz olacak.
‫Üzerine geldiğinizde, bu bileşenin kütlesini kilogram cinsinden verdiğini görebilirsiniz.
‫Ve bu arada, geri dönüş değeri sadece çıktı verisi anlamına gelir.
‫Ve sonra bu düğümü yazdırma dizesi için giriş dizemize sürükleyebiliriz.
‫Ve bunun küçük bir dönüşüm düğümü yarattığını görüyorsunuz.
‫Bu değer ne olursa olsun, yazdırma dizesinin kabul edeceği bir değere dönüştürülür.
‫Devam edip oynat düğmesine basabiliriz ve 1000 değerini elde ettiğimizi görürsünüz; bu değerin yapılandırdığımız kütle ya da gerçekte yapılandırdığınız
‫şey olduğunu biliyoruz.
‫Bunu değiştirebilir ve bu değerin de değişeceğini görebilirsiniz.
‫Bu ders için bu kadar.
‫Nesneler ve referansları hakkında bilgi edindik ve blueprint'te işlevsellik düğümlerini nasıl kullanacağımızı öğrendik.