When to use brushes, and when to use models?

R

Riddles

Guest
I want as much detail as possible in my maps, i also want them to run smoothly in multiplayer. Let's say i would create something big that you need atleast 50 brushes for to look good. What would be best, build it with brushes and make it a func_detail. Or just make a model? o_O

The bridge that you walk under in hl2, is that a model or brushes? Terrain (ground) use displacement or model? Would a 32-player cs:s map the size of dust, with 60 cars (props) in it be playable?

Also is it or will it be possible to use 3dsmax instead of that other XSI-something program?
 
Model geometry vs. brush geometry

In general, brushes comprise the biggest chunk of the level and are used for terrain and very large and coarse objects. Brushes block visibility and are useful for such things as walls, terrain and hillsides. Big objects like bridges should be made from brushes as the use of lightmaps allows them to look much better than a single very large model.

The downside to brushes, and the reason you do not want to use them all the time, is that they hit performance because they consume more memory than props, are always drawn and cut the BSP making it less efficient. Brushes also cannot be put into hierarchies like props can.

Brushes should be used for the following:

* Terrain
* Hillsides/natural walls
* Walls
* Building cores (use props to decorate them with windows, etc.)
* Large structures such as bridges where lighting accuracy and visibility blocking are important
* Objects that will have limited uses in a level – performance hit is taken for every brush in the world.

Whenever possible, model mesh geometry (created in software such as Softimage|XSI) should be used instead of brush geometry created in Hammer. Model geometry, or “props”, render faster due to the batching capabilities of the engine. They also have lower memory requirements and benefit from multiple levels of detail to decrease the amount of geometry rendered. Models are made up of arbitrary sets of triangles, so they have few shape restrictions than brush geometry. Level designers can use any of the large numbers of model props that are available in the game directory to populate their levels.

Model geometry does not block visibility and cannot be used to seal the world or any two areas. Additionally, although models have the ability to cast shadows, they do not use lightmaps for shadows cast upon them like brushes do. They use a simpler vertex-based lighting model for increased speed.

Objects that are small, complicated, and do not seal areas are good candidates for model prop geometry. Examples include furniture, light fixtures, junk, equipment, pipes, vehicles, gutters and other building details, etc.

Props should be used for the following:

* Smaller objects in the world (pop cans, furniture, computer equipment, doors etc.).
* Larger objects that require higher levels of detail – consider placing brushes inside the props to solve visibility/performance issues (brush should be a similar but smaller outline of static prop).
* Anything that needs to move or be physically simulated (i.e. picked up, thrown, bumped etc).
* Non-collidable organics like foliage (grass, plants etc.).
* Objects that will appear many times in the level.

The next section explains the different varieties of model prop entities in the Source engine.

Taken from here:
http://www.valve-erc.com/srcsdk/Levels/performance_and_visibility.html

I'm not sure about the bridge, believe it's a brush. I'm not sure about the cars.

And yes, it is possibly to use 3dsmax.
 
Very well put The Thing. I'd just like to add that brush-based entities do not block vis and do not split faces on world brushes. However entities touching entities will split faces on each other.
I'm not sure how func_detail works or what its benefits are(I'm guessing something to do with LOD), but I'd imagine that is what the girders under the bridge were made of.
 
func_detail is used to create detailed brushes. Detailed brushes wont split with anything they touch.
 
This should be stickied. What happends when a brush is split and when it is not and what exactly does func_detailing do? I cant find any good tutorials on this :/ Thanks
 
I'd also like to know what exactly when func_detail should be used over other brushes. I noticed that they didn't split other brushes when I looked at a map with a BSP Viewer. So why not just make everything a func_detail :p? What are the pros and cons?
 
I know, I am a total noob... what do you mean by 'split brushes' or something?
 
Splitting brushes refers to 2 world brushes or 2 entity brushes touching each other, which causes them to split into more faces where they intersect. More faces= more to render= bad performance, so you want to avoid that. You wouldn't see it in a bsp viewer because it doesn't occur until you compile the bsp.

Making everything a func_detail would be bad because there would be nothing to block visibility (vis), thus your entire level would render at once (not to mention the hull of your level needs to be made of world brushes to get it to compile in the first place). World brushes are the only thing that blocks vis (aside from a special vis-blocking entity they created for hl2 I believe). The more you block vis, the less faces there will be to render in a certain area, which makes your map run smoother.
 
Yikes - I understand that somewhat but now a whole slew of questions arise. Any comprehensive tutorials out there... lol

On func_detail and splitting brushes?
 
func_detail does not split brushes, or block vis. So, you cant seal off your levels with it.
 
Does anyone know where the button is that turns a world brush into a func_detail brush? I cant figure it out. I read the SDK documents and It does not tell you where to find it.
 
importon said:
Does anyone know where the button is that turns a world brush into a func_detail brush? I cant figure it out. I read the SDK documents and It does not tell you where to find it.
press ctrl+t to turn it into a brush based entity, then search for func_detail in properties.
 
Actually, the big bridge that you walk under in HL2 was made with serveral models. (about 4 or 5...maybe even more) I cant remember off the top of my head right now, but I have definitley seen them in one of the folders while I was browsing for props to put in my map.
 
Yea I noticed that the other day too. Oh well, live and learn!
 
Back
Top