feat: first-person player with Enhanced Input

AGigLineCharacter: 1.75 m capsule, 1.60 m eye camera, 4 m/s walk, mouse look
scaled in degrees per second (no double DeltaTime), jump. Loaded ahead of a
Blueprint so the demo is playable with no assets wired by hand.

Tools/ue_create_input_assets.py builds /Game/Input headlessly: five 1D actions
and an 11-mapping context. One action per direction instead of per-key modifiers,
because modifier objects do not survive the save path here: a mapping's modifier
array serialises None, and dimensioning a 2D move with per-key axis masks would
need exactly those modifiers. The cost is four action assets rather than two.

Also adds a fourth review camera at eye height and documents it; its approval is
pending.
This commit is contained in:
zwitschi committed 2026-11-07 10:05:13 +01:00
1 parent b3815499e0
commit a0de0a6626
16 files changed
+522 -8

No files matched your search

+8 -2
View File
@@ -100,6 +100,9 @@ try:
unreal.Vector(900, -1100, 500),
unreal.Vector(200, -300, 160),
unreal.Vector(200, 100, 200),
# first-person eye height, just south-east of the character: this is the
# view a player has at spawn, capsule and camera stack in frame
unreal.Vector(120, -260, 165),
])
shots.set_editor_property("shot_rotations", [
unreal.MathLibrary.find_look_at_rotation(
@@ -108,10 +111,13 @@ try:
unreal.Vector(200, -300, 160), unreal.Vector(0, 0, 85)),
unreal.MathLibrary.find_look_at_rotation(
unreal.Vector(200, 100, 200), unreal.Vector(0, 600, 50)),
unreal.MathLibrary.find_look_at_rotation(
unreal.Vector(120, -260, 165), unreal.Vector(-200, 600, 90)),
])
shots.set_editor_property("shot_names", ["overview", "character", "scale-cubes"])
shots.set_editor_property("shot_names",
["overview", "character", "scale-cubes", "first-person"])
shots.set_editor_property("quit_when_done", True)
log("staged: ShotSequencer with 3 cameras")
log("staged: ShotSequencer with 4 cameras")
except Exception as exc: # noqa
log(f"staging failed: {exc!r}")