### 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)

GDVIRTUAL0RC(bool, _has_filter)
public:
	virtual void get_parameter_list(List<PropertyInfo> *r_list) const;
	virtual Variant get_parameter_default_value(const StringName &p_parameter) const;
	virtual bool is_parameter_read_only(const StringName &p_parameter) const;
	void set_parameter(const StringName &p_name, const Variant &p_value);
	Variant get_parameter(const StringName &p_name) const;
	struct ChildNode {
		StringName name;
		Ref<AnimationNode> node;
	};
	virtual void get_child_nodes(List<ChildNode> *r_child_nodes);
	virtual double process(double p_time, bool p_seek, bool p_is_external_seeking);
	virtual String get_caption() const;
	virtual bool add_input(const String &p_name);
	virtual void remove_input(int p_index);
	virtual bool set_input_name(int p_input, const String &p_name);
	virtual String get_input_name(int p_input) const;
	int get_input_count() const;
	int find_input(const String &p_name) const;
	void set_filter_path(const NodePath &p_path, bool p_enable);
	bool is_path_filtered(const NodePath &p_path) const;
	void set_filter_enabled(bool p_enable);
	bool is_filter_enabled() const;
	virtual bool has_filter() const;
	virtual Ref<AnimationNode> get_child_by_name(const StringName &p_name);
	AnimationNode();
};
VARIANT_ENUM_CAST(AnimationNode::FilterAction)
class AnimationRootNode : public AnimationNode {