mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-25 17:14:59 +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;
|
||||
}
|
||||
|
||||
resetLookAtRotation(_goToPosition, _goToOrientation);
|
||||
emit transformChanged();
|
||||
}
|
||||
|
||||
|
@ -5996,6 +5997,7 @@ bool MyAvatar::pinJoint(int index, const glm::vec3& position, const glm::quat& o
|
|||
}
|
||||
|
||||
slamPosition(position);
|
||||
resetLookAtRotation(position, orientation);
|
||||
setWorldOrientation(orientation);
|
||||
|
||||
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) {
|
||||
if (_skeletonModelLoaded) {
|
||||
glm::vec3 lookAtTarget = _scriptControlsHeadLookAt ? _lookAtScriptTarget : _lookAtCameraTarget;
|
||||
|
|
|
@ -2654,11 +2654,6 @@ private:
|
|||
bool _scriptControlsHeadLookAt { false };
|
||||
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<bool> _useAdvancedMovementControls;
|
||||
Setting::Handle<bool> _showPlayArea;
|
||||
|
@ -2685,6 +2680,7 @@ private:
|
|||
void initFlowFromFST();
|
||||
void updateHeadLookAt(float deltaTime);
|
||||
void resetHeadLookAt();
|
||||
void resetLookAtRotation(const glm::vec3& avatarPosition, const glm::quat& avatarOrientation);
|
||||
|
||||
// Avatar Preferences
|
||||
QUrl _fullAvatarURLFromPreferences;
|
||||
|
|
Loading…
Reference in a new issue