Flame Color Change
You want a bright blue flame rather than boring old orange? Maybe deep purple? No problem. This tutorial is intended to take you step by step through the process for creating your own recoloured flames.
Requirements[edit | edit source]
As a background, having some knowledge of nif files and NifSkope will help, as will a bit of practice in recolouring textures. If you have not done so already, I'd recommend reading the wiki's retexturing tutorials before proceeding.
You will need the following applications:
- NifSkope
- Adobe Photoshop with Nvidia DDS plugin, or another image editor with DDS support
I will use a standard castle light sconce as basis, but the same principle is applicable for other flames as well. First, let's take a general look at the structure of the light. The nif file meshes/architecture/castle/castlelight02.nif defines the mesh for the sconce; it also has a node identifying the type of flame as well as a couple of other nodes with associated data for effects like sparks. The flame itself is defined in a separate nif, meshes/fire/firetorchlarge.nif. Both of these files must be changed, as well as a number of associated textures.
Recolouring the main flame[edit | edit source]
Open meshes/fire/firetorchlarge.nif in NifSkope and go to the node shown here:
Under this node are two more: a NiFlipController and a NiSourceTexture. Open the NiFlipController node, and you'll see a whole lot of textures (20 in all). These define the flame animation, and each of these must be recoloured.
So using your favourite tool - I use Photoshop 7 - open each of the textures and adjust the colour until it looks the way you want. The textures can be found in textures/fire/firetorchlarge, and I would recommend making copies of them before starting.
I adjusted this flame using the Image -> Adjustments -> Colour Balance option and made the following changes to the colour levels: Shadows: 0 +100 +100 Midtones: 0 -100 +100 Highlights: 0 0 0
Make sure to write down the adjustments you have made because you will need to apply them to many more textures. Of course, you could change each texture differently and have a flame which burns in changing colours.
Save the textures using DXT3 (Explicit Alpha). When you have changed each of the 20 textures, go back to the nif file and replace all the firetorchlarges--.dds files in the NiFlipController section with your new textures.
Finally, right-click on the NiAlphaProperty node below the NiTexturingProperty node shown in the screenshot above, and select the Flags option. Set the Source Blend Mode to Src Alpha and the Destination Blend Mode to Inv Src Alpha.
This what the flame should look like now in NifSkope:
Recolouring the fire emitter[edit | edit source]
Still using the same nif, go to this node:
The fire emitter causes a flicker effect in the centre of the flame. It has one texture which is used at alternating angles. For torches, the texture is textures/fire/fireflameparticle.dds. Make a copy of the texture, then edit it (the copy, that is) in Photoshop. Adjust its colouration in the same way you adjusted the colouration for the flame textures:
Save it using DXT3 (Explicit Alpha), then replace the texture in the node shown above with your new texture. Note that this will not make a visible difference to the flame display in NifSkope.
Recolouring the spark emitter[edit | edit source]
The spark emitter controls the sparks that fly off a torch, and is defined here:
The default texture is textures/fire/firesparkparticle.dds. Follow the same steps as in #2 above: edit a copy of the texture, adjust its colour, save it using DXT3 (Explicit Alpha), and replace the texture in NifSkope.
Adding the flame in the CS[edit | edit source]
The flame itself is now complete, and we just need to adapt one of the existing torches to use it. To do this, however, we first must make the flame available in the CS. Under WorldObjects/Static, you will find twenty-one flame nodes, numbered FlameNode0 to FlameNode20. The first ten of these, 01 to 09, are the default flames used in Oblivion. The others, from 10 to 20, are available for our use.
Simply double-click on one of them, let's pick FlameNode20, and associate our new flame nif with the object. Our first coloured flame is now ready.
Modifying the light sconce[edit | edit source]
The last step is to create a torch which actually uses the new flame. Open a copy of meshes/architecture/castle/castlelight02.nif and go to the following node:
This is the link to the flame which will be shown when the torch is burning; currently it references FlameNode2, which is the default flame for large torches. All we need to do is to change the reference to use our new flame. However, FlameNodes from 10 to 20 are not referenced by number, but by letter - A is node 10, K is node 20. Double-click on the reference and change it to FlameNodeK.
Once you have done this, save the nif, then open the CS and create a new static object using the nif. Drag it into the render window, and hey presto! We have a funky purple flame!
Creating a light source[edit | edit source]
We can also use our new wall mount as a light source. In the CS, go to WorldObjects/Light and create a new light object. Select the new torch nif and adjust the other settings as required, and now our object will not only look like a flame but also give proper light.
Final Note[edit | edit source]
You can create additional flame nodes (i.e. numbered higher than 20, or given any name you like for that matter) in the static items, and they will behave in every respect like the default nodes, except that they cannot be automatically associated with a torch the way we did in step 5.