Hint brushes page three
Now let's build another L-shaped hallway, but this time we are going to add a jump pad to a
higher hall. We will also use hint brushes to control potentially visible set (PVS).
In this shot I've added another room and
connected it to the hallway that we built on the second
page. This one is also L shaped but has a jump pad that
takes you up to the new room.
Like this:

Here is a shot with the .prt file loaded with out any hint
brushes in the map yet. Notice a problem? Look closely.

I have meshes turned off in this shot (ctrl+p) because they don't create
leaf-nodes or portals, and thus don't block visibility.
Do you see the problem? When you are in this corner
the engine will be drawing both rooms because the portals
can see each other. See the portal in the doorway above
the jump pad? That portal can see the one below the jump
pad thus drawing all in leaf-nodes. The player standing
where this shot was taken can also see into the first room
through the doorway to the right.
Here is the in game shot with r_showtris 1 on.

Don't forget about the \r_lockpvs 1 command if I were to
use it for the above shot all of the room would be drawn.
Now let's fix this by adding some new
leaf-nodes. That's right - more hint brushes.

In this side shot I have two hint brushes
in place, one above the jump pad and the other encompassing the jump pad. The plane of the cut starts at the inner
point of the upper doorway and ends at the edge of the
brushes behind the jump pad wall mesh. The face of the lower hint brush continues along the same line so that the portals formed by the faces won't be visible to each other. As a result of doing this, when
you are in the corner by jump pad, the engine won't draw
anything in the room above the jump pad. Here's a shot of
this in the 3d view:

Next I added a hint brush to block the corner off like we
did before.

Side shot. Notice the bottom face of the brush is at the same angle as the
first brushes that I put in.

Top-down view in the 3d view.
Next I make the same top down cut to the first hint
brushes that I put in. Like this

Now when you are above the jump pad and behind the angled
leaf-node made by these hint brushes all of the lower room
will not be drawn. I hope you know why by now. If not I
will say it again (big breath): the angled portal created
by the leaf node face that in turn was made by the angled
hint brush can't see the other angled portal on the other
leaf-node that was created by the hint brush around the
corner. To make it simple, one window (portal) can't see
the other window (portal) because there is a structural
brush between them. This is how I place all hint
brushes. Remember there has to be a structural brush
between the windows (portals of leaf-nodes) to do any
good.
Other way to state what going on here:
Basically you want the faces of the hint brushes oriented
in such a way that they can't see each other and thus
effectively block vis (this is the principle behind the
discussion on page two). The use of hint brushes to block
off the view around the jump pad works on the same
principle, only you're doing it side-on. When you combine
the hint brushes to block the hallway with those to block
off the upper room, you have to carve them so that all the
faces will be flush where they intersect. Hint
brushes, like other structural brushes, should occupy
discrete spaces. Their faces may touch but the brushes
themselves should never overlap if built right.
If you know of a example of them working right when
intersecting that wouldn't work if you cut the hint
brushes please email
me.
Here's what it looks like when I used the r_lockpvs 1
command, pvs was locked when I was by the jump pad.

And in this next shot I locked the pvs just around the
corner above the jumppad. Notice how the lower doorway is
not in the PVS.
I think I have given you enough to get you started on
placing hints. Remember to always experiment. This method
is just the way I do it and seems to work for me, but by
no means is it the only method.
On a side note a well placed hint brush and a bad one will
add time to your compile time, so until you get a strong grasp on them work on
small simple maps.
Now if you feel your ready build a few
simple box maps with different structural brushes and hint
placements, and test the map with the \r_lockpvs 1
command.
This is the best way to grasp it once you have a basic knowledge
of what hint brushes do and why to use them. In order to use the
\r_lockpvs 1 command, you'll need to run the map with cheats on. To do that, go to bottom of this page and read the tips and
shortcuts.
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 where they did. My email is
at the bottom of every page. This does bug me.
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
