more cleanup on lookat

This commit is contained in:
Jeffrey Ventrella 2013-05-22 13:24:19 -07:00
parent 9de6060d0f
commit 4d95d0a426
4 changed files with 7 additions and 8 deletions

View file

@ -404,7 +404,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) {
// set head lookat position // set head lookat position
if (_isMine) { if (_isMine) {
if (_interactingOther) { if (_interactingOther) {
_head.setLookAtPosition(_interactingOther->getApproximateEyePosition()); _head.setLookAtPosition(_interactingOther->getAverageEyePosition());
} else { } else {
_head.setLookAtPosition(glm::vec3(0.0f, 0.0f, 0.0f)); _head.setLookAtPosition(glm::vec3(0.0f, 0.0f, 0.0f));
} }
@ -425,9 +425,9 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) {
} }
} }
glm::vec3 Avatar::getApproximateEyePosition() { glm::vec3 Avatar::getAverageEyePosition() {
return _head.getApproximateEyePosition(); return _head.getAverageEyePosition();
} }
void Avatar::checkForMouseRayTouching() { void Avatar::checkForMouseRayTouching() {

View file

@ -94,7 +94,7 @@ public:
float getAbsoluteHeadYaw() const; float getAbsoluteHeadYaw() const;
float getAbsoluteHeadPitch() const; float getAbsoluteHeadPitch() const;
glm::vec3 getApproximateEyePosition(); glm::vec3 getAverageEyePosition(); // get the position smack-dab between the eyes (for lookat)
const glm::vec3& getHeadPosition() const ; // get the position of the avatar's rigid body head const glm::vec3& getHeadPosition() const ; // get the position of the avatar's rigid body head
const glm::vec3& getSpringyHeadPosition() const ; // get the springy position of the avatar's head const glm::vec3& getSpringyHeadPosition() const ; // get the springy position of the avatar's head
const glm::vec3& getJointPosition(AvatarJointID j) const { return _joint[j].springyPosition; }; const glm::vec3& getJointPosition(AvatarJointID j) const { return _joint[j].springyPosition; };

View file

@ -135,8 +135,7 @@ void Head::processLookat() {
if ( fabs(_lookAtPosition.x + _lookAtPosition.y + _lookAtPosition.z) == 0.0 ) { // a lookatPosition of 0,0,0 signifies NOT looking if ( fabs(_lookAtPosition.x + _lookAtPosition.y + _lookAtPosition.z) == 0.0 ) { // a lookatPosition of 0,0,0 signifies NOT looking
_lookingAtSomething = false; _lookingAtSomething = false;
} else { } else {
glm::vec3 averageEyePosition = _leftEyePosition + (_rightEyePosition - _leftEyePosition ) * ONE_HALF; glm::vec3 targetLookatAxis = glm::normalize(_lookAtPosition - getAverageEyePosition());
glm::vec3 targetLookatAxis = glm::normalize(_lookAtPosition - averageEyePosition);
float dot = glm::dot(targetLookatAxis, _orientation.getFront()); float dot = glm::dot(targetLookatAxis, _orientation.getFront());
if (dot < MINIMUM_EYE_ROTATION) { if (dot < MINIMUM_EYE_ROTATION) {
_lookingAtSomething = false; _lookingAtSomething = false;
@ -146,7 +145,7 @@ void Head::processLookat() {
} }
} }
glm::vec3 Head::getApproximateEyePosition() { glm::vec3 Head::getAverageEyePosition() {
return _leftEyePosition + (_rightEyePosition - _leftEyePosition ) * ONE_HALF; return _leftEyePosition + (_rightEyePosition - _leftEyePosition ) * ONE_HALF;
} }

View file

@ -48,7 +48,7 @@ public:
const bool getReturnToCenter() const { return _returnHeadToCenter; } // Do you want head to try to return to center (depends on interface detected) const bool getReturnToCenter() const { return _returnHeadToCenter; } // Do you want head to try to return to center (depends on interface detected)
float getAverageLoudness() {return _averageLoudness;}; float getAverageLoudness() {return _averageLoudness;};
glm::vec3 getApproximateEyePosition(); glm::vec3 getAverageEyePosition();
float yawRate; float yawRate;
float noise; float noise;