A spin-off of Jedi Knight II: Jedi Outcast, Jedi Academy allows players to create their own Jedi, train in the Academy under the tutelage of Luke Skywalker and Kyle Katarn and ultimately choose to follow the path of the Light Side or the Dark Side of the Force. The game is powered by the same version of the Quake III engine used in its predecessor, Jedi Outcast, containing modifications to the Quake code to give a third-person view and new lightsaber effects (Jedi Knight II had these 3rd person effects as well). Players have the ability to construct their own lightsaber by choosing the hilt style and blade color. After completing certain objectives, new saber styles become available including the ability to wield two independent sabers in a style known as Jar'Kai, once used by Anakin Skywalker during the closing fight in Star Wars Episode II: Attack of the Clones, or the double-bladed lightsaber (also known as a "saber staff").

Post tutorial Report RSS Creating Fake bumpmapping in JKA

Learn to create 'Faked' Bumpmapping/normalmapping in Star Wars Jedi Knight: Jedi Academy.

Posted by on - Intermediate Mapping/Technical

Fake Bumpmapping/normalmapping in Jedi Academy

Things you need:

First, you need to make a texture. Heres the one I made, it does '''not''' have to be exactly like this to work.

User Posted Image

Once you have the texture, and the Nvidia Normalmap plugin installed, load up Photoshop (If it isn't already) And load your texture.

When your texture is loaded, go to Filter>Nvidia Tools> Normalmapfilter. This window should pop up.

User Posted Image

There you have to play with some of the settings till you get a result you like. Note: With JKA you do not want a highly detailed normal map. Use the scale window to change how much depth it will have. 10-20 should be alright for now.

When you are done you should have something similar to this.

User Posted Image

Now before we go and try to compile this, we need a shader. Its very simple and easy to use, here ya go:

q3map_normalimage textures/amace_leviathan/wall3_normalmap
qer_editorimage textures/amace_leviathan/wall3
q3map_lightmapsamplesize 1x1
map $lightmap
rgbGen identity
map textures/amace_leviathan/wall3

The q3map_normalimage is of course your actual Normalmap image file location. the Q3map_lightmapsamplesize is what quality it will be made during the compile, lower number = higher quality but more space on the BSP.

(Of course edit it for your own texture paths and other needs)

Now once you have the shader, the images, and the shader applied somewhere in your map close to a good lighting source you should get a good result, although it is very picky at times. (Once you compile)

How to apply Func_Groups in-editor to make your map less GFX intensive.

Here is how you should put this method into your maps. Select whichever brushes or patches you wish to have the normal map on. Right click on the grid and go to func> Func_Group in the menu.

Once that is done and you still have the brushes or patches selected hit N on your keyboard.

Add these keys and values into the properties of the func_group.
Key: _lightmapscale
Value: .0125
The value number you may choose for yourself. The lower the number, the higher the quality. The High the number the lower the quality. (Default is 1)
This allows it to single the high lightmapscale to the one area rather than the whole map, making your map more optimized and better performing as well as taking less time to compile.

Now compile your level and go check it out!

Here is my result after getting it in-game.

For those that are wondering in the comments, there are many ways to changing how the normal maps work. One of them is just using -patchshadows compile line in the Light stage of the compile. (That one you see above, with everything else the same)

Note: This only works when using your normalmaps on Patches.


Among that being one method to changing how your normal maps look, you can also use this line which you see in the shader above:
q3map_lightmapsamplesize 1x1
Increasing the numbers lessens the quality and amount of Light Data needed in the normalmap.


===Mac notes===

Note that there is no mac-compatible Nvidia Normalmap Filter Plugin for PS. Normal Map Generator achieves pretty much the same thing.


Nice Tutorial!
Wouldnt suggest putting your normal map THAT high though, looks to bumpy. Are specular maps in?

Reply Good karma Bad karma+1 vote

this'll be a pain for the video memory due to the excessive tight lightmappage.

Reply Good karma Bad karma-2 votes
MaceMadunusus Author

Thanks guys,

I have added some different ways on how to style your normal maps into the tutorial, along with a preview image of what it can look like whilst being less 'bumpy'.

Specular maps are not in on anything in the pictures, just the straight normal maps.

Yes, there is a possibility of it straining your GFX card, but like with what I added there are ways to make it less straining.

Also: Added how to Func_group the entity so the high lightmaps are only on the normalmapped region.

Reply Good karma+1 vote

Star Wars: Jedi Academy is such a great game. I wonder why there arent more comments ???

Reply Good karma Bad karma+1 vote

Question though can i add more than one layer to add more realism?

Reply Good karma Bad karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Star Wars: Jedi Academy
Raven Software
id Tech 3
Send Message
Release date
Game watch
Related Games
Star Wars: Jedi Academy
Star Wars: Jedi Academy First Person Shooter
Related Engines
id Tech 3
id Tech 3 GPL
Related Groups
LucasArts Developer & Publisher
Raven Software
Raven Software Developer & Publisher