diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 0e2ec13099..17f4ee421e 100755 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -363,7 +363,7 @@ void Application::paintGL() { glEnable(GL_LINE_SMOOTH); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - float headCameraScale = _serialHeadSensor.isActive() ? _headCameraPitchYawScale : 1.0f; + float headCameraScale = (_serialHeadSensor.isActive() || _webcam.isActive()) ? _headCameraPitchYawScale : 1.0f; if (_myCamera.getMode() == CAMERA_MODE_MIRROR) { _myCamera.setTightness (100.0f); @@ -432,6 +432,9 @@ void Application::paintGL() { void Application::resizeGL(int width, int height) { float aspectRatio = ((float)width/(float)height); // based on screen resize + // reset the camera FOV to our preference... + _myCamera.setFieldOfView(_horizontalFieldOfView); + // get the lens details from the current camera Camera& camera = _viewFrustumFromOffset->isChecked() ? _viewFrustumOffsetCamera : _myCamera; float nearClip = camera.getNearClip(); diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index 277cca906e..97e0f71c5a 100755 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -286,15 +286,17 @@ void Avatar::reset() { // Update avatar head rotation with sensor data void Avatar::updateHeadFromGyrosAndOrWebcam() { - const float AMPLIFY_PITCH = 1.f; - const float AMPLIFY_YAW = 1.f; - const float AMPLIFY_ROLL = 1.f; + const float AMPLIFY_PITCH = 2.f; + const float AMPLIFY_YAW = 2.f; + const float AMPLIFY_ROLL = 2.f; SerialInterface* gyros = Application::getInstance()->getSerialHeadSensor(); Webcam* webcam = Application::getInstance()->getWebcam(); glm::vec3 estimatedPosition, estimatedRotation; if (gyros->isActive()) { - estimatedPosition = gyros->getEstimatedPosition(); + if (webcam->isActive()) { + estimatedPosition = webcam->getEstimatedPosition(); + } estimatedRotation = gyros->getEstimatedRotation(); } else if (webcam->isActive()) { diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index 48a0caab5e..44eddeeb93 100644 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -179,7 +179,7 @@ void Head::simulate(float deltaTime, bool isMine) { _browAudioLift *= 0.7f; // update eyelid blinking - const float BLINK_SPEED = 5.0f; + const float BLINK_SPEED = 10.0f; const float FULLY_OPEN = 0.0f; const float FULLY_CLOSED = 1.0f; if (_leftEyeBlinkVelocity == 0.0f && _rightEyeBlinkVelocity == 0.0f) { diff --git a/interface/src/SerialInterface.cpp b/interface/src/SerialInterface.cpp index 63e5bd61c6..7158cb84b6 100644 --- a/interface/src/SerialInterface.cpp +++ b/interface/src/SerialInterface.cpp @@ -341,12 +341,6 @@ void SerialInterface::readData(float deltaTime) { _estimatedRotation = safeEulerAngles(estimatedRotation); - // Fuse gyro roll with webcam roll - if (webcam->isActive()) { - _estimatedRotation.z = glm::mix(_estimatedRotation.z, webcam->getEstimatedRotation().z, - 1.0f / SENSOR_FUSION_SAMPLES); - } - totalSamples++; }