Dizine dön

Dikey Hareket Araştırması — Tasarım Kalıpları ve Kaynaklar

Traversal R-008 Çizen: Alparslan Tamam

2.5D side-scroller Action RPG'de merdiven / duvar zinciri / tutunma-sallanma katmanı: tür içindeki kalıplar, "iyi hissettiren" ayrıntılar ve izlenecek somut kaynaklar. Tasarım kalıplarının çoğu saf 2D oyunlardan (Celeste, Hollow Knight, Nine Sols) çıkarıldı; hangi parçanın düzleme kilitli 3D iskeletli karaktere taşınıp taşınmadığı ayrı bir bölümde ayrıştırılıyor. Sonda Unreal kaynaklarının puanlı listesi ve mekaniğe göre video listeleri var.

Hedef oyun 2.5D — literatürün nesi taşınır, nesi taşınmaz

Aşağıdaki tasarım bölümünün büyük kısmı saf 2D oyunlardan (Celeste, Hollow Knight, Nine Sols) çıkarıldı. Bu bilinçli: tasarım kalıpları orada olgunlaştı. Ama bu projenin teknik gerçeği farklı ve iki katman ayrılmalı.

Hedef oyunun teknik profili: Paper2D/PaperZD yok; karakter Character Creator rig’li 3D iskelet; hareket X eksenine kilitli ve derinlik açıkça sıfırlanıyor; locomotion C++ tarafında CharacterMovementComponent türevi bir bileşende, traversal ayrı bir state; Motion Warping ve Animation Locomotion Library eklentileri açık.

Yani: sprite değil, düzleme kilitli 3D iskeletli karakter. Sonuçları:

Çarpışma 3D — Celeste’in bedava numaraları burada bedava değil

  • Corner correction (bkz. “İyi hissettiren ayrıntılar”) bir tile grid + AABB varsayar. Burada yuvarlak uçlu kapsül var, üstelik keyfi 3D mesh’e karşı. “Sık yapılan hatalar” bölümündeki “yuvarlatılmış platform kenarlarından kaçın” maddesi 2.5D’de bir tercih değil — kapsülün dibi zaten yuvarlaktır. Dolayısıyla corner correction bilerek yazılacak bir özellik (kafa/omuz trace’i + yanal nudge), 2D’deki gibi grid’den bedava gelmiyor.
  • Duvar trace’i 3D normal döndürür. Duvar derinlikte birkaç derece eğikse normal saf ±X değildir; wall jump kuvveti ham normalden alınırsa karakteri düzlemden dışarı iter. Kuvvet oyun düzlemine projekte edilmeli.
  • Merdiven hacmi 3D bir kutudur. Tutunmada Y, hacmin merkezine değil constraint düzlemine snap’lenmeli — aksi hâlde karakter görsel olarak merdivenin önünde/ arkasında asılı kalır.

Derinlik ekseni sızar — 2D kaynakların hiç uyarmadığı hata sınıfı

  • Root motion montage’ları 3D’de yazılır ve yanal (Y) drift taşır. Mantle, ladder enter/exit ve swing çıkış montage’ları düzlem kısıtıyla kavga eder; sonuç ya görünür snap ya da sessiz sürüklenme. Motion Warping hedefleri kurulurken Y zorla düzleme sabitlenmeli.
  • Aynı disiplin her traversal impulse’ında gerekiyor — merdiven, wall jump, swing çıkışı, 8 yönlü fırlatma dahil.
  • Yön değiştirme: sprite oyunu görüntüyü flip’ler, 3D karakterde mesh 180° yaw döner. Duvar/merdiven/swing animasyonlarının mirror’ı gerçek bir iş kalemi; 2D kaynaklarda bu maliyet hiç görünmez.

Sayıların yarısı taşınır, yarısı taşınmaz

Zaman alanındaki değerler (saniye) olduğu gibi taşınır. Mesafe ve hız alanındakiler taşınmaz — Celeste’in dünyası 320×180 pikseldir. Bu yüzden o sayılar “İyi hissettiren ayrıntılar” bölümüne çevrilerek değil, tamamen çıkarılarak işlendi: yerlerini hedef projenin kendi hareket sabitleri ve onlardan türetilen cm cinsinden hedefler alır. Dış kaynaktan gelen tek mesafe çapası Unity Platformer Kit’in 20 cm’lik duvar algılama varsayılanıdır.

Kameranın 2.5D’ye özgü tek sorusu

“İyi hissettiren ayrıntılar” bölümündeki kamera kalıpları (camera-window, platform-snapping, dikey lookahead yasağı) side-scroller literatüründendir ve 2.5D’de aynen geçerlidir — Cobra Code’un 2.5D videosu da (F1) Donkey Kong Country Returns kamerasını kuruyor, ki o da 2.5D. Ama literatürde olmayan bir soru var: dikey hareketi dolly ile mi, FOV ile mi, yoksa ortografik projeksiyonla mı okutulacak. Perspektif kamerada yukarı çıkan karakter aynı zamanda derinlik hissi değiştirir; 2D’de böyle bir kararı yok. Bu soruyu bu araştırma kapsamıyor — ayrıca çalışılmalı.

Değişmeden taşınanlar

Aşağıdakiler boyuttan bağımsızdır, 2D kaynaklardan gelmeleri sorun değil: girdi affediciliği (coyote, buffer, jump-cut), state/geçiş taksonomisi (dipten/tepeden/ havadan üç ayrı giriş), tutunma ekonomisi ve stamina iadesi, animasyon iptal politikası, “Sık yapılan hatalar” bölümündeki anti-pattern’lerin tamamı, assist tasarımı, kamera kalıpları.

Tasarım özeti

Merdiven — yerleşik kalıplar

  • Merdivende gravite kapatılır, karakter kinematik dikey hareket moduna geçer; fizik simülasyonu kullanılmaz. Unreal tarafında bunun üç yaygın karşılığı var: MOVE_Flying (en hızlı prototip), MOVE_Custom + PhysCustom (doğru olan), animasyon montajına kilitleme (en kötüsü, aşağıda). (Epic topluluk eğitimi, Nauja repo)
  • Tutunmada karakter merdivenin yatay merkezine snap’lenir; snap anlık değil kısa bir interpolasyonla yapılır — anlık snap yapay hissettirir.
  • Üç giriş noktası ayrı ayrı tasarlanır: dipten binme, tepeden inme, havadan yakalama. Her birinin kendi anchor’ı ve kendi geçiş animasyonu olur. Udemy ladder kursu tam olarak bu ayrımı yapıyor (Enter on Bottom / Enter on Top / Exit on Bottom / Exit on Top ayrı derslerde).
  • Tepede çıkış ayrı bir mantle animasyonudur; bir waypoint’e ulaşınca tetiklenir ve karakteri üst platforma yerleştirir. Merdiven tepesinden “yürüyerek” çıkmak yaygın bir hatadır.
  • İki merdiven felsefesi var: glide (tırmanırken başka aksiyon yapılabilir, hızlı) ve lock-in (animasyona kilitlenir, gerçekçi ama tempoyu öldürür). Sektörün iyileştirdiği asıl nokta hız değil, binme/inme kolaylığı. (EGM yazısı)
  • Merdivenin modern muadili — otomatik yapışma. Metroid Dread’de Spider Magnet yüzeye yaklaşınca otomatik yapışır, yapışıkken ateş/melee yapılabilir, yüzey bir çıkıntıda biterse kendini otomatik yukarı çeker. Nine Sols’ta duvara tutunma da otomatik (ayrı buton yok) ve tutunmuşken savaş fiilleri kilitlenmiyor. (Metroid Wiki, Nine Sols Wiki)
  • PoP: The Lost Crown’da dikey etkileşim ayrı buton değil: sol stick Up/Down = Interact. Yani merdiven girişi hareket ekseninin doğal uzantısı. (Game8 rehberi)

Duvar zinciri (Wall Slide → Wall Jump)

  • Wall slide’ın işlevi maksimum düşüş hızını düşürmektir; ayrı bir “kayma hızı” değil, MaxFall clamp’i olarak modellenir. (Celeste kaynak kodu)
  • Duvar algılama toleransı cömert olmalı ve zor manevrada daha da genişletilmeli — Celeste standart wall jump’a duvardan belli bir mesafe uzaktan izin veriyor, daha talepkâr olan “super wall jump” içinse pencereyi iki katından fazla açıyor. Aktarılan şey ilkedir; Celeste’in piksel sayıları bu projeye çevrilmiyor, cm karşılıkları için “İyi hissettiren ayrıntılar” bölümüne bakın. (Maddy Thorson’ın Celeste yazısı)
  • Wall jump = duvardan uzağa yatay boost + dikey boost + kısa süreli yön kilidi (input lock). GameMaker referans uygulamasında lockout 10 frame. (Celeste kaynak kodu, GameMaker referansı)
  • Tutunma ekonomisi iki uçta: Hollow Knight’ta duvara tutunma limitsiz (Mantis Claw, süre/stamina yok); Celeste’te sınırlı — pratikte ~11 sn asılı kalma, ~2.4 sn yukarı tırmanma (saniyeler taşınabilir; iç stamina birimleri buraya alınmadı) ve bitmeye yakın yeni bir duvara tutunulamıyor ama mevcut duvarda devam edilebiliyor. 2 saniyelik bir limit bu iki ucun arasında, Celeste’in “yukarı tırmanma” bütçesine yakın kalır. (Celeste Wiki, Hollow Knight Wiki)
  • Celeste’in stamina iadesi kalıbı, süre limitli sistemler için en öğretici fikir: duvardan yukarı zıplamak pahalı, duvardan uzağa zıplamak bedava. Oyuncu yukarı zıplayıp hemen ardından duvardan uzağa bastığında oyun stamina’yı geri veriyor ve yatay kuvveti geriye dönük uyguluyor. Yani “hangi zıplamayı yaptın” kararı, olay olduktan sonra bir grace penceresinde düzeltilebiliyor. (Maddy Thorson’ın Celeste yazısı)
  • Duvar algılamada önce baktığın yön, olmazsa ters yön kontrol edilir; jump anında velocity.x = 0 yapılıp duvar normali yönünde kuvvet eklenir. (Unity Platformer Kit dokümanı)

Tutunma / sallanma çubukları

  • Grapple/swing tek fiil değil, üç ayrı fonksiyon: Swing (sabit düğüme asılıp sallanma), Pull-self (kendini çekme), Pull-object (nesneyi çekme). Lost Crown’un Dimensional Claw’ı son ikisini birleştiriyor.
  • Lost Crown’da grapple serbest nişan değil, işaretli noktalara kancalanıyor ve kendi butonunda (zıplamayla paylaşmıyor) — bağlam çakışması tasarımla değil buton ayrımıyla çözülmüş. (Game8 rehberi)
  • Sallanmanın iki modu: ratcheting (yaklaştıkça ip kısalır) ve loose (ip uzunluğu ilk mesafede sabit). Farklı his, farklı kullanım. (itch.io devlog)
  • Bırakma anı bir beceri eksenidir. Bionic Commando salınım sırasında küçük bir reticle gösterip maksimum hız için ne zaman bırakman gerektiğini öğretiyor. (Engadget)
  • Bağlanma noktası ham trace çarpma noktası değil, nesnenin merkezi/optimal noktası olmalı — inandırıcılık farkı büyük. (itch.io devlog)
  • Nine Sols’ta grapple noktaları yere değmeden sınırsız zincirlenebiliyor — dikey ilerlemenin ritmi buradan geliyor. (Nine Sols Wiki)

“İyi hissettiren” ayrıntılar — doğrulanmış sayılarla

Sayılar Celeste’in kaynak kodundan ve geliştirici yazısından. Tablo bilerek ikiye bölündü — bkz. “Sayıların yarısı taşınır, yarısı taşınmaz”.

Taşınır: zaman alanı (saniye — boyuttan bağımsız, UE’ye olduğu gibi girer)

Değer Celeste Not
Coyote time JumpGraceTime = 0.1s → 60fps’te 6 frame doğrudan kullanılabilir
Variable jump VarJumpTime = 0.2s → 12 frame’e kadar tuş basılı tutulunca yükselme sürer doğrudan kullanılabilir
Jump buffer var, süresi yazıda verilmemiş ikincil kaynak 4 frame diyor, doğrulanamadı
Dash süresi / cooldown DashTime 0.15 / DashCooldown 0.2 air dash’i olan tasarımlar için karşılaştırma değeri
Wall jump yön kilidi GameMaker referansında 10 frame doğrudan kullanılabilir

Mesafe/hız alanı: dış kaynak yok, projenin kendi sayıları

Celeste’in mesafe ve hız sabitleri (MaxRun 90, 2 px duvar toleransı, MaxFall 160) bu dokümandan çıkarıldı. Gerekçe: 320×180 piksel dünyasına ait, cm’ye çevrilmiyor, ve yan yana durdukları sürece yanlış kıyaslamaya davetiye. Yerine geçen tek doğru çapa, hedef projenin kendi hareket sabitleri ve onlardan türetilen değerlerdir.

Yeni state’ler için hedef aralıklar — dış kaynaktan gelen tek sayı Unity Platformer Kit’in duvar algılama varsayılanı 0.2 m = 20 cm (Unity Platformer Kit dokümanı); gerisi projenin kendi sabitleriyle tutarlılıktan çıkarılan başlangıç tahminidir, ölçülmüş değer değil:

Yeni tunable Başlangıç önerisi Gerekçe
WallDetectDistance 15–25 cm (kapsül yüzeyinden) Tek kaynaklı çapa 20 cm. Kapsül yarıçapına oran olarak tutulmalı, mutlak sayı olarak değil
ClimbSpeed (merdiven) 200–300 cm/s Yürüme hızının ~%40’ı. Merdiven yavaşlatır ama “Sık yapılan hatalar” bölümündeki lock-in maddesine göre fazla yavaşlatmamalı
WallSlideMaxFallSpeed Serbest düşüşün ~%25–35’i Wall slide bir hız değil, MaxFall clamp’idir (bkz. “Duvar zinciri”)
WallJumpLaunch Yatay ≈ sprint patlama hızının yarısı, dikey ≈ zıplama hızı Duvardan sıçrama normal zıplamadan alçak hissetmemeli
WallJumpInputLock 10 frame ≈ 0.17 s Zaman alanı — dışarıdan taşınabilen tek wall-jump sayısı

Genel pratik aralık (atıfsız blog, orta güven): coyote 80–140 ms, buffer 80–150 ms. Ayarlama sırası: önce coyote, sonra buffer, en son jump arc/gravity — beşini aynı anda oynatma. 30/60/120 FPS’te ayrı test et.

Geometrik affedicilik (dikey harekette kritik; hepsi Maddy Thorson’ın Celeste yazısından):

  • Jump corner correction: tavan köşesine kafa vurunca karakteri yana kıpırdatıp köşeden geçir.
  • Dash/dash-benzeri corner correction: yana hızlı hareketle köşeye sürtersen çıkıntının üstüne pop’la.
  • Lift momentum storage: hareketli platformdan zıplayınca platformun momentumu eklenir ve platform durduktan birkaç frame sonra bile korunur.
  • Ortak ilke: zamanlama ve konum pencerelerini oyuncunun lehine genişlet.

2.5D karşılığı (bkz. “Çarpışma 3D”): yukarıdakiler tile grid + AABB varsayar, orada bedavadır. Kapsülle corner correction kafa/omuz sweep’i + yanal nudge olarak elle yazılır. Nudge mesafesi kapsül yarıçapına oranlı olmalı ve yalnız X ekseninde uygulanmalı — Y’ye taşan bir düzeltme karakteri düzlemden çıkarır.

Animasyon ve iptal edilebilirlik:

  • En net kural: “Oyuncu girdisine tam öncelik ver, karakter animasyonunu kesiyor olsa bile.” Animasyona öncelik veren tasarım (ilk PoP, Another World, Dark Souls) bilinçli bir ağırlık tercihidir; reaktif oyun istiyorsan yapma. (Game Developer yazısı)
  • Recovery animasyonunun son frame’leri idle’a benzememeli; benzerse oyuncu erken input dener ve “girdim yendi” hisseder. “Clunky” hissinin ana kaynağı budur. (Rivals Lib yazısı)
  • Lost Crown’da gameplay animasyonlarında mocap kullanılmamış, tamamı keyframe — snappy his için. Ekip Rayman deneyiminden “60 fps’in ne kadar stratejik olduğunu” öğrendiğini söylüyor. (Ubisoft yazısı, Way Too Many Games incelemesi)
  • Placeholder ses/VFX’i, hareket değişkenlerini ayarlamadan ÖNCE koy. Bir geliştirici tüm fizik kurallarını uyguladığı hâlde “limp” hissini gideremiyor; sadece zıplama sesi ekleyip koşu animasyon hızını hıza bağladığında oyun anında reaktif hissettiriyor. (Game Developer yazısı)

Kamera (Itay Keren, “Scroll Back”, GDC 2015):

  • camera-window: karakter bir pencere içinde serbest hareket eder, kamera ancak pencere kenarına dayanınca kayar.
  • Pencere yüksekliğini standart zıplama yüksekliğine eşitle — normal bir zıplama kamerayı hiç oynatmasın.
  • platform-snapping (Super Mario World, Rayman): kamera zıplama boyunca sabit, karakter platforma indiği anda hizalanır. Side-scroller’da dikey kameranın en yaygın doğru çözümü.
  • Dikey lookahead’i hızdan ekstrapole etme — “zıplamalar ve özellikle inişler iyi ekstrapole olmuyor.” Bu tam olarak platformer’da tutmayan tekniktir.
  • Manuel kamera kaydırma gerekiyorsa mevcut kontrolleri yeniden kullan (Spelunky: yukarı bak / çömel → kamera kayar). Ayrı omuz tuşu (SMW) işe yaramamış.
  • Camera shake = kontrolün bilinçli kaybı; kapatılabilir olmalı (Lost Crown’da erişilebilirlik ayarı). (Ubisoft News röportajı)

Assist katmanı — Lost Crown’un yaklaşımı (Ubisoft News röportajı): parry timing ve dodge penceresi oyuncu ayarlı slider; aim assist gücü ayarlanabilir; zor platform bölümleri için atlanabilir portal (toleransı gizlice değiştirmek yerine görünür bir kapı). Tasarımcının sözü: “Varsayılan olarak gereksiz bariyerleri, seçenekle değil tasarımla ortadan kaldırmanın yollarını ara.”

Sık yapılan hatalar

Merdiven

  • Lock-in animasyonlu yavaş merdiven — gerçekçi görünür, tempoyu öldürür, uzun merdivenleri işkenceye çevirir. (EGM yazısı)
  • Merdiven state’inin oyunun kurallarını değiştirmesi (Castlevania basamakları: subweapon için farklı tuş sırası). Sonraki oyunlar “istediğin an zıpla/in” ekleyerek düzeltti.
  • Tepeden binmeyi zorlaştırmak — Half-Life’ta yukarıdan merdivene binmek doğal olmayan bir hassasiyet istiyor. (EGM yazısı)
  • Havadan merdiven yakalamayı desteklememek — Blasphemous’ta asılı merdivenlere zıplarken girdinin yutulması, oyuncunun “komut verdim, karakter beni yok sayıyor” hissiyle dikenlere düşmesi. (Play Critically incelemesi) Havadan merdiven yakalama kararının tam karşılığı.
  • Merdiveni sadece koridor olarak bırakmak → oynanış merdivende duruyor.

Duvar / tolerans

  • Coyote penceresini fazla kısa tutmak — Blasphemous incelemesi bunu ismen tarif ediyor: “zıplamak için son şans diğer platformerlardan çok daha erken bitiyor.” (Play Critically incelemesi)
  • Buffer’ı tüketmeyi unutmak → istemsiz çift zıplama. Başarılı zıplamadan sonra buffer temizlenmeli.
  • Wall jump lockout’unun girdi yemesi — lockout sırasında gelen zıplama input’u buffer’lanmazsa oyuncu “bastım olmadı” der. (forum)
  • Asıl “kötü zıplama hissi” çoğu zaman coyote ayarı değil, ground detection bug’ıdır.

His / kamera / süreç

  • Animasyona girdiden öncelik vermek; havada aksiyonları sessizce kilitlemek. (Game Developer yazısı)
  • Yuvarlatılmış platform kenarları — “bastım sandım, kaydım”. (Game Developer yazısı)
  • Her zıplamada kamerayı takip ettirmek → sürekli dikey sarsıntı. (Scroll Back)
  • Ses/VFX’i “sonra ekleriz” deyip hareket değişkenlerini onlarsız ayarlamak.
  • Tek framerate’te test etmek; framerate’e duyarlı fizik entegrasyonu (Euler düşük FPS’te zıplama yüksekliğini düşürür → tasarlanan platformlar ulaşılamaz olur). (Guille Sánchez blogu)

Kaynak listesi

Mimari referanslar — projeye en yakın olanlar

# Kaynak Tür UE BP/C++ Kapsam Değer
A1 Nauja/ue4-climb2d-sample GitHub, MIT, 16★ 5.2 (ue4.25 branch var) C++ (repo Paper2D tabanlı) ASampleClimbableVolume overlap → bWantsToClimb (crouch pattern’i) → SetMovementMode(MOVE_Custom, MOVE_Climbing)PhysCustomClimbingFSavedMove_ ile replikasyon; tırmanırken zıplama + cooldown. Mantle yok, animasyon yok. README’nin kendisi kod parçalı yazılı tutorial ★★★★★ Yalnızca C++/CMC mimarisi için. Değeri Paper2D olması değil — MOVE_Custom + PhysCustom + FSavedMove_ deseni motor tarafıdır, sprite’tan bağımsızdır ve düzleme kilitli karakterde birebir çalışır. Sprite/tilemap içeriği kullanılmayacak
A2 Epic Dev — Climbing Up! Ladders in Multiplayer Yazılı, Epic topluluk 5.1–5.5 C++ CharacterMovementComponent’i custom movement mode ile genişletme. Montage yöntemini açıkça reddediyor, gerekçesi: oyuncunun merdivende tam kontrolü (ateş etme, istediği an atlama) sürmeli. Prosedürel/serbest yükseklikli merdiven varsayımı ★★★★★ Root motion kararının doğrudan tartışıldığı tek kaynak
A4 Udemy — elseware Games, UE5: Create a Ladder System from Scratch Ücretli kurs · 13s 20dk · 39 ders · 3.8★ (yalnız 2 oy) · 16 öğrenci · güncelleme 4/2026 5.3+ (5.7 öneriliyor) BP + Anim BP Prosedürel merdiven (ISM, otomatik yükseklik), etkileşim widget’ı, Enter on Bottom (2 ders) / Enter on Top / Exit on Bottom / Exit on Top (20:06), kamera geçişleri (Camera Manager, data-driven), Climb Up/Down location + anim geçişleri, hızlı tırmanma, kayarak inme, bug-fix bölümü, NPC AI merdiven kullanımı ★★★★ Merdivenin tam problem uzayını kapsayan tek kaynak. Ama 3D, 13 saat, ve sosyal kanıtı neredeyse yok (2 oy) — baştan sona izlenecek değil, bölüm seçilecek kaynak
A5 Udemy — Vince Petrelli, UE5 C++: Climbing System Ücretli kurs · 7s 01dk · 64 ders · 4.6★ (298) · 4008 öğrenci · güncelleme 1/2026 5.x C++ Custom UCharacterMovementComponent, PhysClimb, trace ile yüzey tespiti, ledge tespiti → mantle montage (root motion), Control Rig el/ayak IK, Motion Warping vaulting ★★★★ Merdiven değil serbest yüzey tırmanışı ama iskeletli karakterde elin/ayağın basamağa oturması gerçek bir problem ve Control Rig IK’yı işleyen tek kaynak. ⚠ Yazar Ali Elzoheiry değil — arama sonuçları yanlış atfediyor
A6 Shaun Fulton — How to Climb a Ladder in UE5 (Medium) Yazılı, ~10 dk 5.5.4 BP BP_Ladder + Box overlap → SetMovementMode(Flying) + SetBrakingDecelerationFlying(8000), UpdateClimbMovement Actor Up vektörüyle, line trace ile yerde aşağı hareketi engelleme. Animasyon yok, mantle yok ★★★ Bir öğleden sonrada çalışan prototip. 2.5D’ye uyarlaması kolay (X ekseni zaten kilitli)

Merdiven — video

# Başlık Kanal Süre Tarih UE BP/C++ Kapsam
B4 Source-like Ladders in Unreal Engine Peanut Games 29:24 2024-01-28 5.3 BP Half-Life 2 tarzı merdiven (kamera yönü tabanlı). 3D/FPS
B5 UE5: Advanced Ladder SystemP1 · P2 · P3 UE5 Poseidon 2023-06 UE5 BP 3 parça: modüler merdiven / tırmanma / kayarak inme. 3D. Proje dosyaları Gumroad’da
B6 Climbing Ladder: UE Tutorial P1 · P2 Sengchor 2023-04 UE5 BP Marketplace animasyonuyla merdiven. Epic aynası
B7 How To Climb Ladders Matt Aspland UE4 BP Temel yukarı/aşağı, mantle yok
B8 Ladder climbing system Full Course with UE5 unreal magic 3:41 2023-12-08 UE5 BP Bu bir kurs değil, kurs fragmanı. Asıl içerik Udemy’de ücretli (8s 07dk, 95 ders, 4.6★/106 oy — Bölüm 10 tamamen “Ladder Climb out From Top logic”)

Duvar zinciri — wall slide / wall jump

# Başlık Kanal Süre Tarih UE BP/C++ Kapsam
C1 UE5 Platformer: Wall Slide & Jump | C++ Tutorial SPC Game Studios 22:13 2023-10-23 UE5 C++ Custom CMC’ye WallSlide custom movement mode + PhysWallSlide (PhysWalking türevi). Kaynak kod GitHub’da. Mixamo Hanging Idle
C2 How To Make Wall Jump and Slide In UE5 Unreal University 16:10 2023-12-07 UE5 BP En çok izlenen (31.8k) BP anlatımı; animasyon + partikül dosyaları paylaşılmış. 3D
C3 Wall Jumping! | Fighting Game UE4/UE5 & C++, Part 194 Shawnthebro 30:23 2023-10-15 UE4/5 C++ Yandan görünüş dövüş oyunu serisinin içinde: duvardan sıçrarken özel kuvvetler + wall jump’ın koşullarını belirleme. 2.5D’ye en yakın wall jump örneği
C4 Parkour Series — Wall Sliding & Jumping UE5 Poseidon 26:16 2024-07-02 UE5 BP Duvara koşarak girme, kaydıkça artan (clamp’li) kayma hızı, wall jump + double jump. 3D, seri
C5 Best Wallslide and Walljump version Xxyoth 5:24 2019-04-19 UE4.22 BP Kısa, slide+jump’ı birlikte veriyor. Eski
C6 Wall Run & Wall Jump — Fully Networked Epic topluluk UE5 Wall run komşusu; duvar temas mantığı aktarılabilir
C7 Fab — Climb: 2.5D Wall Movement (infectedfury) Fab, kişisel kullanım ücretsiz 4.24+ UE4 BP wall jump, wall climb, ledge holding + ledge climbing, tırmanılabilir hareketli platformlar. Tanıtım videosu 1:01 — tutorial değil, showcase. Artık güncellenmiyor

Ledge grab / mantle (merdiven tepesi için gerekli)

# Başlık Kanal Süre Tarih UE BP/C++ Kapsam
D1 CLIMB OVER THE TOP (Mantle) in 15 MINUTES MarcGameDev 15:45 2026-04-30 5.7 BP Line trace ile kenar tespiti, capsule trace ile boş alan kontrolü, Motion Warping ile mantle, montage geçişleri, animasyonsuz fallback, duvardan geçme (clipping) önleme, girdi/hareket geçiş düzeltmeleri
D2 UE5 RPG Series #32: Ledge Climb and Mantling Gorka Games 26:21 2023-06-14 UE5 BP ARPG serisi içinde; MantleLedge animasyonu veriliyor. 75.9k izlenme
D3 UE5.2 Ledge Climbing Tutorial Series Ep.1Ep.6 Mantle System Chalk-Line Games Ep1 24:26 2023-07-17 5.2 BP 6+ bölümlük sistemli seri: climbing state’leri, ledge grab konumu, shimmy, mantle. ⚠ Ön koşulu var: kendi “Enhanced Input Root Motion” locomotion serisi
D4 UE5: Parkour series | Ledge Climbing (8 parça) UE5 Poseidon UE5 BP hang, climb up, shimmy, drop, köşe dönme, yönlü hop, jump-to-hang
D5 Titanfall 2 Wall Climb, Ledge Grab & Mantle DavieMakesGames UE4 BP Üç mekanik tek videoda

Sallanma / tutunma çubukları

# Başlık Kanal Süre Tarih UE BP/C++ Kapsam
E1 Hang and Swing System on UE5 LocoDev 31:29 2024-02-01 UE5 BP Pendulum + swing sistemi: Anim BP, state machine, blend mantığı, timeline’lar. Tutunma + sallanma ikilisine en yakın tek video
E2 Physics Based Rope Swing System Matt Aspland 36:38 2025-02-20 UE5 BP İpe atla/in, ileri/geri/sol/sağ sallanma, ip üzerinde yukarı/aşağı
E3 UE5.2 Grapple Hook System P1: Setup & Target Creation Chalk-Line Games 27:19 2023-06-26 5.2 BP Hedef noktası (grapple target) mimarisi + görünürlük widget’ı. Lost Crown’un “işaretli noktaya kancalanma” modeline uygun. Tutorial dosyaları paylaşılmış
E4 Fab — Advanced Swinging (JB Gameworks) Fab asset (tutorial değil) UE5 BP Açıklamada: “NOW INCLUDES BOTH THIRD PERSON AND SIDE SCROLL EXAMPLES”; mesafeye göre otomatik tracer, ip uzat/kısalt; 2.5D sallanma için tek hazır referans
E5 Grapple Hook in UE5 | Tutorial Fallen Horizon 2025-05 UE5 BP İki farklı kuvvet uygulama yöntemi + swing karşılaştırması
E6 Unreal Rope Swinging System CodeLikeMe UE BP Klasik ip sallanma

Boşluk: “tutun ve 8 yönden birine fırla” mekaniğini anlatan hiçbir UE tutorial’ı bulunamadı. En yakınları E3 (hedef seçimi) + E5 (kuvvet uygulama) + E4 (side-scroll swing). Bu parça sıfırdan yazılır.

2.5D temel + traversal altyapısı

# Başlık Kanal Süre Tarih UE Kapsam
F1 How to make a 2.5D Platformer in UE5 — Beginner Cobra Code 16:54 2022-12-07 UE5 Gerçek 2.5D: 3D mesh’i düzleme kısıtlama (bConstrainToPlane) + Donkey Kong Country Returns tarzı kamera. Sprite yok. 226k izlenme
F3 2D Metroidvania Camera System (4 parça) LesserDog Tutorials UE Oda geçişli metroidvania kamerası
F4 Game Animation Sample Project — UE 5.8 Epic (resmî) 5.8 Motion Matching + traversal (vault/mantle) referans projesi. ⚠ Tam 3D odaklı; 2.5D’de locomotion için değil, yalnız vault/mantle animasyon pipeline’ı için bakılmalı
F5 Setup Custom Traversal Animations for GASP Threepeat Games 2024-08 5.4+ Kendi vault animasyonunu GASP traversal sistemine takma

Öneri

Nereden başlamalı — sıralı rota

Adım 0 — önce root motion kararı (A2 + A4). Tırmanma hareketinin root motion’la mı, kodda bir hız değeriyle mi süreceği izlenecek kaynağı belirliyor. Araştırmanın verdiği cevap melez ve iki bağımsız kaynak aynı ayrımı yapıyor:

Parça Yaklaşım Neden
Tırmanma döngüsü In-place animasyon + kodda hız değeri Epic’in C++ merdiven yazısı (A2) montage yöntemini bilerek reddediyor: oyuncu merdivende her an kontrolü korumalı, istediği an bırakabilmeli ya da atlayabilmeli. Basamak aralığı da serbest kalıyor.
Giriş, çıkış ve tepe mantle Montage (root motion, motion warping) Kısa, kesin konumlanması gereken, iptal edilmeyen geçişler. A4 müfredatı tam böyle ayırıyor: giriş ve çıkış ayrı montage’lar, tırmanma ise konum hesabı + animasyon geçişi. D1 mantle’ı Motion Warping ile kuruyor.

Döngü in-place olsa da “bir döngü kaç cm” değeri animasyon ile kod arasında sözleşme olarak kalıyor; yoksa ayak kayıyor. Yöntemin ayrıntısı ayrı paftada: Merdiven — Yöntem Brifingi.

Adım 1 — mimariyi oku: A2, sonra A1. A2 merdiven hareket modunun neden böyle kurulduğunu, A1 aynı desenin 2D’de nasıl göründüğünü veriyor. A1’de bakılacak kısım reponun hareket kodu: MOVE_Custom alt-modu, PhysCustomClimbing ve FSavedMove_ replikasyonu. Reponun Paper2D içeriği bu iş için ilgisiz. A1’de mantle yok; o boşluğu A4 ve D1 dolduruyor.

Adım 2 — duvar zinciri: C1 ve C3. C1 (C++) CharacterMovementComponent’e WallSlide custom movement mode ve PhysWallSlide ekliyor; kaynak kodu GitHub’da ve mimarisi merdiven modunun kardeşi. C3 (C++) wall jump kuvvetlerini ve tetikleme koşullarını yandan görünüş bağlamında gösteriyor, 2.5D’ye uyarlaması en ucuz olan. Blueprint’te görsel referans için C2 veya C4 (kaydıkça artan, clamp’li kayma hızı).

Adım 3 — merdiven tepesi ve kamera: A4’ten seçilmiş bölümler, D1. A4 13 saatlik, 3D odaklı bir kurs; tamamı yerine dört bölümü yetiyor: Enter to Ladder on Top, Exit from Ladder on Top, Climb Up Location Calculation ve Camera Transitions. D1 (UE 5.7) mantle’ın Motion Warping’li güncel karşılığı ve sürüm olarak 5.8’e en yakın kaynak.

Adım 4 — swing, sonraya bırakılabilir: E1 ve E4. E1 hang ve swing’i tek state machine’de gösteren tek video; E4 side-scroll örneği içeren tek hazır asset. Sekiz yönlü çıkış için hazır kaynak yok, E3’ün hedef-noktası mimarisiyle birleştirilerek yazılıyor.

Tek bir şeyle başlanacaksa

A1 (Nauja repo) + A2 (Epic C++ yazısı). Gerekçe: ikisi de ücretsiz, ikisi de yazılı (hızlı taranır), ikisi de C++ + custom movement mode yolunu izliyor. Video tutorial’ların neredeyse tamamı Blueprint ve Flying moduna kısayol yapıyor; o kısayol merdiven için çalışır ama Wall Slide, Swing ve Ladder’ı aynı state machine’e oturtmak gerektiğinde dağılır; üçünün tek bir hareket makinesinde MOVE_Custom alt-modları hâlinde oturması gerekiyor.

A1’in Paper2D olması bu iş için önemsiz: alınacak şey MOVE_Custom + PhysCustomClimbing + FSavedMove_ deseni, yani motor tarafı. Sprite/tilemap içeriği açılmayacak bile.

YouTube linkleri — mekaniğe göre

Listedeki her şey 3D iskeletli veya 2.5D bağlamında; ⭐ işaretliler öncelikli.

Merdiven

Video Süre
Peanut Games — Source-like Ladders (5.3) 29:24
UE5 Poseidon — showcase (seriyi izlemeden çıktıyı görmek için)
unreal magic — kurs fragmanı · ücretli kursun çıktısını görmek için ideal 3:41
UE5 Poseidon — Advanced Ladder P1
UE5 Poseidon — P2 (tırmanma)
UE5 Poseidon — P3 (kayarak inme)
Sengchor — Climbing Ladder P1
Sengchor — P2 (final)
Matt Aspland — How To Climb Ladders (UE4)
Quinn Anthony — How To Climb Ladders (UE5)
Scaling New Heights — Interactive Ladders
Ladder Climbing System on UE5
Ladder Climbing Replication

Wall slide / wall jump

Video Süre
SPC Game Studios — Wall Slide & Jump C++ 22:13
Shawnthebro — Wall Jumping, yandan görünüş + C++ 30:23
infectedfury — Climb 2.5D Wall Movement showcase (asset tanıtımı, tutorial değil) 1:01
Unreal University — Wall Jump and Slide (en çok izlenen) 16:10
UE5 Poseidon — Parkour: Wall Sliding & Jumping 26:16
Xxyoth — Best Wallslide and Walljump (UE4.22) 5:24
DEVenestration — Wall Jump
Haez — Wall Jump
Ryan Laley — Wall Running P1 (komşu mekanik)
LocoDev — Simple Wall Run
Unreal Axis — Wall Run Jump

Ledge grab / mantle (merdiven tepesi için)

Video Süre
MarcGameDev — Mantle in 15 min, UE 5.7 + Motion Warping 15:45
Gorka Games — RPG #32: Ledge Climb and Mantling 26:21
Chalk-Line — Ledge Climbing Ep.1 24:26
Chalk-Line — Ep.3 (grab konumu)
Chalk-Line — Ep.6 (Mantle System)
UE5 Poseidon — Ledge Climbing P1
Matt Aspland — Vaulting & Climbing P1
DavieMakesGames — Titanfall 2 climb/grab/mantle
LocoDev — Ledge Climb System
LocoDev — Mantle and Vault 2.1
Ryan Laley — Climb Ledge Pt.1 (UE4)
YKCreation — ALS mantle+vault entegrasyonu
CodeLikeMe — Climb up ledge #253

Swing / grapple / tutunma çubuğu

Video Süre
LocoDev — Hang and Swing System (tutunma + sallanma ikilisine en yakın) 31:29
Chalk-Line — Grapple Hook P1: hedef noktası mimarisi 27:19
Matt Aspland — Physics Based Rope Swing 36:38
Fallen Horizon — iki farklı kuvvet yöntemi + swing
LocoDev — Grappling Hook System
CodeLikeMe — Rope Swinging
Reids Channel — Dynamic Grapple Hook 1/2
Reids Channel — 2/2
Reids Channel — Grappling 4/4
Gorka Games — Grappling Hook (hızlı/basit)
Unreal Axis — FP Locomotion paketi (grapple + wall run)
Tomer Barz — Grappling Hook Swing (UE4.24)

2.5D kurulumu ve kamera

Video Süre
Cobra Code — 2.5D Platformer (düzlem kısıtı + DKC Returns kamerası) 16:54
LesserDog — 2D Metroidvania Camera P3 (oda geçişleri)
Gorka Games — Side-Scroller full beginner course
UnrealBob — Sidescroller Full Template tanıtımı
infectedfury — 2.5D Sidescroller Starter Kit v2.0

Traversal / Motion Matching (yalnız animasyon pipeline’ı için)

Video
Threepeat Games — GASP’a custom traversal animasyonu takma (5.4+)
Unreal DevOP — Motion Matching Anim Montages / Traversal genel bakış
Unreal-X — Make Any Object Traversable (5.6)
Clip maker — Motion Matching climbable kurulumu (5.4)
Gorka Games — Motion Matching sample’ı kendi projene taşıma
Rev Tarih Çizen Değişiklik
R-008 Alparslan İlk kayıt