mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 18:41:10 +02:00
Merge pull request #10862 from NeetBhagat/5783-Restarting-Interface-allows-you-to-have-Avatar-Scale-Too-Big
Case 5783: Restarting Interface allows you to have Avatar Scale Too Big
This commit is contained in:
commit
2dfaf7b02a
1 changed files with 15 additions and 8 deletions
|
@ -1075,9 +1075,6 @@ void MyAvatar::loadData() {
|
||||||
|
|
||||||
getHead()->setBasePitch(loadSetting(settings, "headPitch", 0.0f));
|
getHead()->setBasePitch(loadSetting(settings, "headPitch", 0.0f));
|
||||||
|
|
||||||
_targetScale = loadSetting(settings, "scale", 1.0f);
|
|
||||||
setScale(glm::vec3(_targetScale));
|
|
||||||
|
|
||||||
_prefOverrideAnimGraphUrl.set(QUrl(settings.value("animGraphURL", "").toString()));
|
_prefOverrideAnimGraphUrl.set(QUrl(settings.value("animGraphURL", "").toString()));
|
||||||
_fullAvatarURLFromPreferences = settings.value("fullAvatarURL", AvatarData::defaultFullAvatarModelUrl()).toUrl();
|
_fullAvatarURLFromPreferences = settings.value("fullAvatarURL", AvatarData::defaultFullAvatarModelUrl()).toUrl();
|
||||||
_fullAvatarModelName = settings.value("fullAvatarModelName", DEFAULT_FULL_AVATAR_MODEL_NAME).toString();
|
_fullAvatarModelName = settings.value("fullAvatarModelName", DEFAULT_FULL_AVATAR_MODEL_NAME).toString();
|
||||||
|
@ -2282,17 +2279,27 @@ void MyAvatar::restrictScaleFromDomainSettings(const QJsonObject& domainSettings
|
||||||
if (_domainMinimumScale > _domainMaximumScale) {
|
if (_domainMinimumScale > _domainMaximumScale) {
|
||||||
std::swap(_domainMinimumScale, _domainMaximumScale);
|
std::swap(_domainMinimumScale, _domainMaximumScale);
|
||||||
}
|
}
|
||||||
|
// Set avatar current scale
|
||||||
|
Settings settings;
|
||||||
|
settings.beginGroup("Avatar");
|
||||||
|
_targetScale = loadSetting(settings, "scale", 1.0f);
|
||||||
|
|
||||||
qCDebug(interfaceapp, "This domain requires a minimum avatar scale of %f and a maximum avatar scale of %f",
|
qCDebug(interfaceapp) << "This domain requires a minimum avatar scale of " << _domainMinimumScale
|
||||||
(double)_domainMinimumScale, (double)_domainMaximumScale);
|
<< " and a maximum avatar scale of " << _domainMaximumScale
|
||||||
|
<< ". Current avatar scale is " << _targetScale;
|
||||||
|
|
||||||
// debug to log if this avatar's scale in this domain will be clamped
|
// debug to log if this avatar's scale in this domain will be clamped
|
||||||
auto clampedScale = glm::clamp(_targetScale, _domainMinimumScale, _domainMaximumScale);
|
float clampedScale = glm::clamp(_targetScale, _domainMinimumScale, _domainMaximumScale);
|
||||||
|
|
||||||
if (_targetScale != clampedScale) {
|
if (_targetScale != clampedScale) {
|
||||||
qCDebug(interfaceapp, "Avatar scale will be clamped to %f because %f is not allowed by current domain",
|
qCDebug(interfaceapp) << "Current avatar scale is clamped to " << clampedScale
|
||||||
(double)clampedScale, (double)_targetScale);
|
<< " because " << _targetScale << " is not allowed by current domain";
|
||||||
|
// The current scale of avatar should not be more than domain's max_avatar_scale and not less than domain's min_avatar_scale .
|
||||||
|
_targetScale = clampedScale;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setScale(glm::vec3(_targetScale));
|
||||||
|
settings.endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyAvatar::clearScaleRestriction() {
|
void MyAvatar::clearScaleRestriction() {
|
||||||
|
|
Loading…
Reference in a new issue