Guan’s / Fencing Club
FDE portfolio / Technical integration

From match footage
to spatial insight.

Connecting AI-assisted development, motion capture, 3D authoring, and a real-time engine into a fencing replay you can walk around.

Explore the integration ↓
UE fencing replay with blue and orange sword-tip trails and reference footage on the rear wall
Actual UE capture · One-second sword-tip histories
2 athletesImported skeletal animations
24 fpsShared replay timeline
1 secondFading sword-tip history
48 HzPrecomputed tip samples
Demo film

See the workflow
in motion.

A narrated demo video will be added here. For now, explore the actual UE captures above and the implementation below.

Browse the project on GitHub ↗
01 / The integration

Five stages.
One working experience.

My contribution is connecting the workflow end to end: choosing tools, translating requirements, handling mismatched asset conventions, and verifying the result. Select a stage to inspect its role and implementation evidence.

AI-assisted development, directed by product intent

I used Codex, including Computer Use in my broader workflow, and GPT-6 Astra to help develop the 3D scene and integration scripts. I supplied the goals, source assets, and iterative requirements. The repository preserves Python and shell-driven implementation evidence; it does not include a Computer Use session recording.

Evidence → Blender generators · UE Python scripts · runtime checks
02 / Engineering judgment

The work between
the tools.

The most useful decisions came when an asset or API output did not behave as the final experience required. Each fix became a repeatable part of the implementation.

01 / MOTION INTEGRITY

Keep the duel on the piste.

Resolve Blender-to-UE coordinate and unit conventions. Preserve forward movement, exclude the T-pose variant, and cancel lateral root drift with an actor-position track.

02 / PLAYBACK RELIABILITY

Make the screen follow the action.

Replace a black-screen media path with a 720p image sequence. Use a shared Sequencer clock, pad the final frame, and handle loop boundaries explicitly.

03 / MOVEMENT READABILITY

Make a fast motion visible.

Attach sabres to the wrists, sample each 3D tip at 48 Hz, and fade its previous second of movement. Clear the history on restart to avoid false connecting lines.

03 / Verified delivery

Show the result.
State the boundary.

Repeatable runtime checks make this more than an attractive scene. The latest saved test was run again after moving the complete project to another drive.

Recorded steady-state clock difference35.7 ms

Maximum sampled video / sequence time difference in the latest saved Play test.

September 29, 2026 · Windows · UE 5.8.3 · GTX 1050 Ti
Below one 24 fps frame in this test. Not display latency, motion accuracy, or a cross-hardware guarantee.
Source → tip_trails_validation.json

What the checks cover

  • Two animated athletes and piste placement
  • Video playback, timing, and loop restart
  • Sabres attached to the reconstructed wrists
  • Tip positions and the trail material’s replay clock

What this prototype does not claim

The sword trails visualize the current 3D animation. They are not measured real blade-tip trajectories. Reconstruction errors can remain; blade bending, hit adjudication, and coaching accuracy are not implemented or validated.

04 / Try the project

Explore locally.
Inspect the implementation.

This page is a screenshot-based case study with an interactive pipeline explorer. The full 3D walkthrough runs in Unreal Engine on Windows.

Open the setup guide ↗

01  Install Unreal Engine 5.8
02  Obtain the project and authorized assets
03  Configure UE_EDITOR in Play.cmd
04  Launch · W/A/S/D · mouse · Space

DeepMotion generation is an upstream workflow described by the project owner. The repository consumes its exported FBXs; the API client and credentials are not included. Audio is muted. Changes to motion or geometry require trail regeneration.