fps.gif (3966 bytes)
Hint Brushes page2

transparent.gif (893 bytes)FPSNews Up

FPSNews
Up
Hint Brushes page2
Hint Brushes page3

Hint brushes page two

Let's start with a simple map. This one will have many boxy rooms with different ways to connect them, along with different ways to use hint brushes to control potentially visible set (PVS).

In this shot there are two rooms with a simple L shaped hallway.
Notice that the corner of the hall should block visibility between the two rooms. Also notice that when I built this simple map I had view blocks on, remember Q3map cuts up the map starting with the blocks. The blue lines of the blocks will have portals on there surface of the leaf-nodes that they create.

With good planning you can control the leaf-nodes like this. Because the rooms are built inside the blocks there will be just one leaf node for every structural brush. Thus the rooms won't be drawn in the game from the other rooms. In this case, the rooms are just three stacked leaf nodes (there is three brushes making up the walls) and the portal (from that leaf node) that is facing the doorways from both rooms can't see each other because they are blocked by the corner of the hall.

In the shot below (using the \r_showtris 1 command) the engine isn't drawing the other room because of this.

The same doorway using the \r_lockpvs 1 command that was entered in the console from the same spot as the pic that I took with the \r_showtris 1 command.

Notice that with the \r_lockpvs 1 command all the leaf nodes that can't be seen are not drawn and will look like the void.
This command can be very helpful  in figuring out what your PVS is for any spot of your map.

Even though you can't see anything in the other room notice how the doorway is being drawn and it too is blocked by the inside corner.


And in this shot you can see that both rooms are being drawn when you stand in this spot in the hallway.

Let's load up the map. I did a full compile with the save .prt option in the vis stage.
This way I could load the portal viewer (it's under the plug-ins tab). Then load portal viewer in 3d view.
Without hint brushes this is how this hallway looked.

Notice the portal in the middle of the hall. This explains why that room was drawn from the hall. Because that portal could see the portals from the door and the room, it drew all the brushes in those leaf nodes - in this case, the room that we shouldn't see.

So what to do? I know, let's add a couple hint brushes to control the portals on new leaf nodes so we can't see those other leaf-nodes. Note: you make hint brushes from the common/hint texture.
Like this:

Because the portals that are created by the angled face of the hint brushes can't see each other, the leaf-nodes that the hint brushes create can't see each other. And now the doorways won't be drawn when you stand in one of those leaf-nodes. Like this.

And the doorways won't be draw when you are looking into the hallway also. Cool, huh?

There are also other ways to get the same result. You could place a hint brush like this. (Note in this example it doesn't matter what way it's done as the number of leaf nodes and portals will be the same) 

This is how the hint brushes from both examples effects the portals. Here is a screenshot of the portal viewer again.


Notice the original portal is still there. All we have done is added two new portal surfaces that can't see each other (the angled ones that is).

Now there is another way to do this but this one would make one more portal in the hall that isn't needed.
In this bad example of a hint brush do you know were the extra portal will be?

 


Ok I will show ya the extra portal.


That's right two angled portals.
Is this starting to make sense yet?
Let's go to the next page and try another example.
Hint Brushes page 3

Note the hints in id's example maps don't make sense to me. If they do to anybody reading this, please write me and tell me why they put them were they did. My email is at the bottom of every page.

Useful short cuts and tips for hint brush placement.

ctrl+h to toggle hints on and off
ctrl+d to toggle detail brushes of and on
ctrl+p to toggle meshes off and on
ctrl+m to make a selected brush detail
shift+ctrl+s to make a selected brush structural 
shift+left mouse click to select multiple brushes

Grab a front end compiler like Q3Map Explorer  or
Q3Build  this will make it easy to load the map with different options, also compile options.

Smallpileofgibs handy hint_maps zip examples of hint brush placements.

If you don't want to use a front end compiler use a command like this for the vis stage    C:\Program Files\Quake III Arena\Tools\q3map.exe" -vis -saveprt -threads 1 "C:\Program Files\Quake III Arena\baseq3\maps\fpshint1b.bsp" >>C:\WINDOWS\TEMP\fpshint1b.cvis
Change the paths to what- ever folders you use and map name.
Check this link   to John 'Anwulf' Hutton's site if you still need help on this.

Load your map after a full vis also use the save .prt option compile with the cheats on by typing in the console \devmap yourmapname

To view (PVS) in the game, first load the map with cheats on (\devmap mapname), next in the console type \r_lockpvs 1 
With the pvs locked the game engine will only draw the part of the map that it can see (PVS) from were you typed in the command. The same command but with a 0 (zero) unlocks the (PVS).

To view the brush cuts and also what the engine sees in the console with the map already loaded with cheats on type \r_showtris 1 same but with a 0 to turn off.

Load up you map in Q3Radiant now go to plugins and then portal viewer then load .prt file you can view the portals in both the 2d and 3d windows. This won't work if you didn't compile the map with a full vis and the option save .prt 

 

 

 

 

 

Hit Counter

 

Bill Brooks © 1999
email contact: Bill Brooks