The collision of two actors will behave differently depending on the physics material that is used for each actor.
If I want my actor to slide smoothly past a wall, I make a physical material for the Wall and for the Actor and put both their Restitution and Friction values to 0.0.
But when I put the friction parameter of the wall to a higher value, the Actor no longer slides smoothly past the wall.
What should I do when I want my Actor to slide smoothly against any surface regardless of what their friction parameter is?
Currently we take the average friction of the two physical materials. This is not ideal for many cases so I’m adding an override for this so that you can choose (average, multiply, min, max).
I’m hoping to have the change in github soon, let me know if you have any more questions.
Thanks! This is exactly what was causing my issue when I tried to get a default friction object to slide over low-friction material (in my case, ice)
Q: Is this supported on decals as well? Let’s say I have an ice decal on the floor, will the object sliding over the surface respond to the decal material and not the original floor material?
I’m afraid decals do not have a representation in the collision system, so this will not work. It’s an interesting idea though, I can certainly see how it would be useful.
That’s really unfortunate! Could this be something for a future release?
I’ve tried a physics volume slightly above the decal to fake the effect, but it does not hold the same properties to give me a result that could be close to a slippery surface. Would you have any other workaround suggestions perhaps?
Physics volumes do not control surface properties. Maybe instead you can add an invisible (but colliding) static mesh just above the floor and override its physical material.
I can’t think of a way we can really do this in a general way, it very hard to think of a way to ‘collide’ against decals. Dealing with masking etc would make it extra tricky.