What's this?

In the source engine, player models are axis aligned bounding boxes - this means that the player model is "bigger" in directions that are not axis aligned.
To compensate for this, you can replace collisions for important affected parts with a separate collision brush that is inset a few units. This is a tool for automatically calculating the correct distance for the chosen brushes/faces and moving them.


Material to resize solids
Material to ignore when resizing
Material to resize faces
Replace above materials with the following (leave blank for no replacement
Player width



Recommended Usage

Step 1

Find all the brushes in your map where accurate collisions are important. Figure out if you want to move just a single face or if you want to move the whole brush.

Single face

If a brush needs accurate collisions on more than 1 face, you might want to use this mode. For example, a ramp that is also part of a wall.

Whole brush

If a brush only needs accurate collision on one face, and it is more important for the overall size of the collision to remain the same, you might want to use whole brush. For example, a ramp that is only relevant for its usage while surfing. This is probably what you want to use.

Step 2

Make a copy of each relevant brush and texture the copy with tools/toolsplayerclip. Texture the faces that need movement with a different texture not already used in your map (e.g. tools/toolsclip). Note that you should leave the original brush with normal textures alone - only apply this different texture to the playerclip brush you just made. Make each original brush a brush entity that has no collision (e.g. func_brush with solidity set to Never Solid). You should now have 2 different brushes on top of each other, one which is a collision with no visible part, one which is a visible part with no collision.

Step 3

Choose the vmf in the file selector and set all the relevant fields. In Counter-Strike:Source and Global Offensive, player width is 32 units. In Team Fortress 2, player width is 48 units. Then, click the "modify vmf" button and wait for the webpage to process the file.

Step 4

Check the new vmf for any problems and make sure everything works properly.

Note: If you are using Crashfort's Hammerpatch, any changes made by this tool may be reverted when you open the vmf, as only faces are moved, not vertices.

Examples

Here is an example of some surf ramps resized using this tool - The first vmf is before modification, the second is after modification, and the bsp is the compiled modified version.
examplevmf.vmf
examplevmf_modified.vmf
examplemap.bsp

The redder ramps are not modified using this tool, the grayer ramps are. In game, you can tell that the collision on the non-axis aligned redder ramps appears different than the axis aligned ones. The gray ones do not have this problem.

This vmf was processed with the settings of:

Material to resize solids
Material to resize faces
Replace above materials with the following (leave blank for no replacement
Player width