mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-17 11:26:17 +02:00
Merge pull request #16235 from luiscuenca/resetLookAtOnGoTo
BUGZ-1553: Reset look at params when the avatar's location is set
This commit is contained in:
commit
6fbcc9151e
2 changed files with 12 additions and 5 deletions
|
@ -4144,6 +4144,7 @@ void MyAvatar::goToLocation(const glm::vec3& newPosition,
|
||||||
_goToOrientation = quatOrientation;
|
_goToOrientation = quatOrientation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resetLookAtRotation(_goToPosition, _goToOrientation);
|
||||||
emit transformChanged();
|
emit transformChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5996,6 +5997,7 @@ bool MyAvatar::pinJoint(int index, const glm::vec3& position, const glm::quat& o
|
||||||
}
|
}
|
||||||
|
|
||||||
slamPosition(position);
|
slamPosition(position);
|
||||||
|
resetLookAtRotation(position, orientation);
|
||||||
setWorldOrientation(orientation);
|
setWorldOrientation(orientation);
|
||||||
|
|
||||||
auto it = std::find(_pinnedJoints.begin(), _pinnedJoints.end(), index);
|
auto it = std::find(_pinnedJoints.begin(), _pinnedJoints.end(), index);
|
||||||
|
@ -6662,6 +6664,15 @@ void MyAvatar::resetHeadLookAt() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyAvatar::resetLookAtRotation(const glm::vec3& avatarPosition, const glm::quat& avatarOrientation) {
|
||||||
|
// Align the look at values to the given avatar orientation
|
||||||
|
float yaw = safeEulerAngles(avatarOrientation).y;
|
||||||
|
_lookAtYaw = glm::angleAxis(yaw, avatarOrientation * Vectors::UP);
|
||||||
|
_lookAtPitch = Quaternions::IDENTITY;
|
||||||
|
_lookAtCameraTarget = avatarPosition + avatarOrientation * Vectors::FRONT;
|
||||||
|
resetHeadLookAt();
|
||||||
|
}
|
||||||
|
|
||||||
void MyAvatar::updateHeadLookAt(float deltaTime) {
|
void MyAvatar::updateHeadLookAt(float deltaTime) {
|
||||||
if (_skeletonModelLoaded) {
|
if (_skeletonModelLoaded) {
|
||||||
glm::vec3 lookAtTarget = _scriptControlsHeadLookAt ? _lookAtScriptTarget : _lookAtCameraTarget;
|
glm::vec3 lookAtTarget = _scriptControlsHeadLookAt ? _lookAtScriptTarget : _lookAtCameraTarget;
|
||||||
|
|
|
@ -2654,11 +2654,6 @@ private:
|
||||||
bool _scriptControlsHeadLookAt { false };
|
bool _scriptControlsHeadLookAt { false };
|
||||||
float _scriptHeadControlTimer { 0.0f };
|
float _scriptHeadControlTimer { 0.0f };
|
||||||
|
|
||||||
// LookAt camera data
|
|
||||||
float _selfieTriggerAngle { 55.0f };
|
|
||||||
float _frontLookAtSpeed { 0.15f };
|
|
||||||
float _backLookAtSpeed { 0.25f };
|
|
||||||
|
|
||||||
Setting::Handle<float> _realWorldFieldOfView;
|
Setting::Handle<float> _realWorldFieldOfView;
|
||||||
Setting::Handle<bool> _useAdvancedMovementControls;
|
Setting::Handle<bool> _useAdvancedMovementControls;
|
||||||
Setting::Handle<bool> _showPlayArea;
|
Setting::Handle<bool> _showPlayArea;
|
||||||
|
@ -2685,6 +2680,7 @@ private:
|
||||||
void initFlowFromFST();
|
void initFlowFromFST();
|
||||||
void updateHeadLookAt(float deltaTime);
|
void updateHeadLookAt(float deltaTime);
|
||||||
void resetHeadLookAt();
|
void resetHeadLookAt();
|
||||||
|
void resetLookAtRotation(const glm::vec3& avatarPosition, const glm::quat& avatarOrientation);
|
||||||
|
|
||||||
// Avatar Preferences
|
// Avatar Preferences
|
||||||
QUrl _fullAvatarURLFromPreferences;
|
QUrl _fullAvatarURLFromPreferences;
|
||||||
|
|
Loading…
Reference in a new issue