mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 17:14:59 +02:00
More work on righting based on gravity vector.
This commit is contained in:
parent
88bc6caf51
commit
365bb10d6b
2 changed files with 8 additions and 2 deletions
|
@ -51,6 +51,7 @@ const float HEAD_MIN_YAW = -85;
|
|||
const float PERIPERSONAL_RADIUS = 1.0f;
|
||||
const float AVATAR_BRAKING_STRENGTH = 40.0f;
|
||||
const float JOINT_TOUCH_RANGE = 0.0005f;
|
||||
const float ANGULAR_RIGHTING_SPEED = 45.0f;
|
||||
|
||||
float skinColor [] = {1.0, 0.84, 0.66};
|
||||
float darkSkinColor[] = {0.9, 0.78, 0.63};
|
||||
|
@ -348,8 +349,11 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) {
|
|||
} else {
|
||||
axis = glm::normalize(glm::cross(currentUp, targetUp));
|
||||
}
|
||||
_orientation.rotate(glm::angleAxis(angle, axis));
|
||||
|
||||
_orientation.rotate(glm::angleAxis(min(deltaTime * ANGULAR_RIGHTING_SPEED, angle), axis));
|
||||
glm::vec3 eulerAngles = glm::eulerAngles(_orientation.getQuat());
|
||||
_bodyYaw = eulerAngles.y;
|
||||
_bodyPitch = eulerAngles.x;
|
||||
_bodyRoll = eulerAngles.z;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,8 @@ public:
|
|||
void rotate(glm::vec3 EulerAngles);
|
||||
void rotate(glm::quat quaternion);
|
||||
|
||||
const glm::quat & getQuat() const {return quat;}
|
||||
|
||||
const glm::vec3 & getRight() const {return right;}
|
||||
const glm::vec3 & getUp () const {return up; }
|
||||
const glm::vec3 & getFront() const {return front;}
|
||||
|
|
Loading…
Reference in a new issue