How can I change gravity for characters like in some levels of silhouette? (If you have source code please tell me, or how I could pull this off!)

I want to know how to make a gravity-changing system in which I can make parts and characters have a gravity in a different way, like making it go left to right, or make it where when you hit a face of a part like the game Silhouette on roblox in certain levels it flips your character to that side (if anyone has source code please post it). I am running into a problem, however: parts and most physical objects (other than terrain, but that isn’t supposed to move much) can change gravity easily using a vectorforce or another body mover, but I can’t get the character to change gravity properly. I can make the camera change and everything, but there is still one issue: I can’t make the humanoid function with this. It makes the player only stand with the original gravity no matter what, and I am wondering if in order to make the character be able to do it like in silhouette with the gravity change, do I need to make custom character or movement systems, or is there a property to change or easier way to do it?

It might be this: