top of page

The Procedural Magic Riser Fully Charge Graph

  • Writer: Son Le
    Son Le
  • Sep 26
  • 4 min read
The Magic Riser Fully Charge graph in MetaSounds - Unreal 5

Overview

One of the most common elements in any magic SFX is the riser. While there are many magic riser graphs in the plugin, my favorite is MSS_MagicRiser_FullyCharge. It is used to indicate either the beginning of a spell or when the chanting/charging phase is complete. Its structure also makes it extremely flexible in other contexts.

This effect consists of two layers: the metallic chirp effect layer and the metallic distortion with a lingering layer. Due to our modular approach, there is no bass layer included here. In your final effect, you can incorporate a bass layer using either The Magic Fade Generic Graph or a Modal Explosify node after it.


Graph Explanation

1) The Input Modal Object Setup

Fig.1: The modal object customization setup.
Fig.1: The modal object customization setup.

For ease of customization, the Impact Modal Freq Spread Modifier node is included in the graph. This node allows you to adjust the timbre of the input modal object by modifying its frequency distribution.

The decay rate of the input object is then managed using the Impact Modal Decay Clamp node. Because some modal objects can have a very low decay rate (long tail), we clamp the minimum decay rate at 5.

Finally, to create a ringing effect, we use the Impact Modal Randomizer node to randomize the amplitude of each modal individually. The pitch is also slightly randomized to create a subtle diffusion effect.  If you're not familiar with the random node, it is designed to assign a new random value to each modal's parameter separately. With Time Step set to 0.02 and Rand Chance at 1, this node provides different random values to each modal every 0.02 second. You should always put this node at the end of your modal setup chain.

As always, modal object modifier nodes have a minimal impact on performance. So you can use even more nodes in your main graph to further customize them.


2) The Metallic Chirp Layer

Fig. 2: Creating a metallic chirp effect with an Impact External Force Synth node.
Fig. 2: Creating a metallic chirp effect with an Impact External Force Synth node.

Since we want to control the envelope of the input audio, we use the Impact External Force Synth node instead of the other one. We multiply the Global Gain by a small factor (0.02) before linking it to the Amplitude input of the synthesizer. This ensures the Global Gain parameter remains consistent across all magic graphs.

To create the chirp effect, we utilize an AD Envelope (float) node together with a Map Range node to change the pitch of the input modal object at runtime. Note that this AD float is configured to decay from 1 to 0 when running, leading the mapping node to operate from B to A instead of the typical A to B:

  • The chirp effect duration is managed by the Decay Time (Init Pitch Change Duration) of the AD node, set to 0.5 seconds here. However, you can choose any non-negative values based on your desired effect.

  • The Out Range A parameter (Init Pitch Change) of the mapping node is set to 0.25, meaning the pitch rises by 0.25 semitone over 0.5 second. You can use either positive or negative values for this.

When shifting all pitches of a modal object, we typically do it directly in the synthesizer rather than in modal modifier nodes. This is a minor optimization due to how the synthesizer updates its modal parameters.

Because the output of this layer also serves as the input signal for the Modal Explosify node in the next layer, any parameter changes will significantly affect the distortion result. So when adjusting parameters, begin with those that have the prefix Init in their names.


3) The Metallic Distortion & Lingering Layer

Fig. 3: Creating distortion with a Modal Explosify and a Diffuser node.
Fig. 3: Creating distortion with a Modal Explosify and a Diffuser node.

The structure of this layer is similar to the one introduced in Procedural Magic SFX From White Noise And Modal Explosify Nodes. However, there are two additional nodes:

  • An ADSR node is employed to decrease the gain when the ADSR node in Fig. 2 finishes (On Done). For this graph, we want the Distort Duration to be short while maintaining a low Distort Decay Min. So this is done to precisely control the duration of the node.

  • A high-pass filter node is used before the Diffuser node. Again, regardless of the FMin and FMax values, the output of a Modal Explosify node always consists of frequencies from 20 Hz to 20 KHz due to distortion. Low-frequency signals are undesirable for this graph, so we filter out all frequencies below Distort FMin.

Additionally, we also promote Distort Period to a graph input parameter. In simple terms,this input determines how many distortions occur per second. Increasing this value will make the metallic ringing effect more noticeable. Like the Seed Input, adjusting this input is an easy way to create different output variations.


4) The Final Output

Fig. 4: The mixing at the output
Fig. 4: The mixing at the output

At the output both layers are mixed together. Because changing the gain directly at the Impact External Force Synth node will also affect the loudness of the Modal Explosify node, we adjust the gain of each layer here rather than at the synthesizers.


Further Discussion

This graph produces a common magic sound effect that can be found in many games. It's also usable as a UI effect or to depict a sci-fi element. It can also serve as a UI effect or to represent a sci-fi element. You can experiment with extending it by adjusting certain parameters (such as Distort FMin, Distort FMax, Distort Freq Spread) during runtime, or enhance it with a bass effect by incorporating another Modal Explosify node at the output.


Subscribe to our newsletter

Comments


bottom of page