diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index f4fc3c35f1..cecfc9456a 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -160,7 +160,7 @@ int audioCallback (const void *inputBuffer, *(currentPacketPtr++) = 255; // memcpy the corrected render yaw - float correctedYaw = fmodf(data->linkedAvatar->getRenderYaw(), 360); + float correctedYaw = fmodf(data->linkedAvatar->getAbsoluteHeadYaw(), 360); if (correctedYaw > 180) { correctedYaw -= 360; diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index d5f778c70c..afe9632b45 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -275,13 +275,16 @@ void Avatar::UpdateGyros(float frametime, SerialInterface * serialInterface, glm addLean(-measured_lateral_accel * frametime * HEAD_LEAN_SCALE, -measured_fwd_accel*frametime * HEAD_LEAN_SCALE); } +float Avatar::getAbsoluteHeadYaw() { + return _bodyYaw + _headYaw; +} + void Avatar::addLean(float x, float z) { // Add Body lean as impulse _head.leanSideways += x; _head.leanForward += z; } - void Avatar::setLeanForward(float dist){ _head.leanForward = dist; } diff --git a/interface/src/Avatar.h b/interface/src/Avatar.h index f568f80313..b931574ee8 100644 --- a/interface/src/Avatar.h +++ b/interface/src/Avatar.h @@ -167,18 +167,21 @@ public: void reset(); void UpdateGyros(float frametime, SerialInterface * serialInterface, glm::vec3 * gravity); + void setNoise (float mag) { _head.noise = mag; } void setScale(float s) {_head.scale = s; }; void setRenderYaw(float y) {_renderYaw = y;} void setRenderPitch(float p) {_renderPitch = p;} float getRenderYaw() {return _renderYaw;} float getRenderPitch() {return _renderPitch;} - void setLeanForward(float dist); - void setLeanSideways(float dist); - void addLean(float x, float z); float getLastMeasuredHeadYaw() const {return _head.yawRate;} float getBodyYaw() {return _bodyYaw;}; void addBodyYaw(float y) {_bodyYaw += y;}; + + float getAbsoluteHeadYaw(); + void setLeanForward(float dist); + void setLeanSideways(float dist); + void addLean(float x, float z); const glm::vec3& getHeadLookatDirection() const { return _orientation.getFront(); }; const glm::vec3& getHeadLookatDirectionUp() const { return _orientation.getUp(); };