Player controller mustn't rotate

Sgw32

18-12-2010 19:49:11

My Player controller works well, but when I hit a surfaace on a high speed, I sometimes rotate. But in modern games(for example, HL2) there is no such a problem.
When you walk near the wall, you don't rotate.
My player's shape - Ellipsoid
It is clipped using UpVector to the UNIT_Y, so it doesn't fall down. I'm using setOmega for rotation on Y, and SceneNode with Camera for up-down axis.
The problem was solved when I set up 3 UpVectors for all axes, but now I can't rotate body using setOmega :(
Is it any another way to make a movement for the Player body, like in HL2, without any rotations when you are near walls and non-realistic movement? It works great with physics objects, but not with a player.
EDIT:
Simpler, how to realize setOmega only using Quaternions and body->setPositionOrientation()?