mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 15:29:42 +02:00
Render lookatIndicator for cursor select even when gyros are on for
more consistent behavior.
This commit is contained in:
parent
bbcf5b4d8d
commit
c579f70611
1 changed files with 14 additions and 10 deletions
|
@ -2613,16 +2613,19 @@ void Application::updateAvatar(float deltaTime) {
|
||||||
|
|
||||||
const float MIDPOINT_OF_SCREEN = 0.5;
|
const float MIDPOINT_OF_SCREEN = 0.5;
|
||||||
|
|
||||||
// Set lookAtPosition if an avatar is at the center of the screen
|
// Only use gyro to set lookAt if mouse hasn't selected an avatar
|
||||||
glm::vec3 screenCenterRayOrigin, screenCenterRayDirection;
|
if (!_isLookingAtOtherAvatar) {
|
||||||
_viewFrustum.computePickRay(MIDPOINT_OF_SCREEN, MIDPOINT_OF_SCREEN, screenCenterRayOrigin, screenCenterRayDirection);
|
|
||||||
|
|
||||||
glm::vec3 eyePosition;
|
// Set lookAtPosition if an avatar is at the center of the screen
|
||||||
|
glm::vec3 screenCenterRayOrigin, screenCenterRayDirection;
|
||||||
|
_viewFrustum.computePickRay(MIDPOINT_OF_SCREEN, MIDPOINT_OF_SCREEN, screenCenterRayOrigin, screenCenterRayDirection);
|
||||||
|
|
||||||
_isLookingAtOtherAvatar = isLookingAtOtherAvatar(screenCenterRayOrigin, screenCenterRayDirection, eyePosition);
|
glm::vec3 eyePosition;
|
||||||
if (_isLookingAtOtherAvatar) {
|
_isLookingAtOtherAvatar = isLookingAtOtherAvatar(screenCenterRayOrigin, screenCenterRayDirection, eyePosition);
|
||||||
glm::vec3 myLookAtFromMouse(eyePosition);
|
if (_isLookingAtOtherAvatar) {
|
||||||
_myAvatar.getHead().setLookAtPosition(myLookAtFromMouse);
|
glm::vec3 myLookAtFromMouse(eyePosition);
|
||||||
|
_myAvatar.getHead().setLookAtPosition(myLookAtFromMouse);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3027,6 +3030,7 @@ void Application::displaySide(Camera& whichCamera) {
|
||||||
if (!avatar->isInitialized()) {
|
if (!avatar->isInitialized()) {
|
||||||
avatar->init();
|
avatar->init();
|
||||||
}
|
}
|
||||||
|
// Set lookAt to myCamera on client side if other avatars are looking at client
|
||||||
if (isLookingAtMyAvatar(avatar)) {
|
if (isLookingAtMyAvatar(avatar)) {
|
||||||
avatar->getHead().setLookAtPosition(_myCamera.getPosition());
|
avatar->getHead().setLookAtPosition(_myCamera.getPosition());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue