소스 검색

TimeScale node: return +inf remaining for 0 scale.

Josh Grams 9 년 전
부모
커밋
65b7791263
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      scene/animation/animation_tree_player.cpp

+ 4 - 1
scene/animation/animation_tree_player.cpp

@@ -642,7 +642,10 @@ float AnimationTreePlayer::_process_node(const StringName& p_node,AnimationNode
 				rem = _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time,switched,true,p_filter,p_reverse_weight);
 			else
 				rem = _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time*tsn->scale,switched,false,p_filter,p_reverse_weight);
-			return rem / tsn->scale;
+			if (tsn->scale == 0)
+				return INFINITY;
+			else
+				return rem / tsn->scale;
 
 		} break;
 		case NODE_TIMESEEK: {