Piles of debris
Hello, in this tutorial I will show you have to make piles of func_detail bricks, that are going to be placed using the source engines physics (I'm using bricks for this example). This is handy if you don't want to spend hours and hours placing individual bricks, rotating and positioning them on surfaces.
Load your map in Hammer
Create a brush, any size you want
Make this brush a 'Func_Physbox'. This will make the brush react to physics.
Make as many copies of the brush as you want (although don't go overkill) and position the brushes above where you want them to fall. Rotating the brushes will also provide more varied results. Make sure you group these brushes as it will save you a lot of time later on
Save the map and compile it. DO NOT make any changes at all in hammer before running the map, otherwise the next step will not work.
In the engine, open console and type 'map_edit "MAP NAME"'
For example 'map_edit piles_of_stuff'
this will reload the map in 'edit mode'. Wait a few moments for all the bricks to stop moving.
Open console again and type 'Hammer_update_entity func_physbox'. A bunch of stuff will flash up in console. Quit the game.
In Hammer the bricks should now be all in the positions they settled in in-game. Select the bricks (this is where the grouping comes in handy) and tie them to a new entity called 'func_detail', this will stop them cutting vis leafs to shreds.
NOTE : Some bricks may appear as if the faces are flipped inside out, this is bad. Find any bricks that appear inside out and delete them as it will give you errors when trying to play the map. Unfortunately I don't know why this happens, neither do I know a way to fix it. If someone knows and could help out, that would be great.
Re-compile the map and you should now have your bricks scattered everywhere.
(Screenshot Taken with 'Mat_fullbright 2' on)
Other notes :
This can be done with any physical object 'Prop_physics' ect. If you have a mesh that can be used as prop_physics and static, or one for each, you can do exactly what I have done here, but change the prop_physics to Prop_static once hammer has updates the positions.
Lower the lightmap scale on the bricks to save light compile time and help keep the map optimised.
It is probably more efficient to use Meshes instead of brushes, if you can create and compile your own 3d models, make a physics version and a static one.
It can also be handy to export the bricks as .DXF, and bring them into something like 3ds max or maya, to convert them into a static prop.
Suggested By joe_rogers_11155 :
"I would instead recommend turning them all into a single func_brush, then disabling collisions entirely. that way, there is no way they will interfere with player movement."
Thank you Interlopers, it was time to give something back :)