This is probably my second favorite effect from Charmed, next to the energyball, but then I love anything with fire.  Before going any further I should point out that this will not recreate the show's effect perfectly.  The fireball effect on the show is actually a live action element they film separately and edit in later.  The following tutorial covers how to make a decent reproduction of the Charmed fireball that is completely 3D.


Materials Needed:

    -3DS Max (Version 3+)

    -Electric Map Plug-in (Essential)


        Step 1:  Once you’ve opened a new session of Studio Max, create a Tube in the Top viewport with a radius of 28, a secondary radius of 30 and a height of 2.  Increase the amount of sides of the tube, probably about 32, but remember the more sides you have the longer it takes to render.  Make sure the tube is positioned at the origin by right clicking on the Move button and changing all the coordinates to 0.

       Step 2:  Turn on Angle Snap, .  Now in the Left viewport rotate your tube 45 degrees, then rotate your copied tube 90 degrees.   Select your original tube and rotate it along the Y-axis 90 degrees.  You should now have a cage that looks like the one below.  Select all of your tubes, go up to Group on the main menu and group them together.  Name the group Cage. 

        Step 3:  Create a Parray particle system somewhere near your cage.  Under the Parray parameters, click the Pick Object button and then select you Cage object.  Just beneath, where it says Particle Formation, check At All Vertices.  Scroll down a little further to where it says Viewport Display.  Set it to Mesh and Percentage of Particles to 100. 

        Step 4:  Under the Particle Generation rollout set the Particle Quantity to Use Total and 3500 particles.  NOTE:  If you weren’t using this effect in a close up shot, you could reduce the particles some.  Use the following picture to set the remaining particle generation parameters.


        Step 5:  Under Particle Type, change the type to Facing, then open up your Material Editor and name the first open slot Fire. 

        Step 6:  Under your Fire material, make sure both Specular Level and Glossiness are set to 0, then go to the Maps rollout and click on the Diffuse map slot.  When the Map Browser pops up, choose Particle Age.  Click the Color #1 map slot and choose Noise.  There are quite a few changes you need to make to the noise map.  First, you want to change the Noise Type to Fractal and the Size to 11.  Then change the High amount to .65 and the Low amount to .415.  And last you’ll need to change Color #1 to a light yellow-orange color and Color #2 to a light orange-red color.  NOTE:  The colors I used here are R = 255, B = 199, G = 111 for Color #1 and R = 239, B = 160, G = 139 for Color #2.  You can experiment with the colors to get the exact effect you’re looking for. 

        Step 7:  Use the Go To Parent button to return to your Particle Age map, then click and drag your noise map (color #1 slot) to the Color #2 map slot and choose the default copy method.  The only changes you need to make to the second noise map will be to the colors.  First, sway colors 1 & 2, and then change Color #2 to a light red color (R = 244, B = 139, G = 131).  When you’re through with this, go back once more to your Particle Age map and set Color #3 to a medium orange (R = 245, B = 155, G = 82). 

        Step 8:  Return to the Maps rollout and click on the Opacity map slot.  Choose a Gradient map.  This is where the Electric plug-in becomes crucial.  Click the Color #2 map slot and choose the Electric map.  Set the Type to Fractal, check Exponential and change the size to 17.3.  NOTE:  This size value works for my scene, but if you’re using a particle system that has smaller particles than the one’s I’m using here, you’ll have to reduce the size in your Electric map as well.  Set the Width value to .19, Center to .5 and Levels to 10.  Make sure that Color #1 is pure black and Color #2 is pure white.  

        Step 9:  Go back to the Gradient map and drag the Electric map to the Color #3 slot.  This time, however, you want to choose Instance as your copy method.  We always want these two Electric maps to be identical, so this way if you change one the other is automatically updated.  The fire material is now complete, so you can the material to your Parray system. 

        Step 10:  Rename a new material slot Cage and change the material type from Blinn to Strauss.  Change the Glossiness to 50 and the Metalness to 100.  Open the Maps rollout and click on the Color map slot, choose a Cellular map.  Here you will see three different colors:  Cell color and two Division colors.  I set these to very dark gray shades, making each one only slightly different than the others, but experiment and see how dark you want your cage to be.  The only parameter changes I made were setting the cell type to Chips and putting a check in the Fractal box.  Once you’re done here, apply the material to your cage object and close the Material Editor. 

        Step 11:  Create a Wind space warp and use your viewports to position it near the top of the cage object (see pic below).  Set the Strength of the wind to -.2 and the Decay to .01.  Change the type from Planar to Spherical and then bind your Parray system to the wind space warp. 

        Step 12:  Since we want the fire to “blow” properly if the cage is rotated or moved, you’ll also want to Link the Wind warp to your cage object. 

        Step 13:  Go to the Create panel, Space Warps and choose the Drag space warp (see below).  In the top viewport, click and drag off to side of the cage to create your Drag warp.  There are only four parameters that need changing here.  First, set the start and end time to however long your scene is set for.  Second, under Linear Damping, change the X-axis value to 10%.  Third, set the Y-axis value to 25%.  And finally, change the Z-axis value to 10%. 

        Step 14:  Select your Parray system, right click and choose Properties.  Set the Object Channel to 1 and enable an Image motion blur of .2.  Click OK.  Now select your cage object and open its Properties.  Enable an Image motion blur, set the blur amount to .5 and click OK. 

        Step 15:  If you rendered your scene now, you'd probably notice that the fire is rather dark.  To fix this we need to add a light source that will brighten up the scene.  NOTE:  This is also why we made the cage material so dark.  Drop an Omni light into your top viewport and position it like in the picture below.  In the Omni parameters, make sure that Shadows are turned on and set the Intensity to 6.5, but leave the light color at white.  Under the Shadows Parameter rollout, change the shadow color to a dark red (R = 128, B = 0, G = 0) and set the Density to somewhere between .3 and .4.  Rename the omni FireLight.

        Step 16:  Open up Video Post and add a Scene Event for your Perspective viewport.  Next click Add Image Filter Event, and choose the Lens Effects Glow.  Double click on the Glow filter, click Setup and select the Preferences tab.  Set the glow size to 10 and the Intensity to 1.  Under Color pick User and change the color to R = 253, B = 151, G = 101.  NOTE:  Remember when rendering from Video Post you must add an Image Output Event to either a still or video file and then render using Video Post. 

        Step 17:  To get the authentic fireball effect from Charmed, the cage object needs to be rotated.  Unfortunately I have never been able to duplicate the exact movements that the effect on the show has.  Below is the closest I’ve come to it.

         Step 18:  Turn on the Animate (Auto Key) button and move to frame 100.  In the Perspective viewport, rotate the cage 360 degrees along the X-axis and then 360 degrees along the Z-axis.  If your scene is longer than 100 frames, then keep rotating along these two axes every 100 frames.  If anyone out there comes up with a more efficient and realistic method, let me know and I’ll post it here.

Go To Top