You can visualize the physics like so:
Code:
void Draw()
{
Renderer(Render);
if (Renderer.rebuildDepthNeededForDebugDrawing()) Renderer.rebuildDepth();
if (Kb.b(KB_V)) Physics.draw();
}
At anytime during the game, just press V to draw the physics.
The player is likely getting stuck when running into the wall instead of sliding due to friction. You can edit friction values (or disable altogether) like so:
Code:
Physics.create(CSS_NONE, true, "../../../EsenthelEngineSDK/Installation/PhysX");
Physics.material[PHYS_MTRL_CHR].anisotropic(false);
Physics.material[PHYS_MTRL_CHR].frictionDynamic(0);
Physics.material[PHYS_MTRL_CHR].frictionMode(PhysMtrl::MODE_MIN);
Physics.material[PHYS_MTRL_CHR].frictionStatic(0);
The above code disables friction on the player so you will slide off everything (also slides on flat ground a bit, if at high speeds). You may not want to disable it completely, just tweak the values to your liking.
If the player is getting stuck when going through doors, the doors may be too small for the capsule around the player to fit through. You could either make the doors wider/taller, or make the capsule around the player smaller. You can change that like so:
Code:
void Player::create(Game::ObjParams &obj)
{
__super::create(obj);
ctrl.radius(0.4f); // default is 0.45f
}