Rookie Awards 2024 - Open for Entries!
Holy Swords Storm - Realtime VFX UE5
Share  

Holy Swords Storm - Realtime VFX UE5

Rayane Saada
by Foxer on 30 Apr 2024 for Rookie Awards 2024

This is my latest VFX project done in a month. It is my most complex VFX till date and I learned a lot from it.

7 168 2
Round of applause for our sponsors

Holy Swords Storm is a realtime VFX project done over a span of a month. It is my most complex VFX till date and I learned a lot from it. 

Inspiration/Concept

To begin I sought inspiration from the MOBA videogame Lost Ark, my goal was to create a semi-realistic effect while adding a touch of originality into it. Extensive research led me to focus on creating an area of effect imbued with divine elements, drawing from the symbolism of holiness. As a result, the primary color palette for this creation revolves around the radiant hues of yellow and gold.

Now my approach when beginning effects involves sketching out the idea. This initial step helps me gain a clear understanding before delving into the iteration and development process. After some quick drawings, I ended up with this one.

We have the main effect, which features a summoning circle and descending swords, with an upward energy aura emanating from the character at the center. Moreover, a significant addition later of a big sword coming from the sky creates a dramatic final impact. With this general idea in mind, I started searching for references to understand how other artists approached this kind of effect, especially the timing.

In the context of timing for this ultimate area of effect attack, I later determined the distinct phases. Initially, there will be a buildup phase to accumulate energy, followed by a climactic moment signifying the completion of energy accumulation and readiness for release. Subsequently, the main effect will be unleashed. For the final impact, there will be another buildup where the character gathers energy, leading to a moment where the character glows, indicating full energy, culminating in the final release. This structured approach ensures a dramatic and impactful progression of events for the ultimate attack.

Modeling

In planning the visual elements, I needed specific meshes to be modeled. For the buildup phase, a cylinder mesh open at the base and a disc/circle mesh were modeled to create the outward-to-center and upward flow of the energy wave. For the final impact, a simple cone mesh was designated. Notably, Houdini was chosen as the tool for creating these meshes due to its ease of painting vertex colors and modify in a procedural way the geometry. The curve ramp feature in Houdini was particularly helpful in managing and refining the curvature to achieve the desired visual effect.

Textures

With the meshes ready, I moved on to the textures. Analyzing the textures used in Lost Ark, I noticed the use of a rough and slightly "dirty" textures. In my case, my goal was to create cleaner textures while experimenting with chromatic textures to introduce additional hues and a unique feel. After playing with various nodes on Substance Designer, a texture was developed to embody a "speedy" quality with noticeable contrast, aligning with the intended characteristics and adding more depth to the effect.

Regarding the chromatic texture, utilizing an image found on the internet as a base I began modifying it on Photoshop using the smudge and blur tools. After finishing refining it with those tools, I used the offset filter to make it tileable.

Setup

Having everything ready, I created the project on Unreal Engine. As it is always good to stay organized, I created a folder for each element (Meshes, Niagara, Textures, Materials).

Before delving into the creation of the shaders/materials, something that I learned from this project is selecting a character that aligns with the thematic elements of the VFX. I chose Serath from Paragon, as she has a color scheme that resonates with the yellow/gold primary color palette and embodies the essence of a holy character. This careful selection ensures that the character not only complements the VFX thematically but also enhances the overall visual storytelling.

Shaders

To begin creating the materials/shaders, the first one I created was the wave one as it was used and reused in my case for the wavy elements.

I wanted to experiment with a new technique, as I'm still learning shaders, so I used the chromatic texture as a color texture, complemented by a desaturation node to regulate the saturation. To achieve the wave effect, a wave texture, a gradient line with noise, was used, alongside a linear gradient for masking, rotated by 180 degrees and adjustable in terms of power and intensity. The wave's offset is controlled by multiplying the texture coordinate with the Wave UV, adding the offset, and further controlled and animated in Niagara through the Dynamic Parameter Node.

A noteworthy material in the project is the swords material, a translucent material enhanced by the chromatic texture, noise, and a mask to achieve a dissolving effect. To optimize performance and reduce overdraw, a practical approach was applied by integrating the "DitherTemporalAA" node to the opacity/mask. This technique introduces a dithering pattern, simulating translucency on the masked material, elevating performance efficiency while also adding a cool looking texture to the material.

Applying the chromatic texture to the other materials gave them a unique and satisfying look, while also having a total control over it.

Niagara System

Regarding the Niagara systems, I created two of them. One for the buildup and the other for the main effect and final impact. During the buildup phase, the charging energy cylinder ascends towards the sky, accompanied by additional supporting elements to seamlessly integrate with the surroundings.

Regarding the main effect, The Niagara system includes two phases. The first phase involves the emergence of the area of effect, accompanied by the ascent of godrays from above, followed by the descent of swords impacting the ground to create a shockwave, complemented by the addition of smoke effects.

One notable challenge encountered during the creation of this effect was generating the small impact waves when the swords make contact with the ground. To address this, event handlers in Niagara were utilized. This involved configuring the event handlers to detect the collision event triggered by the swords upon hitting/colliding with the ground, subsequently instructing the impact waves emitter to spawn the impact at the precise position of the collision.

While in the second phase of the effect, the character begins to accumulate more energy, leading to the creation of a giant sword descending from the sky to strike the ground. The sequence unfolds with the character glowing increasingly brighter as the energy charge escalates. Upon impact, the giant sword mesh triggers the appearance of a cone mesh while smaller rock meshes are ejected, accompanied by the dispersion of smoke and particles.

Final Touches

Now that the main effect is completed, I began integrating secondary effects such as screenshakes and chromatic aberration. In addition, I wanted to incorporate radial blur to further highlight the impact. After trying what works and what not, a dedicated post-process material was created.

As you see I'm taking the screen position and connecting the ViewportUV to the UV input of the PostProcessInput. The color output is then masked and crossfaded with the Radial Blur effect. Additionally, a Radial Gradient aligned to the screen is created in the Alpha channel, and to ensure smooth fading, it is multiplied by a Blend parameter.

Conclusion

This project was a complex but really fun experience. I love the process involved in the creation of tehse visual effects. I got to use different tools and experimented with new techniques making me improve my skills. I'm grateful for everyone who helped me during this project, giving me feedbacks and helping me experiment with different techniques. 

A HUGE thank you to:

Michał Potakowski - My great Mentor and friend!

Kim Byeong Jin - For helping me with the swords!

Björn Riemann - For helping me with the Paragon character!


Comments (2)