I have a problem with my Physics assets in game. They seem to interact really strangely with the player.
My Player weighs almost nothing, and the Objects weigh thousands of KGs, yet merely standing on them or jumping into them causes them to freak out.
Video: Physics Issue - YouTube
They don’t have this issue with each other, it’s when the player touches them.
They all have Rotation constraints and X location constraints so they don’t break away from the 2D gameplay. The floating ones are held in place by force, acting as objects with 0 gravity and having the “Add force at location node” to re-orient themselves.
Any guesses on what could cause this issue and how to fix this?
Mass won’t work when interacting with the Character, as it is not simulating physics, but uses a custom logic. In CharacterMovementComponent
you can set the PushForceFactor
(alongside with many other attributes) which control how interacting with physics bodies work.
Have you tried just to untick Physics Interactions
entirely?
I looked into it and it doesn’t seem to affect anything. I set everything to 0 and I still have the same issues.
Do you think it’s possible that the platforms are trying to inherit movement from the player when they are touching? Touching them while falling seems to yank them down. if that’s the case, do you know if it’s possible to turn off?
I did, yes. It doesn’t seem to have changed anything, unfortunately.
Walking into the assets or bumping into them doesn’t really have an effect on them anymore, but the still freak out when I gain purchase on them.
I believe a workaround is to modify the primitive component to be impossible to walk on by a character. It’s from memory though, you should test this:
SomePrimitiveComponentYouWalkOn->SetWalkableSlopeOverride(FWalkableSlopeOverride(EWalkableSlopeBehavior::WalkableSlope_Decrease, 0.f));