Changing the surface prop of a model?

Hi! I was wondering how I could change the surface prop of a large model, so that when you walk on it, it will make the right footstep sounds.

Particularly, this model:

Unfortunately I have no experience in modeling, only mapping. The boat model came as an add-on to Gmod but I only extracted the models and materials folders and it works well. I’m using the model as a static prop in hammer, and it works in my map in-game. But when I walk inside or on any part of the boat, all of the footstep sounds are as if I am walking on metal, even though I’m walking on carpet, wood, etc.

Is there a way to change the footstep sounds to default? Or even better, could I have different footstep sounds for different parts of the boat model?

It’s not possible to have area-specific footsteps, but it is possible to change its surface properties. I don’t know how to do it, but maybe that’ll give you some hope.

Good to know, thank you. Could someone tell me how to change the surface properties?

Yes it’s possible, and it’s even possible to have a model with multiple different surface props. You would have to decompile the model, rig the different surfaces to separate bones and then use the jointsurfaceprop command.

An advanced modeling procedure.

Hmm I see. Sounds quite out of my skill level… Is there any simple way to just change the surface prop of the entire model to something else? I’m just seeking some options here. Shame the surface prop isn’t contained in a plain text file like it is with textures…

Actually, before source2007 there was a vmt command you could add that changed the surface properties, but I don’t know if it still works, or how it worked.

Just add it to the VMT and I think it overrides the per model one.

The $surfaceprop VMT command doesn’t work for the shaders used on models and it never has. Only brush based shaders use it.

You can only ever have one surface property for a static prop which the boat would have to be to walk on it. Jointed collision models can have different surfaces per bone but you can’t use them to walk on.

Your options are:

  1. Hex the model and change the surace prop string but you’d be limited to same length names. However, the bit in the .phy file is stored as a text block so you can probably change the length.

  2. Alternatively, decompile it and change it.

  3. Disable the physics and use invisible brushes instead.

I think this is your best bet.

Yeah, I already tried editing the VMTs of the model’s textures before I made this thread. After that I was stumped so I came here. Thanks though!

Rozzy, that’s some useful info. I already have the physics disabled since I’m using the boat as a static prop, so I suppose I can create some invisible textures myself with the appropriate surface props and cover the floor and seats of the boat. Thanks for the idea!