I am experimenting with some alternative to character movement.
What I need is various functionality that Character Movement / Character class doesn’t provide ad hoc and I found them hard to implement with all the features on.
If someone would argue that character should be enough then I would say that this is topic I have been iterating for a fey years and I know at lest few benefits and limitation of above.
Main limitations that I am concerned about:
Physical interaction
- right now Physical body hitting a Character doesn’t affect it. If you apply Impulse (in this case LaunchCharacter) you will get reaction but hitting body will bounce off the character (Case 1)
- In case of kinematic body Character can be smoothly pushed only if it moves or jumps, If they stay in place the position correction stater. (Case 2)
- pushing physical objects - there is a dedicated section i CharacterMovement for this but I always getting to the point when for some bodies I looks good but for other it causes problems. The biggest problem is with dynamic platforms or objects - If you push into them you often affect them to mush (Case 3). Think we need some mask channels for that.
- It seams that pushing physical skeletal meshes almost always ends up damping movement of character, at least in configurations that works for other scenarios. (Case 4).
- Standing Downward Force Scale - in many cases I need this to not affect some objects. There are some workarounds but they are a little bit messy. (Case 5)
Multi-body collision (I know there is a whole topic about this)
- Narrow collision for walking along the thin ledges vs wide collision for collision with walls - I know there are some solutions, but with more advanced physical interactions I thing they would fail (didn’t tried all scenarios)
Blending between bipedal and quadrupedal movement
- In case of character climbing freely on surfaces (like gecko) blending between movements with character components is somehow possible but problematic
Attaching to kinematic rotating platforms, moving inside moving vehicles
- attaching to those platforms causes movement to be doubled (bug, I would have to find thread)
Currently I am prototyping some physical based characters with multi-body collisions but still with many problems.
I know there are some solutions in code, but I’ve heard that this parts of code are very intertwined so for me, as mainly BP user, it is a minefield.
I was curios if there are some proven solutions to my problems? Is it worth it to try to making it in code?
Later I’ll try to post / or update this post with videos / pictures of current cases.
Physical Interaction no impact form big bodies - Case 1
Physical interaction - Case 2
Prototypes:
Multi-Body Pawn On Sphere - YouTube - Multi-Body Pawn On Sphere
Multi-Body Pawn On Sphere with Torque - YouTube - Multi-Body Pawn On Sphere with Torque