BetterChatacterControl Clips through ground on setGravity()

I’m using the following line to alter the gravity of a BetterCharacterControl:
[java]physicsPlayer.setGravity(cam.getDirection().mult(9.81f));[/java]
If the player is looking above its relative horizon and is on the ground this causes the player to clip through the object below it. It seems that when the function is called it rotates the player around its feet. How can I have it rotate the player based off of the player’s center or not pass through objects when shifting gravity?

Do you really want to set gravity based on the direction the player is looking?

It seems like probably not since you mention two completely separate things in your post as if they are maybe related.

If you do wan that then you can maybe explain what effect you are trying to achieve.

Yes, I know its a bit odd, but I’m attempting to have the global gravity (including the player’s) shift to the direction of the camera when the player left-clicks. I may later add something that smoothes the rotation and rotates the camera along the player’s left axis so it is less disorientating but gravity will always set by the camera direction.

Just move the character up by its radius?

Ok that appears to work. Thanks for the help

Another option would be to change the gravity gradually instead of instantly.