
描述
One component. Infinite organic motion.
Add smooth, organic procedural motion to any actor or camera in seconds - floating, hovering, idle sway, ambient wander, drifting debris, and subtle handheld camera shake - all keyframeable in Sequencer with a full Blueprint API.
Under the hood, Brownian Motion is a SceneComponent that applies Ornstein-Uhlenbeck mean-reverting noise to any actor in your scene. Unlike random noise or sine waves, OU noise has memory - it wanders organically but always pulls back toward center. The result is natural, unpredictable movement that never spirals out of control.
Drop it on a mesh. Hit Play. Floating debris, drifting cameras, ambient idle motion - done.
Why OU noise instead of random noise?
Random noise jitters. Perlin noise tiles. Sine waves repeat. Ornstein-Uhlenbeck noise does something different: it behaves like a physical particle suspended in fluid. It drifts in one direction, then gradually reverses. It lingers near center but occasionally wanders to the edges of its range. The motion looks alive because the math behind it models a real physical process.
This is the same stochastic process used in quantitative finance to model interest rates, in physics to model particle diffusion, and in biology to model organism movement. Now it drives your UE5 actors.
Collision avoidance that actually holds
Flip one switch and every wanderer becomes aware of the world around it. The component sphere-sweeps in six directions and bends the path away from walls, floors, and props before contact happens - repulsion, not a binary block. Radii auto-size from the actor's mesh bounds, an overlap-escape system recovers objects that start inside geometry, and a diagnostic API (PenetrationFailureCount, IsCurrentlyPenetrating) proves the avoidance holds. Debug visualization shows the collision and detection spheres live in the viewport.
Two ways to use it
Parent mode (recommended): Add the component to an actor and parent your meshes underneath it. Children inherit the motion automatically.
Affect Parent mode: Drop the component onto any existing actor and enable Affect Parent. The component moves the actor's root - no hierarchy changes needed.
What you get
Ornstein-Uhlenbeck noise engine with mean-reversion strength, speed, and amplitude controls
Collision avoidance - six-direction sphere sweeps, auto-sizing, overlap escape
Critically-damped spring smoothing - from raw jitter to buttery-smooth drift with a single slider
Fractal detail layers - Voss-McCartney 1/f pink noise adds multi-scale organic complexity
Independent per-axis control - enable/disable X, Y, Z with separate range limits per axis
Rotation noise - independent OU process for procedural rotation with per-axis amplitude
Smooth blend in/out - activate and deactivate motion smoothly with configurable blend duration
Anchor bias - offset the rest position toward any corner of the range
Deterministic seed - same seed produces identical motion every time, or use 0 for non-deterministic
Editor preview - see the motion in viewport without entering PIE
Full Sequencer integration - all motion parameters carry the Interp flag for keyframing; standalone Sequencer track with Speed, Amplitude, RangeMin, RangeMax channels
Custom Sequencer track editor - add a Brownian Motion track directly to any actor in the Sequencer timeline without the component (uses deterministic Perlin noise for scrub-safe evaluation)
Blueprint API - Reset, SetOrigin, ActivateMotion, DeactivateMotion, GetCurrentOffset, GetBlendWeight, plus diagnostic getters
43 headless automation tests covering axis isolation, range coverage, blend timing, determinism, collision edge cases, smoothness verification, and performance benchmarks
RT-safe dead-zone filtering - suppresses TLAS rebuild storms when hardware ray tracing is enabled with many Brownian actors
Use cases
Floating debris, dust, and particles
Camera drift and handheld shake
Ambient object movement (lanterns, buoys, hanging signs)
Procedural idle animation
Atmospheric environment motion (fog volumes, light sources)
Cinematic sequences with natural camera wander
Documentation, issues and support: ue-BrownianMotion on GitHub
Free example project (the walkable feature gallery shown in the media): download BrownianShowcase (UE 5.8)
Free TouchDesigner version of the same math: td-BrownianMotion on GitHub
Also by REMrepo: Property Recorder (FREE - record live Actor changes as Sequencer keyframes)





