Reset Pivot point and Maintain the Position of a Mesh from Earlier Rotations

Can someone help resolve an issue to reset pivot point and maintain the position and rotation of a mesh? As shown in the following playground, there are two rotations. My intent is to rotate the mesh from the position after the 1st rotation (x = 0) and rotate the mesh around new pivot point (x =5) to reach a new mesh location (x = 10). But the mesh is still rotated to x = 6 after two rotations. It seems the 1st pivot point became a non-factor and will not affect the final mesh position after resetting the pivot point. What I am looking for is to rotate the mesh considering the history of the rotations: new rotation is based on rotated position in previous rotation and based on a new pivot point.

You first use rotate-function, which will set rotationQuaternion to be used instead of rotation. So the rotation you clone is not correct, it would have to be rotationQuaternion.

This would be my approach (PG):

My source (Docs):

2 Likes

Hi, @Takemura Your solution resolved the issue I have. Thanks a lot for your light-speed response. This community is just amazing.