mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 05:17:24 +02:00
Merge pull request #9411 from sethalves/tablet-ui-fix-other-camera-index
Tablet ui fix other camera index
This commit is contained in:
commit
016d247fc8
3 changed files with 21 additions and 10 deletions
|
@ -928,11 +928,9 @@ glm::quat Avatar::getAbsoluteJointRotationInObjectFrame(int index) const {
|
||||||
return controllerRightHandTransform.getRotation();
|
return controllerRightHandTransform.getRotation();
|
||||||
}
|
}
|
||||||
case CAMERA_MATRIX_INDEX: {
|
case CAMERA_MATRIX_INDEX: {
|
||||||
bool success;
|
glm::quat rotation;
|
||||||
Transform avatarTransform;
|
_skeletonModel->getAbsoluteJointRotationInRigFrame(getJointIndex("head"), rotation);
|
||||||
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
|
return rotation;
|
||||||
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
|
|
||||||
return glmExtractRotation(invAvatarMat * qApp->getCamera()->getTransform());
|
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
glm::quat rotation;
|
glm::quat rotation;
|
||||||
|
@ -961,11 +959,9 @@ glm::vec3 Avatar::getAbsoluteJointTranslationInObjectFrame(int index) const {
|
||||||
return controllerRightHandTransform.getTranslation();
|
return controllerRightHandTransform.getTranslation();
|
||||||
}
|
}
|
||||||
case CAMERA_MATRIX_INDEX: {
|
case CAMERA_MATRIX_INDEX: {
|
||||||
bool success;
|
glm::vec3 translation;
|
||||||
Transform avatarTransform;
|
_skeletonModel->getAbsoluteJointTranslationInRigFrame(getJointIndex("head"), translation);
|
||||||
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
|
return translation;
|
||||||
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
|
|
||||||
return extractTranslation(invAvatarMat * qApp->getCamera()->getTransform());
|
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
glm::vec3 translation;
|
glm::vec3 translation;
|
||||||
|
|
|
@ -2387,6 +2387,13 @@ glm::quat MyAvatar::getAbsoluteJointRotationInObjectFrame(int index) const {
|
||||||
glm::mat4 result = computeCameraRelativeHandControllerMatrix(controllerSensorMatrix);
|
glm::mat4 result = computeCameraRelativeHandControllerMatrix(controllerSensorMatrix);
|
||||||
return glmExtractRotation(result);
|
return glmExtractRotation(result);
|
||||||
}
|
}
|
||||||
|
case CAMERA_MATRIX_INDEX: {
|
||||||
|
bool success;
|
||||||
|
Transform avatarTransform;
|
||||||
|
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
|
||||||
|
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
|
||||||
|
return glmExtractRotation(invAvatarMat * qApp->getCamera()->getTransform());
|
||||||
|
}
|
||||||
default: {
|
default: {
|
||||||
return Avatar::getAbsoluteJointRotationInObjectFrame(index);
|
return Avatar::getAbsoluteJointRotationInObjectFrame(index);
|
||||||
}
|
}
|
||||||
|
@ -2413,6 +2420,13 @@ glm::vec3 MyAvatar::getAbsoluteJointTranslationInObjectFrame(int index) const {
|
||||||
glm::mat4 result = computeCameraRelativeHandControllerMatrix(controllerSensorMatrix);
|
glm::mat4 result = computeCameraRelativeHandControllerMatrix(controllerSensorMatrix);
|
||||||
return extractTranslation(result);
|
return extractTranslation(result);
|
||||||
}
|
}
|
||||||
|
case CAMERA_MATRIX_INDEX: {
|
||||||
|
bool success;
|
||||||
|
Transform avatarTransform;
|
||||||
|
Transform::mult(avatarTransform, getParentTransform(success), getLocalTransform());
|
||||||
|
glm::mat4 invAvatarMat = avatarTransform.getInverseMatrix();
|
||||||
|
return extractTranslation(invAvatarMat * qApp->getCamera()->getTransform());
|
||||||
|
}
|
||||||
default: {
|
default: {
|
||||||
return Avatar::getAbsoluteJointTranslationInObjectFrame(index);
|
return Avatar::getAbsoluteJointTranslationInObjectFrame(index);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2418,6 +2418,7 @@ function MyController(hand) {
|
||||||
// we have an equipped object and the secondary trigger was released
|
// we have an equipped object and the secondary trigger was released
|
||||||
// short-circuit the other checks and release it
|
// short-circuit the other checks and release it
|
||||||
this.preparingHoldRelease = false;
|
this.preparingHoldRelease = false;
|
||||||
|
this.callEntityMethodOnGrabbed("releaseEquip");
|
||||||
this.setState(STATE_OFF, "equipping ended via secondary press");
|
this.setState(STATE_OFF, "equipping ended via secondary press");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue