PBMovement

版本 v1.0.4·更新於 2026-08-29

HL2 style character movement, ported from Project Borealis. Bunnyhopping, air strafing, surfing, and more!

模組介紹 作者原文

PB Movement for Voices of the Void

Gives your character Half-Life 2 / Source-engine movement - air-strafing, bunnyhopping, and surfing - in place of VotV's default movement.

What you get

Air-strafing, bunnyhop (manual or auto), surfing on steep ramps Source-style, classic HL2/Source style character movment straight from Project Borealis.

Built for VotV a09 / a09n.

Configuring it - PBMovement.ini

| Setting | What it does |

|---|---|

| EnableGraft | true/false master switch. Set to false to temporarily get vanilla VotV movement back without uninstalling. |

| RunSpeed | Your normal move speed. PB defaults are HL2-scale. |

| SprintSpeed | Speed while holding your run key. |

| WalkSpeed | Slow-walk speed. |

| JumpZVelocity | How high you jump. |

| AutoBunnyhop | true = hold jump to auto-bhop. false = you must tap jump each time. |

| AirControl | How much you can steer mid-air. 1.0 is full HL2-style control. |

Music at speed ([Music])

Play a song of your own once you are actually moving fast. No music ships with

the mod - drop a file in the same folder as main.dll and name it:

[Music]

File = The Laser Dance Song.mp3; Example

WAV, MP3 and FLAC work (OGG does not). It fades in once you pass SpeedOn

(800 uu/s) and fades back out below SpeedOff (650). Both defaults are

above your sprint speed on purpose - sprinting alone won't start it, you have

to have built real speed by bunnyhopping, ABH or surfing.

| Setting | What it does |

|---|---|

| File | Your song. Empty (the default) turns the feature off entirely. |

| SpeedOn / SpeedOff | Fade in at/above the first, out below the second. The gap stops it flickering while you hover at the threshold. |

| Volume | 0-1. Your in-game volume sliders still apply on top. |

| FadeIn / FadeOut | Seconds for each fade. |

| Loop | Repeat while you stay fast. |

| RestartEachTime | false = a brief dip resumes where it left off. true = always start from the top. |

Requires EnableGraft = true (with the graft off there is no movement tick to

read your speed from).

Surf feel (if ramps don't behave)

Nothing to tune: whether a ramp catches you is decided the way Project Borealis

decides it; if sliding along the surface would throw you upward faster than a

jump, it isn't treated as a floor and you surf. BounceMultiplier in [Surf]

is the only knob left (extra bounce off slope clips; 0 = none).

The remaining sections ([Acceleration], [Braking], [EdgeFriction],

[Slope], [Misc]) are for fine-tuning the exact feel - the defaults match

Project Borealis, so you can leave them alone unless you're chasing a specific

feel.

How it works

PB's UPBPlayerMovement/APBPlayerCharacter are native engine classes that

can't be registered into the shipped game, so instead of instantiating them we

port PB's logic into the mod and graft it onto VotV's existing

UCharacterMovementComponent. Two techniques:

  • Per-instance vtable swap:

on player spawn we copy the component's vtable, point the movement virtuals

(CalcVelocity, DoJump, HandleSlopeBoosting, GetMaxSpeed,

NewFallVelocity, ShouldLimitAirControl) at our ported C++, and swap the

instance's vtable pointer. Only the player's component is affected.

  • Blueprint bytecode patch: VotV's settings

graph overwrote AirControl/JumpZVelocity every load, so we NopRange

those two EX_Let writes in ExecuteUbergraph_mainPlayer (size-preserving)

so PB's values stick.

Credits & license

Movement design and reference implementation by Project Borealis

(PBCharacterMovement),

which is released under the MIT License. This mod ports that movement logic and grafts it onto VotV's player at runtime.

Physics reference from Jiangwei Chong's Half-Life Physics Reference

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
  3. 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
  4. 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。

不同模組的安裝位置差異較大,包內說明是最可靠的依據。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

unreal_shimloader

檔案與校驗

檔案名稱
PBMovement-1.0.4.zip
檔案大小
367.1 KiB