| Author |
Topic: Detail Brushes |
| foyleman |
 |
Preferred PLUS Member Since: Nov 7, 2001 Posts: 95762 Last: Apr 13, 2021 [view latest posts] |
|
|
 |
 |
 |
|
|
|
|
Category: CoD Mapping Posted: Tuesday, Jun. 8, 2004 06:13 am |
 |
If my understanding of the quake engine is up to date with CoD, foyleman is exactly right...
If the area your standing in, just say a room, can see into another room, then it will need to draw the poly's of that room (basically... thats right, although it wont usually draw all of them, ie walls you cant see...).
Now thats not a big deal, but: just say the second room looks out into an open area... then it'll draw the whole outside in that direction as well, even though the player can only see a snippet of it... (again, basically)... thats alot of polys for your comp. to handle
Just say you made all walls detail brushes... then vis would see through everything, and load the entire map... in lamens terms... OUCH on the fps...
So, best practice is to make maps or buildings that have seperate segments so that the areas dont load prior to actually seeing them...
For example, often windows will look into a corridoor that THEN leads to a more detailed room via an s-bend that blocks vis... roofs should be made of real brushes... Then the player wont load the entire inside of the house if they just run past it...
Roofs however could be made detail brushes if they have a big hole in them, cos vis will see into the area anyway (you know what I mean???)...
In conclusion, and this is the main point here... FORGET COMPILE TIMES... honestly, they are a hassle, but the goal of all maps should be playability, not the ability to produce one as quick as possible... someone who maps with vis in mind will produce a high quality map, with good fps. Those who dont will often be shocked at how jumpy it is when lots of people play...
If my understanding of quake engine spin offs carry's through, then there are many more tricks to using detail brushes to actually reduce the number of polys in an area...
whoah! OK this is long... I HOPE IT HELPS, and wasn't too confusing...
bam
IMPORTANT EDIT:
I'm not saying make everything real brushes... Remember what redrum said at the start of this sticky, and what foyleman highlighted above... Use details for the detailed things... IN FACT: use details for things that wont block vis, or dont block vis helpfully...
CORRECT ME IF I'M WRONG ABOUT CoD ENGINE for the following
Another note is, I may be wrong so please correct me, but when to real brushes touch, vis breaks them into intersection planes... no big deal with two walls intersecting, cos there is no additional poly's created, but...
imagines a wall with a square handrail touching it at right angles...
if the handrail is a real brush: it will cut the poly that makes the wall into 8 polys... (you get me?... hmmm its no doubt confusing... it would cut the wall poly into a 3*3 matrix of polys, where the handrail is the middle square... ??? hahah??? get it??? man I need a picture here :P)
Anyway, if that handrail was a detail brush... bam... VIS ignores it, and it wont cut up the wall at all... you just saved yourself 8 polys... :P Also because the handrail wouldn't block vis, it doesn't neeeeed to be a real brush... (I'm not sure about the max no. of detail brushes allowed, if there is a max, but they are handy things...) |
 |
|
|
| ShosMeister |
General Member Since: Feb 17, 2004 Posts: 179 Last: Jun 13, 2005 [view latest posts] |
|
|
|
|
|
|
Category: CoD Mapping Posted: Wednesday, Jun. 9, 2004 05:37 am |
 |
Hmmmm I'm a little bit worried about continuing without reading up on the CoD engine... [CoD PRO's PLEASE SHOOT ME DOWN IF I'M WRONG!!!]
Check out what I said in the edit of my last post...
That technique applies to alot of objects that can be placed in a map:
A table with four legs??? If the legs are touching the ground, they break the floor poly into multiple segments... furthermore, they'll break the underside of the table into multiple segments... Put a box on that table and you break the table top poly into segments... you might as well make the whole table detail brushes, then you've got no extra poly cutting...
Also, other tricks are things like anticipating where these cuts will take place, and keeping them in mind... For example, picture an L-shaped room, and think of the floor/roof... now a poly cant have points that go into itself, so instead of a single L-shape floor poly, you'll need two square/rectangle shaped ones that represent this L-shape... just say you want columns flush against the wall: dont make the column straddle the divide, cause then it'd add an extra cut either side of the original divide b/w the floor polys. Instead make one of the column sides sit ontop of this divide, then it'll only make one additional cut... Better still, make these columns detail brushes, orrrr make th columns sit on a skirting board... the skirting board will only cut out the shape of the room anyway... no additional polys to the floor, but you do cut the skirting board with the columns... yada yada etc etc... you get it??
Again: Mapping with minimising polys in mind will produce high quality maps... Always think of the areas that a player can see from a given point in the map, and assume that you'll have to load the whole area... Anyone can make the craziest open plan feature filled CoD WW2 urban jungle, but can you make it run well... can you master the poly's... can you... huh? :) |
 |
|
|
| foyleman |
 |
Preferred PLUS Member Since: Nov 7, 2001 Posts: 95762 Last: Apr 13, 2021 [view latest posts] |
|
|
 |
 |
 |
|
|
| ShosMeister |
General Member Since: Feb 17, 2004 Posts: 179 Last: Jun 13, 2005 [view latest posts] |
|
|
|
Category: CoD Mapping Posted: Wednesday, Jun. 9, 2004 12:57 pm |
 |
Thanks guys for the excellent explanation. I'm sure that some new mappers may feel like they are reading the chemical equations for the universe, but trust me, as a fellow new mapper, it will make sense as to learn more. Just print it and keep re-reading it!
I figured this out the other night too doing just what foyle mentioned - mapping then looking at the tris and fps: I have a two story building with one stairwell. The stairs are blocked off from the rest of the room with a wall and I portalled the openning on the upstairs floor. When I was upstairs however, it still rendered all the stuff downstairs because the only portal divider was on the floor. Any time I could see into that cell, it rendered what was in it.
Sollution? I put another portal at the bottom of the stairs connecting to the portal on the floor. Now, when I look in the direction of the stairs from upstairs, I only see into the cell that contains the stairs and the same when I am downstairs.
This, to me at least, was a good enough reason to keep that interior wall as structural even though it will be dividing both the floor and ceiling where they intersect. The trade-off is that all the other stuff isn't drawn until the player is actually on that floor. |
 |
|
|
|
|
|
| Ramdam |
 |
General Member Since: Apr 23, 2004 Posts: 95 Last: Apr 23, 2005 [view latest posts] |
|
|
|
Category: CoD Mapping Posted: Monday, Jun. 21, 2004 09:23 pm |
 |
This isn't a big problem. I made once a map totally out of detailed brushes (the sky is structeral, dehe lol ) no side effects in the map.
When u make a map in a town wihout far seeing places u can make it all detailed and it reduce the vis compilation time!
If u make somethin' like brecourt use what they said before
this is my oppinion :) |
 |
|
|
| hoover |
General Member Since: Jun 15, 2004 Posts: 22 Last: Feb 16, 2005 [view latest posts] |
|
|
|
|
| rEdrUmMDK |
 |
Preferred PLUS Member Since: May 29, 2002 Posts: 6787 Last: Feb 12, 2009 [view latest posts] |
|
|
|
|
|
|
mp_TempleCall of Duty: Mods: Multiplayer (624.12Kb)
|