mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 20:48:56 +02:00
Avatar: centeralized palm rotation/position to world space calculation.
This commit is contained in:
parent
ec2f8db83a
commit
b750128c94
1 changed files with 4 additions and 17 deletions
|
@ -1224,22 +1224,9 @@ void Avatar::setOrientation(const glm::quat& orientation) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Avatar::updatePalms() {
|
void Avatar::updatePalms() {
|
||||||
|
|
||||||
// get palm rotations
|
|
||||||
glm::quat leftPalmRotation, rightPalmRotation;
|
|
||||||
getSkeletonModel().getJointRotationInWorldFrame(getSkeletonModel().getLeftHandJointIndex(), leftPalmRotation);
|
|
||||||
getSkeletonModel().getJointRotationInWorldFrame(getSkeletonModel().getRightHandJointIndex(), rightPalmRotation);
|
|
||||||
|
|
||||||
// get palm positions
|
|
||||||
glm::vec3 leftPalmPosition, rightPalmPosition;
|
|
||||||
getSkeletonModel().getLeftHandPosition(leftPalmPosition);
|
|
||||||
getSkeletonModel().getRightHandPosition(rightPalmPosition);
|
|
||||||
leftPalmPosition += HAND_TO_PALM_OFFSET * glm::inverse(leftPalmRotation);
|
|
||||||
rightPalmPosition += HAND_TO_PALM_OFFSET * glm::inverse(rightPalmRotation);
|
|
||||||
|
|
||||||
// update thread-safe caches
|
// update thread-safe caches
|
||||||
_leftPalmRotationCache.set(leftPalmRotation);
|
_leftPalmRotationCache.set(getUncachedLeftPalmRotation());
|
||||||
_rightPalmRotationCache.set(rightPalmRotation);
|
_rightPalmRotationCache.set(getUncachedRightPalmRotation());
|
||||||
_leftPalmPositionCache.set(leftPalmPosition);
|
_leftPalmPositionCache.set(getUncachedLeftPalmPosition());
|
||||||
_rightPalmPositionCache.set(rightPalmPosition);
|
_rightPalmPositionCache.set(getUncachedRightPalmPosition());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue