summaryrefslogtreecommitdiff
path: root/scene/resources/animation.h
AgeCommit message (Collapse)Author
2023-01-28Implement blending audio feature to AnimationTreeSilc Renew
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-22Add inspector plugin for key time edit & Change find key argumentSilc Renew
2022-12-02Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/PlayerSilc Renew
#69357
2022-12-01Refactor process of animation to retrive keys more exactlySilc Renew
2022-11-22Refactor process of AnimationTree for end of animationSilc Renew
2022-09-18Changed the rest definition of SkeletonProfileHumanoid thumbSilc Renew
2022-09-15Move some methods to Animation from Variant for refactoringSilc Renew
2022-08-27Add optimization for Animation::ValueTrackSilc Renew
2022-08-27Add linear/cubic angle interpolation to Animation interpolation typeSilc Renew
2022-08-26Make Cubic to CubicInTime and reduce items in the track intrp typeSilc Renew
2022-08-23Merge pull request #64647 from TokageItLab/auto-tangentRémi Verschelde
2022-08-23Add bezier preset and refactor bezier editorSilc Renew
Co-authored-by: Razoric480 <razoric480@gmail.com>
2022-08-22Merge pull request #64132 from TokageItLab/fix-optimizerRémi Verschelde
2022-08-19Make `cubic_interpolate()` consider key time in animationSilc Renew
2022-08-09improve animation track optimizer algorithmSilc Renew
2022-07-31Make `Animation::track_insert_key` return key indexZae
2022-07-25Code quality: Fix header guards consistencyRémi Verschelde
Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
2022-05-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
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-03reimplement ping-pongSilc 'Tokage' Renew
2021-10-25Merge pull request #54050 from reduz/animation-compressionRémi Verschelde
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-08-24Calculate proper animation length.K. S. Ernest (iFire) Lee
2021-08-09Some work on double supportAaron Franke
2021-08-09Use doubles for time in animation codeAaron Franke
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-03Rename Animation TYPE_TRANSFORM to TYPE_TRANSFORM3DAaron Franke
2021-03-02Fix Animation tracks disabled by defaultRémi Verschelde
Was a regression from #45845.
2021-02-11Improve resource load cachereduz
-Added a new method in Resource: reset_state , used for reloading the same resource from disk -Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type) -Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-09Initialize class variables with default values in scene/ [2/2]Rafał Mikrut
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-20Add animation reset track featurePedro J. Estébanez
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2020-12-14Rename Animation::track_remove_key_at_position to track_remove_key_at_timeMarcel Admiraal
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-04-01Fix out of bound array access caused by unassigned variableRafał Mikrut
2020-03-17Style: Set clang-format Standard to Cpp11Rémi Verschelde
For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-08-12Remove redundant author doc commentsIAmActuallyCthulhu
2019-07-10Use reference to constant in functionsqarmin
2019-05-31Add track_set_key_time() to AnimationTomasz Chabora