summaryrefslogtreecommitdiff
path: root/editor/animation_track_editor.cpp
AgeCommit message (Collapse)Author
2021-11-16Make bezier handle type a property of keyframes, update interfaceNathan Lovato
- Replaced unused code related to old close icon with a button - Add bezier handle options to right-click menu - Remove mirror handle mode, only keep balanced - Update animation reference
2021-11-15Use a different icon for eased keyframes in the animation editorHugo Locurcio
This makes easing tracks easier to recognize, in a way similar to curved lines in the Path2D editor.
2021-11-12Use "enum class" for input enumsAaron Franke
2021-11-03reimplement ping-pongSilc 'Tokage' Renew
2021-10-25Merge pull request #54050 from reduz/animation-compressionRémi Verschelde
2021-10-24Fix max argument count on AnimationTrackEdit spinboxWilson E. Alvarez
2021-10-23Fixed animation insertion in SkeletonEditorSilc 'Tokage' Renew
2021-10-21Implement Animation Compressionreduz
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different). * Implement bitwidth based animation compression (see animation.h for format). * Can compress imported animations up to 10 times. * Compression format opens the door to streaming. * Works transparently (happens all inside animation.h)
2021-10-16Implement Animation Blend Shape Tracksreduz
* New track type BLEND_SHAPE * Blend shapes are imported via this new track type * Processing is more optimized (no longer relies on variants) * Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes) * Promo: Fixed a small bug in gizmo updating in Node3D that affected performance Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-12Remove animation 3D transform track, replace by loc/rot/scale tracks.reduz
* `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-11Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and ↵Juan Linietsky
NodeAnimation"
2021-10-09implement ping-pong loop in animationTokage
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-07fixed insert track queue in AnimationTrackEditor doesn't work correctlySilc 'Tokage' Renew
2021-10-07Implemented SkeletonEditorGizmoSilc Renew
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-30Fix non-const iterators in const methodsLightning_A
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-14Improve the animation bezier editorHugo Locurcio
- Allow snapping bezier handles to the timeline. - Allow precise snapping when holding Shift for keyframes and handles. - Previously, it was only allowed for seeking the timeline. - This change also impacts the animation track editor, not just the bezier editor. - Invert the Ctrl + mouse wheel behavior to match the zoom direction in the animation track editor. - Increase the line spacing between the "Time:" and "Value:" texts to improve readability. - Tweak box selection styling to match the animation track editor. - Adjust line widths for hiDPI displays.
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-08-08Merge pull request #51217 from timothyqiu/more-i18nRémi Verschelde
Fix various i18n failures
2021-08-05Shortcut: Rename `shortcut` property to `event`Rémi Verschelde
Having a property which has the same name as its class leads to confusing situations (e.g. `BaseButton` has a `shortcut` property of type `Shortcut` which has a `shortcut` property of type `InputEvent`). Also renames `is_event` to `matches_event`, and `is_valid` to `has_valid_event` to better reflect what the methods check.
2021-08-03Fix various i18n failuresHaoyu Qiu
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-13Merge pull request #50086 from Geometror/label-improve-layout-optionsRémi Verschelde
Improvements to Label's layout options
2021-07-13Merge similar editor stringsHaoyu Qiu
2021-07-04Improvements to Label's layout optionsHendrik Brucker
- Added options to trim the text in case it overruns - Added more autowrap modes - Improved line breaking, which ignores trailing spaces
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-17AnimationMultiTrackKeyEdit Allow editing easing if it's possible for all ↵kleonc
edited tracks
2021-06-16Documentation search fixesGregory Basile
Updates rich_text_label so that the built-in documentation can be searched Previously, it would only find the first result and would not select other results Renames "_entered" functions to "_submitted"
2021-06-15Fix build after merge of #48598Rémi Verschelde
2021-06-15Merge pull request #48598 from Calinou/animation-track-editor-improve-scrollingRémi Verschelde
Improve scrolling actions in the animation track editor
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3DAaron Franke
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-23Merge pull request #40397 from KoBeWi/silent_seekerRémi Verschelde
Allow to move timeline without moving animation
2021-05-17Improve TreeItem API and allow to move nodestrollodel
2021-05-10Improve scrolling actions in the animation track editorHugo Locurcio
- Implement timeline scrobbling using Alt + Mouse wheel anywhere in the animation track editor. - Snap settings are followed, and precise snapping can be obtained by also holding down Shift. - This modifier wasn't used by anything in the animation editor. - Allow zooming by using Ctrl + Mouse wheel on the timeline itself. - Previously, this was only possible on the track area, not the timeline.
2021-05-07Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A
InputEventWithModifiers properties/methods
2021-05-05fix AnimationTrackEditor's undo with correction invalid method nameTokage
2021-04-17Rename LineEdit caret_* properties getters and setters to match propertyMarcel Admiraal
2021-04-05Fix crashes in *_input functionsRafał Mikrut
2021-03-23Rename ButtonList enum and members to MouseButtonAaron Franke
2021-03-21Allow to move timeline without moving animationTomasz Chabora
2021-03-19Make Animation's SceneTreeDialog filter nodes properlyDominik 'dreamsComeTrue' Jasiński
2021-03-08fix incorrectly connected optimize_dialog signalnemerle
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-01-01Merge pull request #44865 from RandomShaper/fix_reset_anim_crashRémi Verschelde
Fix crash related to reset animation