Costly collision model

From Valve Developer Community
Jump to navigation Jump to search
Note.pngNote:Valve seems to have removed the old limit and saw that 20 objects was not enough these days and either removed or raised it. I haven't tested a new limit yet but I did already compile 30+ object collision models without the "$maxconvexpieces" and it worked. I use the Source Engine 2007, so this will most likely be removed in all newer engines. I am however not sure if they did this on the 2006 engine as well (confirm?).

A costly collision model is one with over 20 convex parts. You will receive this error when going over it:

WARNING: COSTLY COLLISION MODEL!!!! (30 parts - 20 allowed)
WARNING: Error with convex elements of myfirstmodel-phys.smd, building single convex!!!!
Model has 31 convex sub-parts
Collision model completed.

The appearance of "error with convex elements" is itself an error, so ignore it. Your meshes are (probably) fine.

Solution for Orange Box

Either try to decrease the number of convex meshes, or if you really do need that many of them (usually only excusable on very large models), to use the $maxconvexpieces command to override the limit to one of your own preference. For instance:

$collisionmodel "myfirstmodel-phys.smd" { $concave $maxconvexpieces 30 }

Solution for Ep1

Episode One engine users must run studiomdl with the -fullcollide parameter when compiling instead.

Open a text editor and copy and paste the following:

@echo on
cd "%sourcesdk%\bin\ep1\bin\"
studiomdl.exe -fullcollide %1
@pause

Save the text file as a .bat (wrap quote marks around the filename if you are using Notepad to make sure it's not saved as a .txt instead). Then drag and drop your QC files onto the file to use it.