Call of Duty 4: Editing Stock FX
To begin with, make sure you have the ModTools patch, and overwrite the two exe's in Cod4\bin with these two. This patch fixes shader_bin errors.
Open Cod4\bin\CoD4EffectsEd.exe, and wait for it to load.
Once it has loaded, go to File>Open, and navigate to Cod4\raw\fx. You'll find a lot of examples of stock effects. Open fx\fire\firelp_large_pm.efx. At the top left of EffectsEd, you will see a playback bar: The buttons are used to: Play the FX multiple times, Play the FX once, pause playback, and stop playback. The effect you just opened never ends, so you'll have to stop it manually.
The changeable speed bar to the right of the playback bar indicates how often the FX will be played again, using multiple playback. The lower this is (it's measured in seconds), the quicker it will replay. When you start playing an effect multiple times, it doesn't re-start each instance, it plays a new instance over the already running one(s).
The second adjustable bar, near the middle top of EffectsEd, is the World Speed slider. The lower this is, the slower your effect will go, etc. You don't really need to use this very often, as you will only see your FX being played at speed 1 ingame anyway.
Left click + mouse dragging rotates around the camera view around the center point.
Right click + mouse dragging zooms the view in and out from the center point.
Both clicks + mouse dragging moves the center point around.
Angles & Elements
You can change the angles that the FX play at, by using the buttons to the right of the repeat play speed bar. If you don't change this, the FX will play at the correct angle by default.
Every FX has one or more element to it, for example, the fire effect that you opened up has eleven. They are all different parts that make up the effect, for example the ambient glowing, the distortion above the fire, and the smoke that's emitted. The element are displayed in the list box under the 3D view.
You can add an element by clicking the magic wand icon to the left of the World Speed slider. You can delete and element by clicking the cross to the right of the magic wand. You can duplicate another element by selecting the one to duplicate, and then clicking on the double-page icon to the left of the magic wand. Elements can be renamed by clicking once on the element name, then clicking again and waiting a second until the rename box comes up.
There are eleven different types of element, and here thay are with a small explanation:
- Billboard Sprite *flat sprite that always turns to face you
- Oriented Sprite *flat sprite that doesn't rotate at all
- Tail *flat sprite that rotates towards you on it's longest axis
- Geometry Tail *unknown/hard to explain
- Particle Cloud *creates a cloud of spread out particles
- Model *can use an xmodel and move/scale it, etc
- Light *creates a dynamic light with custom strength/colour
- Spotlight *creates a light directed at a specific point
- Sound *plays a sound
- Decal *puts a visual effect/sprite on a flat surface (e.g. blood on the walls)
- FX runner *plays another FX
Most of the simple properties are controlled in the Generation tab, such as origin, pre-delay, and lifetime. Make sure you select the right element when trying to change it's properties.
- Count *number of this element to spawn
- Interval *determines the wait between looping the FX
- Loop count *determines amount of loops that element will do
- Life *lifetime in thousandths of a second, 8000 = 8 seconds, can be made random between two values by filling the second box in
- Delay *delay before the FX starts, can also be made random with the two boxes
- Origin boxes *control the initial location of the element, relative to the center. They can also be randomised.
- Death Effects *determine an effect to play when this particle dies, or finishes.
Quick Graph explanation
To change some of the properties of an element, you need to modify the graphs. You can do this with Size, Velocity, Rotation, and Colour.
Size: Each graph you see in this tab is actually two graphs. You can alternate between the two by right clicking in some of the blank space and clicking either Graph 1 or Graph 2. Normally, the value is picked randomly from a point between these two graphs. For example, if you wanted the Width/Diameter to steadily increase, with no randomness, you would set up the graphs so that the point on the left is at the lowest, and the point on the right is at the highest. You would do this on both graphs to eliminate any randomness. The 'Scale' box can be used to determine how much the graph is proportioned by, a higher scale means that the value taken from the graph will be higher. The same can be done with the Height/Length graph.
Velocity: There are 6 separate graphs in this tab, but they work on the same principle as Size. There are two graphs for each of X, Y, and Z, otherwise called Forward, Right, and Up. The Velocity2 graph is not always used.
Rotation: Controls the rotation of the particle after it has been spawned, and the two text boxes control it's angle as it spawns.
Color: The RGB (red, green, blue) graph controls the tint of the element over time, control click on the left or the right point to set it's colour, or drag the points around. Alpha controls the transparency of the element, you can make it fade out over time or pulse, etc.
To reset any graph's lines to 0, right click on it and click Clear. You can create new points on any graph by clicking in an area where none already exist.
Finally, to load your FX in the fastfile, the syntax is:
for a file called fxname.efx in Cod4\raw\fx\fire\
There is no .efx file extension needed in the csv.
- Resizing or maximising the EffectsEd window causes all of the assets to be reloaded, like it does when you first open it, so don't! It's safe to just move the window around.
- Always look at the stock FX to see how they've done things, and save regularly because this can (and does) crash as much as Radiant.
- This is only a basic intro, there is a lot more that you can find out yourself :)