mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 18:21:16 +02:00
Merge pull request #11785 from luiscuenca/case6944
6944 Avatar scale is preserved across domains
This commit is contained in:
commit
38cc56db7f
2 changed files with 18 additions and 1 deletions
|
@ -135,7 +135,7 @@ MyAvatar::MyAvatar(QThread* thread) :
|
||||||
connect(&domainHandler, &DomainHandler::settingsReceived, this, &MyAvatar::restrictScaleFromDomainSettings);
|
connect(&domainHandler, &DomainHandler::settingsReceived, this, &MyAvatar::restrictScaleFromDomainSettings);
|
||||||
|
|
||||||
// when we leave a domain we lift whatever restrictions that domain may have placed on our scale
|
// when we leave a domain we lift whatever restrictions that domain may have placed on our scale
|
||||||
connect(&domainHandler, &DomainHandler::disconnectedFromDomain, this, &MyAvatar::clearScaleRestriction);
|
connect(&domainHandler, &DomainHandler::disconnectedFromDomain, this, &MyAvatar::leaveDomain);
|
||||||
|
|
||||||
_bodySensorMatrix = deriveBodyFromHMDSensor();
|
_bodySensorMatrix = deriveBodyFromHMDSensor();
|
||||||
|
|
||||||
|
@ -2279,6 +2279,18 @@ void MyAvatar::restrictScaleFromDomainSettings(const QJsonObject& domainSettings
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyAvatar::leaveDomain() {
|
||||||
|
clearScaleRestriction();
|
||||||
|
saveAvatarScale();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MyAvatar::saveAvatarScale() {
|
||||||
|
Settings settings;
|
||||||
|
settings.beginGroup("Avatar");
|
||||||
|
settings.setValue("scale", _targetScale);
|
||||||
|
settings.endGroup();
|
||||||
|
}
|
||||||
|
|
||||||
void MyAvatar::clearScaleRestriction() {
|
void MyAvatar::clearScaleRestriction() {
|
||||||
_domainMinimumScale = MIN_AVATAR_SCALE;
|
_domainMinimumScale = MIN_AVATAR_SCALE;
|
||||||
_domainMaximumScale = MAX_AVATAR_SCALE;
|
_domainMaximumScale = MAX_AVATAR_SCALE;
|
||||||
|
|
|
@ -622,6 +622,9 @@ signals:
|
||||||
void attachmentsChanged();
|
void attachmentsChanged();
|
||||||
void scaleChanged();
|
void scaleChanged();
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void leaveDomain();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
bool requiresSafeLanding(const glm::vec3& positionIn, glm::vec3& positionOut);
|
bool requiresSafeLanding(const glm::vec3& positionIn, glm::vec3& positionOut);
|
||||||
|
@ -638,6 +641,8 @@ private:
|
||||||
virtual int parseDataFromBuffer(const QByteArray& buffer) override;
|
virtual int parseDataFromBuffer(const QByteArray& buffer) override;
|
||||||
virtual glm::vec3 getSkeletonPosition() const override;
|
virtual glm::vec3 getSkeletonPosition() const override;
|
||||||
|
|
||||||
|
void saveAvatarScale();
|
||||||
|
|
||||||
glm::vec3 getScriptedMotorVelocity() const { return _scriptedMotorVelocity; }
|
glm::vec3 getScriptedMotorVelocity() const { return _scriptedMotorVelocity; }
|
||||||
float getScriptedMotorTimescale() const { return _scriptedMotorTimescale; }
|
float getScriptedMotorTimescale() const { return _scriptedMotorTimescale; }
|
||||||
QString getScriptedMotorFrame() const;
|
QString getScriptedMotorFrame() const;
|
||||||
|
|
Loading…
Reference in a new issue