diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index df09154d46..b4fa7db4a9 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -81,9 +81,9 @@ const int MIRROR_VIEW_TOP_PADDING = 5; const int MIRROR_VIEW_LEFT_PADDING = 10; const int MIRROR_VIEW_WIDTH = 265; const int MIRROR_VIEW_HEIGHT = 215; -const float MIRROR_FULLSCREEN_DISTANCE = 0.2f; -const float MIRROR_REARVIEW_DISTANCE = 0.3f; -const float MIRROR_REARVIEW_BODY_DISTANCE = 1.f; +const float MIRROR_FULLSCREEN_DISTANCE = 0.35f; +const float MIRROR_REARVIEW_DISTANCE = 0.65f; +const float MIRROR_REARVIEW_BODY_DISTANCE = 2.3f; void messageHandler(QtMsgType type, const QMessageLogContext& context, const QString &message) { diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index cdcaeb2b0e..d11083908c 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -565,7 +565,13 @@ void MyAvatar::renderBody(bool forceRenderHead) { } else { // Render the body's voxels and head _skeletonModel.render(1.0f); - _head.render(1.0f, false); + + // Render head so long as the camera isn't inside it + const float RENDER_HEAD_CUTOFF_DISTANCE = 0.10f; + Camera* myCamera = Application::getInstance()->getCamera(); + if (forceRenderHead || (glm::length(myCamera->getPosition() - _head.calculateAverageEyePosition()) > RENDER_HEAD_CUTOFF_DISTANCE)) { + _head.render(1.0f, false); + } } _hand.render(true); }