Ages ago I decided that the muzzle flashes in Fallout 3 failed. I don't care if they are suppose to be realistic, I want big white flaring from the barrel of the gun while my bullets scream into the enemy. So I found the current files for muzzle flashes and loaded it into photoshop, from there I created my own version of what I thought was a better looking muzzle flash...
The original muzzle flashes:
My test muzzle flashes:
which looks better?
A quick backup of the original and I was ready to go. I knew my new muzzle flashes would have some problems, since I didn't bother with the alpha but I created a nice little video...
well that doesn't look too good. lets give it a quick alpha and see what happens...cue video...
Looks better, but I still don't like the 1st person view, its just a funky blob. Lets mess with the .nif and see if we can change anything
Looks confusing huh? each box has a texture applied to it, so if we change the boxes then, theoretically the texture will appear bigger, lets double the size of the squares facing us
Well the squares facing us are also connected to the long rectangles that are seen in 3rd person...oh joy. So what's next? Lets open the muzzle flashes .nif for the assault rifle in blender and see what we can do.
A couple of seconds in and I've found the stuff required to change the texture. We can do this in a number of ways. We could Re-unwrap it, and create a whole new texture for it, or we could simply modify the current UV map, so the mesh and texture is re aligned. Explaining this is hard, so a couple of pictures are needed.
This is the UV map for the texture. The dots and lines are the Vertices and edges of the mesh. When the texture is created it is drawn within these lines. The 3 sets of lines here are the meshes that are seen in 3rd person, e.g.
so where are the lines on the UV map for the '1st person' effects? Turns out they are located outside the UV map for some reason. So lets move them in and see what happens.
Now we see that the '1st person' flames are way out because the 'square' on the UV map is located partially on the flame and partially off, which can be seen on the 3d model. We've got all that room on the side, so why don't we make a quick mock of what a final could look like.
not perfect but it will do the job. Now we move the 'square' on the UV map back to the newly added flames.
we can also rescale the things on the UV, as well as moving individual vertices. We can even place multiple vertices in the same spot, so different parts of a model could use the same part of the texture.
The image above shows what it should look like in game. So what now? We need to take this from blender and make it into a valid .nif for fallout...which is where we hit another dead end. The normal process for turning a model from blender into a valid format for Fallout 3 is to swap niftrishape data and other things. After spending a morning trying this to no success it was time to try another way. Fortunately NifSkope also has a UV editing feature. Although it doesn't offer as much freedom as blender's (scale, rotation etc.) the same theory's can be applied. Here's the final result after messing around in NifSkope:
The next step is to make a decent looking muzzle flash. We could even go 1 step further and make a series of them, for more realism, since 1 weapon probably wouldn't have the same muzzle flash as others.