This activation sequence for the OXEO System may appear straightforward at first glance, but it is powered by four distinct spline-based animation frameworks operating in coordination. Delivering this effect in a way that is both visually cohesive and performance-conscious required deliberate architectural layering. Below is an overview of the systems involved and the design rationale behind each.
Spline Path V2
Spline Path V2 serves as the foundational spline animation system within Virtual Viking. It is highly versatile, capable of procedural growth and shrinkage, and able to trigger interactions through collision events or event dispatchers. Multiple instances can be chained together to create complex flow animations, such as those seen throughout VXR.
The system exposes parameters for speed, scale, duration, and color, and includes several quality-of-life features. For example, spline direction can be reversed if authored in the wrong order, and animation timing can be defined by total duration rather than raw speed—improving designer usability and iteration speed.
From an optimization standpoint, the generated mesh is continuously rebuilt and trimmed during growth to maintain contiguous geometry and minimize unnecessary overhead (visible in wireframe). However, the primary limitation is architectural: each animated spline requires its own actor. While flexible, this becomes expensive when many splines must animate simultaneously, such as in the sprinkler system or the OXEO activation sequence.
Straight Scale En Masse
Straight-Scale En Masse was developed specifically to address the scalability limitations of Spline Path V2. Instead of spawning an actor per spline, this system uses a single actor to manage multiple straight spline sections simultaneously.
Because it is restricted to straight segments, the animation logic is simplified and highly optimized. A structured data model (struct-based state tracking) manages per-spline animation data without requiring additional actor instances. Each segment can trigger subsequent segments—or even external spline systems—via collision events, allowing for chained propagation effects.
This system is primarily used in high-density scenarios, such as sprinkler branch lines, where performance efficiency outweighs the need for curvature or other flexibility.
Curved Spline Animation En Masse
The Curved En Masse system extends the same optimization philosophy to curved splines. To enable this, I refactored the growth logic from Spline Path V2 into a shared function library. This decoupling allowed both systems to leverage identical animation behavior while maintaining different architectural constraints.
Like its straight counterpart, Curved En Masse uses struct-based state tracking to manage multiple curved spline animations within a single actor. By consolidating control logic and minimizing actor overhead, it enables complex, simultaneous curved flow animations that would otherwise exceed performance budgets.
Without this system, large-scale activation sequences—such as the OXEO system—would not be feasible on constrained hardware.
Dash Anim
During the development of the OXEO system, I wanted a more tangible electrical signal effect to travel along the wiring. Previous implementations relied on ribbon particle systems stretched between points. This drew a straight line through space that bore no resemblance to the wiring it represented, had no physical presence, and lacked visual cohesion with our water-based spline animations.
Rather than defaulting to Niagara, I created Dash Anim—a spline-driven animation that pushes a cluster of three spline meshes (two caps and a center section) along a path. The animation runs at a configurable speed and duration, physically traversing the spline rather than simulating it via particles.
Because it animates multiple spline meshes dynamically, Dash Anim is one of the more performance-intensive systems. As a result, it is intentionally constrained to short durations or limited distances. The tradeoff favors visual clarity and stylistic consistency over raw efficiency.
Per Segment Animation
The Per-Segment Animation system is the most comprehensive and architecturally ambitious of the spline frameworks. While not yet fully documented, it can be observed in the manifold section at the top of the OXEO activation. (Both at the top of this page, and literally at the top of the OXEO animation)
Unlike other systems that animate entire splines, this framework operates on “segments”—defined as any two points along a spline. Each segment can propagate flow bidirectionally, allowing animated content (e.g., water) to originate from either endpoint, meet at intermediate points, and continue propagating into adjacent segments.
This abstraction enables dynamic flow networks managed internally by a single actor. If fully implemented across an entire system, it could simulate complete flow behavior without requiring discrete spline actors for each branch. The architectural implications are significant: it shifts spline animation from linear playback to graph-based propagation logic.
This system represents a move toward fully procedural, scalable flow simulation and warrants deeper technical documentation in the future.