BetterCharacterController for unconventional movvement and body orientation

are there possible issues I will have to deal with, have anybody tried anything beyond move crouch jump …as an extreme case let say Max Payne meets a bits of Assassins creed (a touch of wall running, proning, and evasive movement…diving sliding and such.

based on the test I see that the “planet physics” can be used effect body orientation is this advisable , or would it just be better to work out a custom solution.

\thanks in advonce

In jmonkeyengine you would realize such things via AppStates and CustomControls. More information can be found in the wiki.

The BetterCharacterControl is just a basic implementation of physics behavior for standard players, it’s supposed to be extended by the developer when they want to add more functionalities.

I know that I will have to implement the behaviors I want, but it would still useful to get an idea of the issues I face in doing so, and if possible advice and or warnings from anyone who may have explored this or similar especially as it pertains to rotations and handle collisions and possible otherror fallouts

Well then, sorry, I haven’t done things like diving etc. myself, so I can’t give you any advices. But as you said, for sure there is someone who can tell you what things you need to plan and look for.

Well collission handling is done by the physics engine so that’s not the problem, however:
A Character as seen by the bcc is a capsule with it’s orientation always being UP (so it’s local y axis is the global y axis).
This means, that even when walking on some hills, your capsule would be straight.
This also means that when you would run along walls, you’d have the impression of sticking to it with your shoulder.

You have to play around with the physics debug mode and extend the Behavior of BCC.
Most important is the friction there. A player doesn’t accelerate, decelerate or even slip at steep angles (since his feet compensate that).

This is what you also need when climbing a wall. Either disabling physics for a moment completely or atleast set some friction to have the player stick at it’s position. For AC Style climbing upstairs I would maybe really disable gravitation or something since in newer games you can’t really climb up the wrong way anymore.

It really depends on what you want to achieve. If you are able to create a diagram or write it in incase xyz happens, the player should uvw style, then you are able to code it in no time.

Also note that BCC heavily bypasses the physics sometimes because else the character wouldn’t feel realistic or rather bugged

Yes , but you’ll need to add a lot to it. Setting the linear / angular factors , friction and gravity will be key to wall climbing. You also will need to add in additional ray cast so you can get the normals of the polys you are facing. It’s really a complicated process.

I’d start by breaking down the control and learning it. Then slowly add to it as needed.

thanks for the replies things are clearer now, thank again

No game really does this with physics. Its all about meta data in the environment.

If I can get around using physics i’ll gladly do that my concern is avoiding weirdness due to the collision shape’s orientation. Basically my concern centers around get the Collison shapes to orient correctly with the character or appear to.