### Godot version

4.0 RC1

### System information

Any

### Issue description

RootMotionView does not process rotations correctly. 

This problem was pointed out in #58061 and #66510 in the past, but was closed with some fixes and a recommendation to solve it by keeping the current rotation on the script side.

However, for RootMotionView, that work around is not available since it cannot detect the firing of the animation and therefore the current rotation cannot be retained.

As a result, if a moving to forward animation is played after a rotation animation, the moving direction will be strange.

https://user-images.githubusercontent.com/61938263/217674951-16148b54-2667-4506-a5df-644d4ad64e5d.mp4


### Steps to reproduce

A moving to forward animation is played after a rotation animation.

### Minimal reproduction project

[rootrot2.zip](https://github.com/godotengine/godot/files/10690681/rootrot2.zip)

Variant res;
	if (GDVIRTUAL_CALL(_post__key_value, p_anim, p_track, p_value, const_cast<Object *>(p_object), p_object_idx, res)) {
		return res;
	}
	return _post__key_value(p_anim, p_track, p_value, p_object, p_object_idx);
}
Variant AnimationTree::_post__key_value(const Ref<Animation> &p_anim, int p_track, Variant p_value, const Object *p_object, int p_object_idx) {
	switch (p_anim->track_get_type(p_track)) {
#ifndef 
		case Animation::TYPE_POSITION_3D: {
			if (p_object_idx >= 0) {
				const Skeleton3D *skel = Object::cast_to<Skeleton3D>(p_object);
				return Vector3(p_value) * skel->get_motion_scale();
			}
			return p_value;
		} break;
#endif // 
		default: {
		} break;
	}
	return p_value;
}
void AnimationTree::advance(double p_time) {
	__graph(p_time);
}
void AnimationTree::_notification(int p_what) {