I'm trying to have my character collide against walls without getting stuck or ever going through them. The following code is problematic. My question is broad, I know, but maybe I'm doing something wrong...
private SimpleVector collide(SimpleVector directionToHead) {
silmaria.collisionObject.setVisibility(true);
SimpleVector direction = hero.get(0).checkForCollisionEllipsoid(directionToHead, new SimpleVector(.15f, 2f, .15f), 5);//.5f, 2f, .5f), 5
silmaria.collisionObject.setVisibility(false);
if (directionToHead.x != direction.x || directionToHead.z != direction.z) {
collidedThisFrame = true;
float multiplier = -2f;
if (currentAnimation == WALKS)
multiplier = -3.5f;
direction.x = multiplier*directionToHead.x;
direction.z = multiplier*directionToHead.z;
}
else collidedThisFrame = false;
return direction;
}