For the in-game display of the compass, I thought of doing the following:
when the player clicks on the compass icon, Teresa stops and performs the animation of pulling it out and looking at it, and at the same time the image of the compass with the pointer rotating towards north appears on the lower part of the screen, clicking again on the compass icon, Teresa will perform the animation of putting the object away, returning to the idle animation ready for the next input.
For the logic of the compass operation I reasoned in this way:
during the moments when the compass is active, I take the rotation on the vertical axis of Teresa, this is also the rotation of the compass case; while the pointer acquires the rotation from another object that is not seen in the game, which I called “north point”, in this way the pointer will always point in the direction that I have set the object “north point”, while the case of the compass will have the rotation of the player, some tricks on the camera that frames the compass so that it displays the stationary case (because it actually rotates the same degrees of rotation of the player), and instead leave the freedom to the pointer to indicate the correct point.
In this way, looking at the compass I will have the exact position of the north point, which I can decide from scene to scene by simply changing the rotation of the object that is not seen as the “north point”.