Question about the physic materials in UE4

I have several questions regards the physics properties in a physics-material:

  • Friction
  • Friction combine
  • Restitution

I know that a friction of zero is like super glue where you cannot move at all, 100% energy lost in the tangential normal direction and one is like ice without any energy lost in the tangential normal direction too (Is that right?)

I know that restitution determines the bounciness of a body - zero means no bouncy at all, one means 100% bouncy without any energy lost in the normals direction (Is that right?)

I assume that friction combine, do what the names says… how the final friction value are calculated in a collision response for two rigid bodies.

What i dont know, how does UE4 calculates the “Final” Restitution Value (is it the maximum, the minimum or some average?

What friction values must i set for a static and a dynamic body, so that the dynamic do bounce 100% in a physical matter, without any energy lost and with a reflected velocity, but never ever slides along the static body?

Is there a way i can have multiple physical materials and switch based on a “On Overlap Actor” collision, so that i can have physical materials for different actors?

Thanks in regards,
Finalspace

I know that a friction of zero is like super glue where you cannot move at all, 100% energy lost in the tangential normal direction and one is like ice without any energy lost in the tangential normal direction too (Is that right?)

Nope, friction = 0, is like ice.

The restitution combine mode is to take the average. We haven’t exposed this to the editor yet, but if there’s a use case for it it would be fairly simple to add.

friction of 0 is like ice.

It would be good to get it exposed. It can be useful to have an object, whose bounciness is set to 1 with bounce combine as multiply. It’s then trivial to have a world material “NoBounce” whose restitution is 0 and the object hit’s it and gets no bounce. You can then have a world material “Bouncy” and set it’s restitution to 1 and get a bouncy world material. Using multiplies makes this set up more complicated. Bouncy becomes a restitution of 2, non bouncy remains 0 and the object has a restitution of 0. I.e. it’s nice to have multiply so that object always takes the bouncing surface’s restitution.

This has been exposed and will be available in 4.8

I know that restitution determines the bounciness of a body - zero means no bouncy at all, one means 100% bouncy without any energy lost in the normals direction (Is that right?)

With restitution, the energy is first converted to what I think is called elastic potential, where the objects squish together, and then after that it is converted back into kinetic energy. The coefficient of restitution determines how much kinetic energy is lost to sound or whatever, and then that remaining energy is split in half between the two objects (unless one is static, in which case the mobile one gets all the remaining energy).