Game Help:Bump Maps and Shaders
|Sims 2 Game Help Categories:|
|MTS's Sims 2 Q&A Help Forums|
Bump Maps and Shaders
This article is all about two fairly important graphics effects for The Sims 2: bump maps and shaders.
Bump Mapsmesh doesn't actually contain that 3D shape. It's great for adding a bit of added shape to buttons, seams, bricks, etc. - anything that could deal with a little more dimension can benefit from the use of bump maps.
Normally bump maps are a very subtle effect if done properly. It may be hard to tell that an outfit even has bump maps when it's done right. You probably won't even notice they're there unless they're done wrong - which often happens with custom outfits (but even with some Maxis outfits). Sometimes creators don't have bump maps enabled or can't view them so they leave the original Maxis bump maps for whatever outfit they've made, and you'll see the outline or bumps for the original outfit on the wrong texture.
If you take a look at the image to the right of the Maxis chef's outfit, you can see some nice, properly-done, subtle bump mapping - there's a little more dimension added to the buttons and the edge on the front, and to the bow on the back. The effect is not dramatic, and it's not meant to be, but it does create a nice look on this outfit as it's done right.
Bump maps don't always work on all graphics cards, though - for people with integrated graphics or lower-end graphics cards, it may not be possible for you to view bump maps.
They may also be disabled by default for people with cards capable of viewing them, and you will need to enable them by changing certain settings in your game's files.
How to Tell if You Can View Bump Maps
Because the effect of bump maps is so subtle, semloh has created a bump map tester, an outfit that you can put in your game that will show you without a doubt whether or not you have bump maps working. Get it here (attached to the bottom of the first post): http://www.modthesims2.com/showthread.php?t=43273
How to Enable Bump Maps
If bump maps are not enabled in your game and you think you have a good enough graphics card to handle them, you can change your game's settings to enable bump maps. Here's how:
1. Open your Program Files\EA Games\The Sims 2\TSData\Res\Config folder.
2. Right-click on the file Graphics Rules.sgr and choose "Copy."
3. Right-click on a blank space in the Config folder and choose "Paste." This will create a file called Copy of Graphics Rules.sgr in your Config folder. This is your backup copy of the original, in case something goes wrong.
4. Now right-click on the Graphics Rules.sgr file. Choose "Open With."
5. Select Notepad in the program list and click OK to open the file in Notepad.
6. Click on the Edit menu and choose "Find."
7. Into the "Find" box type useshaders and click Find Next. It will jump to the word "useshaders" in the file. In that section, you'll see the following:
- # disable shaders by default for NV3x generation, only enable for high end cards
- if ($maxVertexProgramVersionHWMajor = 2)
- boolProp useShaders false
8. Change where it says boolProp useShaders false to read boolProp useShaders true
9. Bring up the find window again and this type type vertexdata and then click Find Next. It will jump to the word "vertexdata" in the file. You'll see:
- # since we don't do bumpmapping on less ps2.0-capable hardware, eliminate tangents
- # from the vertex data
- # also, the presence of per-vertex tangents in the vertex data stream causes
- # "exploded" polygons on the Radeon 9000, even if the data is ignored by the shader
- if ($maxPixelProgramVersionMajor < 2)
- boolProp skipTangentsInVertexData true
10. Change where it says boolProp skipTangentsInVertexData true to read boolProp skipTangentsInVertexData false
11. Click on the File menu and choose "Save" to save the file.
12. Close Notepad.
13. Open your Program Files\EA Games\The Sims 2\TSData\Res\CSConfig folder.
14. Repeat steps 2-12 above to change the Graphics Rules.sgr file in the CSConfig folder the same as you did for the one in Config. The Config one controls bump maps in-game and the CSConfig controls bump maps in Body Shop - you need to change both to properly enable bump maps.
15. Repeat steps 1-14 for each expansion pack you have... i.e. open the Program Files\EA Games\The Sims 2 University\TSData\Res\Config folder to change it for University, and so on for any other expansion packs you may own. Remember to do it for both Config and CSConfig for each one. You do not need to do so for any stuff packs you have. Make sure you do steps 2 and 3 especially for each one so if it doesn't work or something is wrong you can restore your backups!
When you have finished, run the game, go into Create a Sim, make a new adult male sim, and check out Semloh's bump map tester outfit (linked above under "How to Tell if You Can View Bump Maps") to see whether it worked or not.
If it's not working: Try bringing up the cheat console (CTRL-SHIFT-C) and then type:
- boolProp useShaders true
- boolProp bumpMapping true
And then see if you have bump maps after that. Sometimes you will have to enter those cheats additionally to get bump maps working properly.
If entering those cheats works to enable bump maps after changing your Graphics Rules.sgr files, then you should add those cheats to your Userstartup.cheat file so you don't have to enter them every time you play.
If something went wrong: If you get an error that says "The system could not find a DirectX9.0 supported graphics card and the application will close" when you try to run the game or Body Shop after doing this, or if something else has gone horribly wrong after making these changes, restore your backed up files:
1. Delete the Graphics Rules.sgr file in each of the folders you changed.
2. Rename the Copy of Graphics Rules.sgr file in each of the folders you changed to Graphics Rules.sgr
Thanks to semloh for the original instructions on enabling bump maps which have been adapted for this article.