Commit Graph

105 Commits

Author SHA1 Message Date
83135aa122 Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
#69357
2022-12-02 20:28:10 +09:00
5e785e2ea4 Fix wrong AnimationTrackKeyEdit update timing 2022-11-25 14:50:16 +09:00
8a3d2f4e0c Cleanup remaining EditorUndoRedoManager usages 2022-11-24 18:56:22 +01:00
b739bafd51 Fix connection of animation changed signal in AnimationTrackEditor 2022-11-20 06:38:51 +09:00
cb4bdc7e1b Fix update timing when AnimationEditor changes FPS 2022-11-17 12:53:01 +09:00
882a4f8906 Port remaining connections to callable_mp 2022-09-18 13:08:54 +02:00
77cf519cf0 Fixed AnimationTrackEditor redraw/deselect timing and find key compearation 2022-08-29 10:44:00 +09:00
787ab45394 Add optimization for Animation::ValueTrack 2022-08-27 22:59:33 +09:00
931fb4dc11 Add linear/cubic angle interpolation to Animation interpolation type 2022-08-27 07:58:22 +09:00
d96cc7450a Make Cubic to CubicInTime and reduce items in the track intrp type 2022-08-26 06:49:09 +09:00
6277448f42 Merge pull request #64647 from TokageItLab/auto-tangent 2022-08-23 18:17:15 +02:00
9327296e73 Add bezier preset and refactor bezier editor
Co-authored-by: Razoric480 <razoric480@gmail.com>
2022-08-23 19:14:03 +09:00
b9919fd87d Merge pull request #64678 from TokageItLab/implement-ease-baker
Fix Quaternion Tween and add Easing baker to AnimationTrackEditor
2022-08-23 09:19:21 +02:00
b8a64313f0 Merge pull request #59564 from KoBeWi/FINALLY,_ULTIMATE_UNDO_REDO 2022-08-22 22:37:33 +02:00
5bc8702855 Merge pull request #64132 from TokageItLab/fix-optimizer 2022-08-22 20:39:06 +02:00
ece3df3938 Add per-scene UndoRedo 2022-08-22 18:05:10 +02:00
f7dd83ce60 Fix Quaternion Tween and implement ease baker 2022-08-22 19:04:58 +09:00
dded7c72c1 Make cubic_interpolate() consider key time in animation 2022-08-19 14:48:37 +09:00
cf95056c91 Merge pull request #63245 from V-Sekai/animation_editor_read_only 2022-08-10 15:26:21 +02:00
f70dfec535 improve animation track optimizer algorithm 2022-08-09 09:18:45 +09:00
1c9ba5ef3e Remove excessive editor/property_editor.h includes 2022-08-01 17:19:11 +03:00
9f55bd971e Extract EditorResourceConversionPlugin into its own source files and clean up editor includes 2022-07-31 21:14:15 +03:00
f99f5a5887 Merge pull request #48995 from KoBeWi/advanced_animation 2022-07-28 10:14:25 +02:00
7776b47489 Add read-only mode to AnimationEditor for foreign resources. 2022-07-21 14:46:58 +01:00
b46a2aaa4b Create reset tracks with the right update mode 2022-07-17 19:51:15 +02:00
798f9c8632 Advance animation after confirming 2022-06-29 13:55:23 +02:00
5b3d596285 Merge pull request #60774 from TokageItLab/root-seek-mode
Fixed broken root motion calculation in internal process of `AnimationBlendTree` such as `NodeOneShot`
2022-05-18 15:24:21 +02:00
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
6f130768c7 Merge pull request #53356 from kleonc/animation-track-editor-root-removed-connection-fix 2022-05-09 15:47:21 +02:00
ba8398f270 Fixed delta & Implement selection of whether or not to seek root 2022-05-09 08:28:32 +09:00
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
e96b773c81 Remove RESET tracks after removing tracks 2022-04-23 00:40:28 +02:00
f064258aee Highlight hovered keyframes in the animation track editor
Both unselected and selected keyframes feature hover feedback.

This currently only affects standard keyframes (i.e. not booleans,
colors or audio tracks which use custom icons).
2022-04-08 01:43:21 +02:00
748fde8df0 Merge pull request #59396 from Calinou/animation-track-editor-improve-drawing
Improve the animation track editor drawing
2022-04-08 01:18:42 +02:00
f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
313c672dc8 Improve the animation track editor drawing
- Draw a background on alternate lines to ease readability of
  animations with many tracks.
- Draw a background on the currently hovered line.
- Use the editor focus stylebox instead of a custom rectangle
  for the focused track.
2022-03-21 23:52:48 +01:00
918b09cabc Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00
4a8a6f892f Use get_cursor_shape for identifying the cursor shape in AnimationTimelineEdit
get_cursor_shape() is used in cases where a Control displays different cursors in different areas.
There is no need to set the default cursor shape on every mouse move event.
2022-03-11 10:18:27 +01:00
83828c7d1b Fix some Animation panel icons not updating after theme change 2022-03-10 14:46:03 +08:00
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
52649d5402 Fix selecting keys in Track Edit 2022-02-10 17:57:08 -05:00
13a0d9177d Implement drawing and editing all anim beziers
* Move bezier edit from track to button in toolbar
* Draw, edit all bezier curves simultaneously
* Add click on curve to select tracks
* Tie track editor's filter view to bezier editor
* Implement visibility and locking
* Fix editor spacing issues
* Fix track buttons spacing
* Add keyframe focus and (de)select all key handling
2022-02-09 19:48:22 -05:00
98692d68c3 Minor tweaks and fixes to panning 2022-01-23 13:49:53 +01:00
74bfe88267 Add ViewPanner to 2D editor 2022-01-21 18:35:06 +01:00
fbb5580b3d Add ViewPanner to more editors 2022-01-14 13:09:39 +01:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
f77a494d22 Allow to add RESET values from existing keys 2021-12-06 13:35:54 +01:00
953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
ec19ed3723 Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone.
* Added POSITION_3D, ROTATION_3D, SCALE_3D tracks.
* GLTF2, Collada, FBX importers will only import the track types found.
* Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed.
* AnimationPlayer and AnimationTree animate these tracks separately, only when found.
* Removed BakeReset code, is useless with these changes.

This is the first in a series of commits designed to make the animation system in Godot more useful, which includes:

* Better compatibility with Autodesk products
* Better reusability of animations across models (including retargeting).
* Proper animation compression.
* etc.

*Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12 20:08:42 -03:00