浏览代码

Merge pull request #71840 from TokageItLab/fix-travel-reset

Fix weird behavior of teleporting to self-state when `reset_on_teleport` is `false` in StateMachine
Rémi Verschelde 2 年之前
父节点
当前提交
285e6ed9a5
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      scene/animation/animation_node_state_machine.cpp

+ 5 - 3
scene/animation/animation_node_state_machine.cpp

@@ -411,9 +411,11 @@ double AnimationNodeStateMachinePlayback::_process(AnimationNodeStateMachine *p_
 				// can't travel, then teleport
 				if (p_state_machine->states.has(travel_request)) {
 					path.clear();
-					current = travel_request;
-					play_start = true;
-					reset_request = reset_request_on_teleport;
+					if (current != travel_request || reset_request_on_teleport) {
+						current = travel_request;
+						play_start = true;
+						reset_request = reset_request_on_teleport;
+					}
 				} else {
 					StringName node = travel_request;
 					travel_request = StringName();