S&box Wiki

Collisions, Physics & Surface Types

Collisions, Physics & Surface Types

PhysicsHullFromRender

Physics hull from render basically generates a hull mesh for your model from the geometry of the rendered mesh. It usually isn't the best but it is fairly okay for quickly testing things. To add this to your model, simply look for PhysicsHullFromRender on the type browser and simply add it.

PhysicsHullFromRender

If your model contains bones, it will ask you to pick the bone to generate the hull mesh for. For jointed objects note that you should refrain from using automatically generated phys models and go for physics shaped objects like capsules, spheres and boxes. If it is a biped ragdoll note that you can go for either creating a biped ragdoll or creating just ragdoll parts individually.

PhysicsHullFile

Another way to add physics to your model is using a prebuilt physics model which you made yourself outside of ModelDoc. This is usually the preferred way to go for porting old assets since you can re-use your old physmodel. To add something like that simply add the following option:

PhysicsHullFile

This option is going to prompt you to load the model file which you'd like to use as a physics model for your model, once it's added simply compile it and toy around with your model which now has some nice physics.

I advise you not to use PhysicsMeshFile (physicsmeshfile) because it has issues. For example, it can't calculate mass and may cause it not to actually do physics to itself. Just use PhysicsHullFile - it does the job and does it well, without issues.

Complex Collision Shape

Let's say you wanted a more complex physics shape rather than a shrink wrap, then you will have to use multiple PhysicsHullFiles to build the complex shape.

For example, you want to be able to stand inside of this "box":

example model

Then we need to split the collision into a bunch of individual convex meshes. Here is an example of what it would look like:

multiple collision meshes

Save them all into their own model files and proceed to add PhysicsHullFile for every part of the mesh. You will now have a PhysicsShapeList with multiple PhysicsHullFiles within it.

example of physicsshapelist

You can click through them to check individually or click the PhysicsShapeList to see the final collision model.

final result

Now in-game you can get inside of this box, unlike the ones PhysicsHullFromRender makes. Of course, it will also let the model have gravity and collisions too.

Overriding Models Calculated Mass

You may see something like this on your PhysicsHulls, don't worry if that isn't right.

Calculated Mass: way to big or small

Go to the +Add, search for PhysicsBodyMarkup and add it.

physicsbodymarkup

It will ask you to choose a Target Body, you should just have one if you are making a basic model, so just click the one you see. You will see these options, the only one you gotta care about right now is Mass Override.

PhysicsBodyMarkup

Put an appropriate number in there in KGs and you're good to go.

Changing the Surface Property

What surface does your object have? Wood? Metal? Surface Properties will determine the sound it produces and, if any, decals and particles coming off when you hit it.

To change it, go into your PhysicsHull / PhysicsHulls and find this option:

physicshull surface property

Set it to whatever you want on your mesh. If you have multiple meshes change their Surface Property too. Done!

To learn how to make custom Surface Properties please look through here

Special Pages


Wikis

?

Render Time: 59ms

DB GetPage 49
Generate Html 0
SaveChanges (1) 8
Render Body 0
Render Sidebar 0