2D Oyun Yapmayı Öğren - Notify - PaperZD - Unreal Engine 5
Вставка
- Опубліковано 8 лют 2025
- Bu videoda sizlere, Unreal Engine 5 ile 2D oyun yaparken kullandığımız bir animasyonun kendi içindeki geri dönüşlerini almamızı sağlayan Notify yapısını anlatacağım.
Devamında sizlere Atak animasyonunu, Notify yapısıyla nasıl kurgulayabiliriz bunu göstereceğim.
Umarım videomu beğenirsiniz ve sizler için faydalı olur.
Daha fazla 2D oyun yapma videosu için;
2D Oyun Yap : • 2D Oyun Yapayı Ögren
Yeni başlayanlar için hazırladığım eğitim serisini izlemek için ;
Unreal Engine 5 - Beginners : • Unreal Engine 5 - Begi...
Metahuman ile ilgili hazırladığım video serisini izlemek için ;
• Metahuman
Epic Games'in Ayın ücretsiz paketlerini incelediğim videoları izlemek için ;
Ayın Ücretsiz Paketleri : • 4290 TL Değerinde Ücre...
Beni daha yakından tanımak isteyenler için ;
Instagram : / hltknbk
reis seni yeni keşfettim 1 hafta önce on numara videolar yapıyorsun helal olsun sana
Eyvallah dostum saol. Devammm 👍
Eline sağlık reis , serinin devamını bekliyorum
Umarım bu serinin devamı hızlı bir şekilde devamı gelir. 2 Hafta önce hiçbir şey bilmeyerek başladığım araştırarak kendimi geliştirmeye çalışıyorum. Senin sayende 2d bir proje yapmayı kafaya koydum :D
Süper👍 3 günde 1 video hedefim var umarım vakit bulurum
@@EventBeginPlay_ Sizin kullandığınız gibi assetleri nereden bulabilirim peki?
@@bahadrsenbay1232 serinin ilk videosunda link var oradan da bakabilirsin. itch.io bu site ile de ilgili ayrıca video cekmem lazım.
Emeğine sağlıkk ❤️
Kanka çok güzel şeyler anlatıyorsun. İnsanları bu şekilde bilgilendirmen biseyler öğretmek için çaba göstermen gerçekten çok daha fazlasını hakediyorsun. Umarım daha fazla kitleye ulaşır çok daha iyi yerlere gelirsin. Son olarak genel bı bilgilendirme videosu çekebilir misin? Yani oyun yapabilmek için ne gereklidir. Bu işte ne tür zorluklar vardır. Bu oyunlar nasıl piyasaya sürülür ve gelir elde edilir tarzında tecrübelerini paylaştığın bir video gelir mi?
Tesekkürler. Guzel fikir videosu cekilecekler listesine attım 👍
Eline emeğine sağlık seri çok güzel gidiyor 👍
Unreal Engine ile ilgili yerli yabancı pek çok eğitim videosu var ancak ezbere dayalı olmayan, olayların mantığını da anlatan ilk kanal sanıyorum ki burası.
Unreal engine'i beceremeyip b*k atan pek çok kanal varken, anlatımların ilaç gibi geldi.
Umarım videoların aynı hızda devam eder henüz öğrenme aşamasındayım ve ilgiyle takip ediyorum.
Sektörün gelişmesine büyük katkıda bulunduğunu düşünüyorum. Eline sağlık...
Cok tesekkür ederim. Beğenmene çok sevindim. Dediğin gibi umarım Unreal Engine kitlesi Türkiye'de cok daha buyur. Benim de bir katkım olursa ne mutlu bana 👍
@@EventBeginPlay_ Katılıyorum, community'nin gelişmesi çok önemli.
Örneğin (pazarı domine etmesinin doğal sonucu olarak) unity için pek çok kaynak varken unreal tarafında yeterli örnek bulunamayabiliyor.
O sebeple çalışmaların çok değerli.
@@fahrettincanli Dediklerin doğru. Ama şöyle bir husus var. Bagımsız bir yapımcıysan kücük bir geliştirici grubun varsa kücük oyun yapıyorsun. Haliyle kücük oyun için Unity bu zamana kadar daha cok kullanılıyordu. Ama Ue5 ile bu olay artık bitti. Unity artık mobil oyun yapacaksan mantıklı hale geliyor. Ama Pc ye oyun yapacaksan Ue5 şu anda en mantıklı motor. İnsanlar zamanla bunu cok daha iyi anlayacaklar. Daha da iddayı arttırmak gerekirse Unity nin mobil saltanatı da Ue5 in 1 yeni versiyonuna bakar. Daha da anlatırım da uzar gider. Dediğim gibi insanlar zamanla anlayacaklar.
@@EventBeginPlay_ Aslında konuyu uzun uzun tartışmak isterdim ancak anlıyorum ki youtube'un yorum kısmı ikimizi de kesmeyecek :) Bir gün denk gelirsek doya doya konuşuruz.
Bu arada, içerik tüketicisi sıfatımla, kanalın için naçizane bir tavsiyede bulunmak istiyorum.
Oyun yapmayacak ama meraklı olan gençlere hitap eden "X saatte oyun yaptım", "Kendi Valorant ajanımı yaptım", "Geliştirme ortamımı tanıtıyorum" tarzı içerikler kanalın bilinirliğine büyük katkı sağlar diye düşünüyorum.
Yapanlar da zaten yabancı kaynaklardan görüp yapıyorlar.
Çok yararlı, teşekkürler
dakika 10 daki event on receive notify gelmiyor onun yerine on receive notify geliyor ne yapmam lazım
Dostlar merhaba,
Ben atak animasyonundan çıkamıyordum. Videoda zannediyorum o kısım atlanmış yada ben atladım emin değilim her iki durumda da hiç problem değil çözüm buldum.
Atak animasyonundan idle'a geçiş kısmında end trasition kısmına, time remaining(attack) koyup bunu == diyerek 0 olduğunda diye kodunuzu bağlarsanız attack animasyonunun son framinde kalmaktan kurtuluyorsunuz.
Umarım işinize yarar.
İyi çalışmalar
Senin atladığından eminim diyebilirim 😅 animasyon blueprint inin içinde animasyonları birbirine bağladığımız yerde birşeyi eksik yapmışsındır muhtemelen. Tekrar bir bak istersen 👍
@@EventBeginPlay_ Sağolasın hocam. Aslına bakarsan bu tarz problemlerin çıkması sanki insana çözümünü ararken daha çok şey katıyor gibi hissediyorum, bilemiyorum.
@@JaEdit666 tabi ki öyle. Bu sebepten sürekli uygulamalı videolar cekiyorum. Deneyeceksiniz. Bozacaksınız. Düzelteceksiniz. Geliştireceksiniz. Yoksa ezbere olmaz bu işler 👍
@@EventBeginPlay_ Adamsın
Abi bir ricam olacak senden. ben bir oyun yapıyorum ve oyunda zamanı durdurma süper gücü var bizde. ama bu süper gücü nasıl yapacağımı bilmiyorum. sen biliyorsan onun ile ilgili bir video yaparmısın
Daha önce hiç zamanı durdurma mekaniği yapmadım. Ama senin için deneyeceğim. Haber ederim 👍
@@EventBeginPlay_ sağol abi
@@AzEzBer19 Yapmaya çalıştığınız şey aslında baya kolaymış. Buradan adım adım anlatabilirim.
1- Level Blueprint içinde kodları yazacaksınız. Bölümün tamamını etkilemesi için gayet mantıklı duruyor.
2- Bir tane input atayacaksınız. Mesela " E " ye bastıgınızda zaman yavaşlayacak yada duracak. Tekrar bastıgınızda normale dönecek.
3- LevelBP de inputunuz ile koda başlayın ve FlapFlop koyup baglayın. FlapFlop'un A kısmı yavaslatacak. B kısmı eski haline döndürecek.
4- A kısmı için sırayla : " Set Global Time Dilation " - " Delay " - " Set Custom Time Dilation " fonksiyonlarını birbirine bağlayın.
5- " Set Custom Time " fonksiyonu senden bir " Target " istiyor olacak. Oraya da " Get Player Pawn " koyup bağlayacaksın.
6- " FlipFlop " a geri dön ve A kısmında yaptıklarının tamamını B kısmına kopyala. Aradan " Delay " fonksiyonunu kaldırabilirsin.
Global Time zamanı durdurdugun yada yavaslattıgın fonksiyon. Time Dilation kısmını 0,0001 derecesinde yada daha fazla küçültebilirsin. Bu zamanın durdugu hissini verecektir. 0,1 yada 0,01 derecesi zamanı yavaslatma hissi verecektir.
Delay kımının süresini de aynı derecede küçültmelisin. Bu seni olası Buglardan koruyacaktır.
Custom time dilation zamanın değişmesine karşın karakterinin normal hızda hareket etmesini sağlayan fonksiyonumuz. Bunun sayısını da global time * custom time = 1 olacak sekilde büyük bir sayı yazman gerekiyor diyebilirim. Örneğin global time 0,0001 ise custom time 10000 olmalı. Bunu oyun içinde karakterinin hızına göre 1000 de yapabilirsin.
FlipFlop'un B kısmında ki değerlerin hepsini ise 1 yapacaksın. ( Get Player Pawn hariç o sıfır kalacak )
Hepsi bu kadar... 👍
@@EventBeginPlay_ sağol abi yardımcı olduğun için.
hocam merhaba ,bir 2d proje üzerinde çalışıyorum ve mekanikleri bitirmek üzereyim ancak istediğim saldırı mekaniğini bir türlü yazamadım. çok sayıda animasyonum var ve her seferinde bu animasyonları farklı şekilde oynatmak istiyorum (1:abc ,2:acb,3;cba) gibi bunu nasıl yapabilirim yardımcı olursanız sevinirim.
İstediğin şey anladıgım kadarıyla karakterin combo yapabilsin istiyorsun. Toplamda 3 atak animasyonun random bir şekilde oynasın. Bunu animasyon penceresinde yapabiliyoruz. Ama buradan anlatmam neredeyse imkansız. En basit hali ile karakter_bp nin içinde halledebilirsin. Sol click ile atak yapacagını varsayalım. " switch on int " fonksiyonunu kullanabilirsin. " selection " kısmını da " random integer in range " ile 0 dan ne kadar animasyonun varsa onun sayısını yazarsın. Böylelikle her sol click yaptıgında farklı animasyon oynatır.
@@EventBeginPlay_ teşekkürediyorum hocam yorumu yaptıktan sonra saatlerce araştırma yaptım ve şöyle bir cözüm buldum tek bir state kullanarak outu play random sequence bağladım onun içinede animleri yerleştirerek bir çözüm buldum bu da olur değil mi istediğim sonucu verdi uzun vadede sıkıntı olur mu?
@@inat541 bir problem olacagını zannetmiyorum. Sadece farklı animasyonlardan geçiş kontrollerini yap düzgün calısıyor mu bir bak. Ona göre koşul bağlayarak debug yaparsın. Mesela karakter düşerken calısıyor mu? yada zıpladıgında calısıyor mu? gibi gibi...
@@EventBeginPlay_ Çalışıyor bu paperZD mükemmelmiş
merhabalar sizin ilk videonuz izledim fakat orda saldırı modunu yapmadınız şimdi sizden bakarak denedim fakat olmuyor ne kadar uğraşsamda cuma günü teslim etmem gereken bir proje var yardımcı olur musunuz acaba ınputattack dedim branch kullandım sonra set boolean ile flipbook bağladım ordan da efekti seçtim ama olmadı karakterim tam hareketlenicek gibi oluyor ama hareketlenmiyor efekti koşma yürüme gibi yerlerde denedim çalışıyordu nerde hata yapıyorum doğru mu yapıyorum hiçbir fikrim yok geri dönüş yaparsanız sevinirim
Merhaba Sayın EventBeginPlay
Dediğin gibi bir box oluşturdum ve damage vurmaya başladım lakin bunla yetinmeyip damage sistemini parlattım damage vurduğum zaman enemy savrulacak ve hasarılı aldığı yöne yürüryüp saldırmaya başlayacaktı ve çalışıyor ama herşey bu kadar güzel olsaydı karakteri her vurduğumda launch karakter ve direction değişkeni sebebsizce (viewporttan çıktığım vakit) hata veriyor böyle bir şey ilk defa yaşıyorum yardımcı olabilir misin?
Aldıgın hatayı burada paylasabilirsen daha iyi olur. İstersen dc den de ekran görüntüsü paylasabilirsin. Ona göre daha doğru şekılde yardımcı olabilirim. Ama burada anlattıklarıns göre muhtemelen oluşturdugun değişkenlerden dolayı bir hata alıyorsundur varsayımında bulunabilirim.
Hocam 1-2 sorum olacakti, bu Unreal da yan toollari kullanmanizi cok begendim, baska diger kullanisli toolar gelir mi?
Bir diger sorumda Unreal ile top-down 2d oyun yapimi ceker misiniz?
Unity ile oyun yapimi videoalri gelir mi?
Simdiden cok tesekkur ederim videolarinizi cok begendim yaklasik 1 ay once buldum, En sevdigim kismida sesiniz ve videonun ilerleyisi cunki Udemy'den kurs almak istedim ama hocalarin ya konusmasi, ingilizce telaffuzu, videonun ses kalitesi ve asiri anlamsiz uzanan saatler yuzunden hic bir kursu alma istegim gelmedi, zaten indirimde bitti bu saatten sonra lmayida dusunmuyorum. (ama sizin kursunuz olursa baska)
Aslında bir cok plugin mevcut. Nasıl bir oyun yapmak istediğiniz ile alakalı birazda. Eğer ilerleyen videolarda yeri gelirse muhakkak anlatırım.
Top-down gelicek ama önce bu seriyi bitirmem lazım. Eksik kalmasın. Zaten aralarında pek fark olmayacak.
Unity ne yazık ki anlatacak kadar bilmiyorum. Belki çoook sonra.
Son olarak tüm güzel sözlerin için ayrıca teşekkür ederim. 👍
@@EventBeginPlay_ Unreal engine ile alakali top-down 2d oyun yapimi hakkinda neredeyse hic video yok (Az once yine bakayim dedim ve Cobra ... adli bir kanal 5 saat once atmis) Oyunun icerigine gelinirse bu her hangi bir shooter oyunuda ola bilir veya stardew valley gibi farkli etkilesimlerin icinde bulundurdugu bir oyun. Ben tum videolarini seviyor ve izliyorum tesekkurler.
Reis play tuşuna basınca oyunda ki her şey çok parlıyor çözemedim
Bu serinin ilk videosunda en başta yaptıgım ayarları atlamış olabilirsin. Muhtemelen ray tracing acık
@@EventBeginPlay_ Kapalı ray tracing ,play diyorum hafiften ışık geliyor yavaşça çoğalıyor sonra parlak oluyor her yer
@@Woelll O olaya Lumen diyoruz. Onu ayarlardan illumination yazarak bulup kapatabilirsin. İstediğin sonucu vermezse post-product volume ile yapman gerekiyor ama o bambaska bir konu. Muhtemelen kapalı bir ortam yaptın bir noktadan ışık çizgisel olarak girsin istiyorsun.
@@EventBeginPlay_ Reis Aı yaratıyorum ölmesini falan filan ayarlıyorum kafasına basınca ölüyor tıpkı mario gibi ama bazen kafasına basınca mapin dışına atıyor bunun bir çözümü yok mu acaba ?
@@Woelll karakterin blueprintin de axislerini kilitlemen gerekiyor. Y de kitlersen karakterin Y de hareket etmicektir.
Abi notify kullanmadan yapamı varmı attack animasyonunu? çünki benim kullandığım UE de 6:17 deki imputlardan yok.
İnput sistemi ile notify ın hiç alakası yok.
@@EventBeginPlay_ 😂tamam abi
hocam son bir sorum olucak bu jump to node 2 link aynı anda nasıl bağlayabiliriz
Nasıl yani tam olarak anlamadım neyi sordugunu? Ne yapmak istiyorsun tam olarak ona göre anlatmaya calısayım.
@@EventBeginPlay_ hocam karakter saldırma animasyonu yaparken ileri atılmasını kodluyordum get actor rotation -get forwad vector-multiply250 _launch karekter ve bu kodun -250lisini yazdım yanlız söyle bir sorun var jumto node hangisine bağlarsam o yönde çalışıyor ikisini birden bağlayamadım comparwe float ile ikisini bağlamayı denedim bu sefer yürürken yapar sadece ıdle iken attack tuşuna basarsam bir daha attack yapmıyor 2gündür bunu çözmeye çalışıyorum dc çok soru sordum kurslarını aldığım udemy hocalarına sordum olmadı son çare olarak size geldim
@@inat541 karakterin her atak animasyonu yaptıgında mı bunu yapacak. Yani atagı yaptı - düşmana vurdu - ileri atıldı şeklinde mi yoksa atak yaptı - ileri atıldı şeklinde mi?
@@EventBeginPlay_ ileri atıldı-düşmana attack yaptı saldırı bitti
@@inat541 ue de şöyle bir durum var. Biz karakterimizi transform olarak değil velocity olarak hareket ettiriyoruz. Yani şöyle düşün unity transform olarak ue velocity olarak. Daha dogrusu paperzd buna göre kodlanmış. Dolayısıyla yapmak istediğini animasyon penceresinde değil. Notify penceresinde yapman gerekiyor. Atack notify ında çizdirdiğimiz kutu varya orada artık yapmak istediğin şeye göre is valid - sprite transform + x eksenindeki değeri + 250 gibi düşün yada not valid - sprite transform + x eksenindeki değeri + 250 - sonra kutuyu çiz vs şeklinde. ama ataksız dash yaptırcak olsan bunu tabi ekstra bi animasyon gerektirir ve animasyon penceresinde halledebilirdin diye düşünüyorum.
Yaptığınız gibi Attack'a bir notifie hazırladım ve yazdığınız kodların aynısını kullandım ancak, socket eklediğim ve get socket location'a socket'in adını verdiğim halde draw debug box hala karakterimin ortasında oluşuyor. Hatta bazen socket'i eklediğim noktada çıkıyor ama çok nadir bir şekilde neden olabilir bu acaba. Tabi muhtemelen görmeden söylemeniz mümkün değil ama sorayım dedim
20:00 daki işlem mi 2 frame için de yaptınız mı? Yani socket i ekledikten sonra konumunu düzenlediniz mi?
@@EventBeginPlay_ İki ayrı attack animasyonu gibi tanımlamak istedim ilk atağa vermiştim ancak ikinciye vermemiştim. İkinciye verince düzeldi gibi ancak 1. atağa verdiğim socket hala düzgün bir şekilde çalışmıyor
@@bahadrsenbay1232 1 ihtimal var o zaman is valid sorgusu. valid olarak dönüyor bu yuzden not valid kısmına dönmediği için debug box çizmiyor. Animasyonu nasıl kurguladıgını bilmediğim için net bir çözüm sunamıcam. Ama o is valid e odaklanırsan sıkıntıyı çözebilirsin
merhabalar daha önceki videolarda gösterdiğiniz gibi kamera ayarlarını yaptım fakat karakter bir nesneye yaklaştığı zaman kamera zoom yapıyor.
2.olarak da print string kısmında hitbox'u ayarlamama rağmen yazdırmıyor sebebi nedir acaba? şimdiden teşekkür ederim
kamera zoom olayı " collision " ayarlarından kaynaklanıyor. 2. sorunda muhtemelen yine aynı collision dan kaynaklanıyordur.
@@EventBeginPlay_ tamamdır teşekkürler
@@EventBeginPlay_ Abi aynı sorun bende de yaşandı biraz daha detaylı açıklayabilir misin
@@fatihtuner7498 player bp deki sprite ın collision ayarını no collision yapıcaksın.
@@EventBeginPlay_ çok teşekkür ederim
hiç bir oyun videona davam etmemişsin abone izleyici çekmen zor kardeşim bende abone olmaya gerek duymadım