ソースを参照

Copy track update mode when adding reset key

kobewi 1 年間 前
コミット
d96fca371b
1 ファイル変更6 行追加0 行削除
  1. 6 0
      editor/animation_track_editor.cpp

+ 6 - 0
editor/animation_track_editor.cpp

@@ -6038,6 +6038,12 @@ void AnimationTrackEditor::_edit_menu_pressed(int p_option) {
 					existing_idx = reset->track_find_key(dst_track, 0, Animation::FIND_MODE_APPROX);
 				}
 
+				if (animation->track_get_type(sk.track) == Animation::TYPE_VALUE) {
+					undo_redo->add_do_method(reset.ptr(), "value_track_set_update_mode", dst_track, animation->value_track_get_update_mode(sk.track));
+					undo_redo->add_do_method(reset.ptr(), "track_set_interpolation_type", dst_track, animation->track_get_interpolation_type(sk.track));
+					undo_redo->add_do_method(reset.ptr(), "track_set_interpolation_loop_wrap", dst_track, animation->track_get_interpolation_loop_wrap(sk.track));
+				}
+
 				undo_redo->add_do_method(reset.ptr(), "track_insert_key", dst_track, 0, animation->track_get_key_value(sk.track, sk.key), animation->track_get_key_transition(sk.track, sk.key));
 				undo_redo->add_undo_method(reset.ptr(), "track_remove_key_at_time", dst_track, 0);