Apply Physical Material to Material Function

Hey… As the title says, what I want to know is how to apply a physical material to a material function.
What I’m trying to do is play foot step sound cues when the player walks on certain surfaces.
The way I’ve done my terrain is by using material instances and alpha maps to say what materials get painted where rather than having to paint them my self.

Unlike normal materials which can have physical materials added in from the content browser Physical Materials do not.

I was wondering if there is a way I can apply a physical material to a material function.


Any one got any ideas?

Need to know this too. So bumping

I don’t think you can mask off a physical material via pixel mask or vertex color in the material, but I do believe landscape layers support this kind of functionality.

Unfortunately my setup isn’t using landscape layers but instead the Mat Functions are linked together with MatLayerBlend_Standard’s.

I wonder if epic are planning on MatFunctions having this option in future. Hope so.

Has there been any news on this? I would like to know how to solve this as well!

Giving this a bump with the new year… I recently improved my landscape material by replacing all the blend inputs with material functions… Though as a result I have lost my footstep sound functionality since I cannot seem to assign a physical material.

EDIT: Ok well scratch that… I found it in the Layer Info objects. Though doing this within a material function would still have its uses.

I’ve discovered before that the landscape can’t get it’s phys info from the material. What would be great is an option on the landscape layer info assets to have a bake option that would use the material instead of having to paint.

any news on this ?

Would like to see material functions be able to hold phys material type too!

This is still a problem as far as I can tell with no built-in solution. If you procedurally texture your landscape with a material, based on slope or height or whatever, you can’t use physical materials. You have to paint them. I spent a while trying to get around this and found an acceptable solution, using a scenecapture2d to rendertarget to export a png that I can then split up an import into paint layers but not render, and get physical materials from those layers. A more elegant solution would be great!