Mei – Moba Style VFX

Animations by Lucas Åsaborn –  https://www.lucasasaborn.com/mobamoveset

Stylized MOBA VFX

For this project, I wanted to explore hand-painted textures and stylized VFX, taking inspiration from games and shows such as Arcane, Valorant, and League of Legends.

Lucas, a fellow TGA animator, approached me after hearing about the project. I was immediately drawn to his animation style and decided to build a VFX moveset around his character.

The brief was intentionally open: the character should have a fire-based theme, with the ultimate ability forming a cross-shaped attack. From there, I developed the visual language and effects around his animations.

The animation shown here is the original animation provided by Lucas. It included a few initial VFX elements, which I kept where appropriate while redesigning several shapes, shaders, and effects to establish a more cohesive visual style.

The project continued outside of the TGA course and was developed primarily in my spare time.

Ultimate Ability

This was the centerpiece of the project and where I invested most of my time. Lucas’ animation called for a cross-shaped attack with a Phoenix-inspired firewall, giving me the foundation for the effect’s visual design.

I used Heroes of the Storm’s Genji for timing references, with League of Legends’ Tristana and Valorant’s Phoenix inspiring the fire, explosion, and movement.

Firewall & Ground Effect
The cross-shaped ground effect is revealed using an animated gradient mask, creating the impression of the shape being drawn into the ground. The firewall itself uses a hand-painted flipbook applied to plane meshes aligned with the ground shapes.

To smooth the flipbook animation, I generated motion vectors using Slate Editor. I also used vertex deformation to add additional movement through scrolling noise multiplied with a bottom-to-top gradient.

The firewall is synchronized with the character’s jump: as they reach the peak and crash down, the wall rapidly rises, intensifies, and then collapses, helping sell the impact of the landing.

The jump is supported by a layered explosion beneath the character, built from two sphere meshes with hand-painted textures controlling color, emissive, dissolve, and vertex deformation. Niagara parameters animate these properties alongside the character animation to synchronize the entire sequence.

  • Ultimate VFX (Slide One)
  • Animated Flipbook (Slide Two)
  • Motion Vector Texture  (Slide Three)
      • Leap VFX

Leap Impact VFX

For the leap ability, I wanted to create a clear damage indicator that still felt visually connected to the character rather than looking like a generic gameplay decal.

The landing area is indicated with a decal-based circular shape, which is followed by ground cracks and spikes erupting from the center on impact.

The spikes came directly from feedback during the project. When I was told that some of the effects felt too generic, I was encouraged to look more closely at the character’s defining traits. Her mace featured distinctive spikes thrusting outward, which became a strong piece of the visual language that I carried into this and several other effects.

This helped me use character design as a foundation for creating effects that remain readable while feeling more specific to the character.

Hook & Strike VFX

The Hook ability throws the mace forward and pulls a hit target back before finishing with a heavy strike. I wanted the VFX to reinforce the animation’s snappy, exaggerated timing while clearly communicating the direction of the attack.

Indicator & Hook
The ground indicator uses the same spike and mace-inspired shape language established elsewhere in the moveset, with directional lines pointing toward the player to reinforce the hook’s trajectory.

Impact & Strike
When the target is pulled back, a short-lived energy burst is spawned using the same core shader approach as the earlier explosion, but with much stronger vertex deformation and emissive intensity to create a sharper impact.

The character’s spike shapes return here as well, this time aligned with the mace’s forward motion rather than emerging from the ground.

For the final swing, I created a custom hand-painted mesh aligned with the animation and controlled it through Niagara. Scrolling the texture along the mesh synchronizes the fire shape with the mace’s movement, while crossed mesh planes create a fuller 3D appearance without requiring complex geometry.

The result combines the character’s shape language with exaggerated motion to make the hook feel snappy, powerful, and readable.

      • Hook VFX
      • VFX on uneven terrain (Slide One)
      • Decal Graph (Slide Two)

Custom Decal Shader

One challenge with this project was that, unlike many MOBAs, the environment has significant verticality, meaning the ground height varies throughout the level.

This became particularly important for the ability indicators. Using Niagara sprites or plane meshes would cause the shapes to intersect with the terrain or disappear into the ground.

I initially explored Unreal Engine’s built-in decals, but found them difficult to control reliably from Niagara. Instead, I built a custom decal material that projects a texture onto the environment within a defined volume, well a cube mesh actually.

This gave me reliable control over the skill indicators and ground effects while allowing them to conform to uneven terrain.

Substance Painter for VFX Textures

For several of the custom VFX meshes, I needed very specific texture placement that was difficult to achieve with traditional projected or scrolling textures.

I used Substance Painter to paint directly onto the meshes, giving me precise control over masks and shapes. This was particularly useful for the mushroom-cloud explosion, where I could place the smoke exactly where I wanted it, and for the custom swing mesh, where I could paint a specific fireball shape rather than relying on a flattened texture.

While Substance Painter is more commonly associated with asset texturing, I find it to be a very useful tool for custom VFX meshes as well. It has since become a regular part of my VFX workflow, especially when a highly controlled texture shape is desired!

  • Explosion Texture In Painter (Slide One)
  • FireBall Punch Texture In Painter (Slide Two)

All rights reserved © Copyright - Oskar Thölén