summaryrefslogtreecommitdiff
path: root/scene/animation
AgeCommit message (Collapse)Author
2021-11-01Merge pull request #54391 from DavidSichma/doc_interpolate_valueRémi Verschelde
2021-10-29Fixed Tween::interpolate_value argument order.David Sichma
2021-10-28Fix parallel Tweens not ending correctlykobewi
2021-10-25Refactored Node3D rotation modesreduz
* Made the Basis euler orders indexed via enum. * Node3D has a new rotation_order property to choose Euler rotation order. * Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations. The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-21Remove unimplemented methodsMarcel Admiraal
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-13Remove REST transform influence in skeleton bonesreduz
* Animations and Skeletons are now pose-only. * Rest transform is kept as reference (when it exists) and for IK * Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
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-04GDScript completion: Handle quote style ad-hoc to remove editor dependencyRémi Verschelde
`core` and `scene` shouldn't depend on `editor`, so they can't query this style setting in `get_argument_options`. But we can handle it after the fact in GDScript's completion code. Also cleans up a couple extra unused invalid includes in `core`.
2021-10-03Merge pull request #44964 from Dragoncraft89/animation_tree_bugRémi Verschelde
2021-09-30Use range iterators for `Map`Lightning_A
2021-09-30Fix non-const iterators in const methodsLightning_A
2021-09-24Refactor and move easing equationskobewi
2021-09-21Merge pull request #52605 from TokageItLab/fixed-vtype-in-node-oneshotRémi Verschelde
Fixed value type and applied small change in `AnimationNodeOneShot`
2021-09-20Merge pull request #52555 from TokageItLab/fixed-discrete-animation-seekRémi Verschelde
Fixed seeking behavior of property track with discrete interpolation
2021-09-20Merge pull request #52543 from ↵Rémi Verschelde
TokageItLab/fixed-transition-when-xfade-time-is-zero Fixed `AnimationNodeTransition`'s behavior when xfade time is zero
2021-09-16Improvements to Tweens' Variant typeskobewi
2021-09-15Fixed Animation Playback Track not seeking properlyEspeute Clement
Fixes #38093.
2021-09-14Merge pull request #51237 from KoBeWi/tween_fix()Rémi Verschelde
Various fixes to Tween code
2021-09-13Fixed value type and applied small change in AnimationNodeOneShotSilc 'Tokage' Renew
2021-09-11Fixed seeking behavior of property track with discrete interpolationSilc 'Tokage' Renew
2021-09-11fixed AnimationNodeTransition when xfade time is zeroSilc 'Tokage' Renew
2021-08-26Fix AnimationBlendTree reset on resource loadingPouleyKetchoupp
When reset_state was called on an existing AnimationBlendTree, the output node would disappear, causing some errors in the editor and preventing animations to play properly. This change ensures the output node is always present in the node tree.
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-13Style: Cleanup code using `text_editor/completion/use_single_quotes`Rémi Verschelde
2021-08-09Some work on double supportAaron Franke
2021-08-09Use doubles for time in animation codeAaron Franke
2021-08-06Various fixes to Tween codekobewi
2021-08-02Add null check to Tween.bind_node()kobewi
2021-07-28Use bullet points in the editor instead of dashes where relevantHugo Locurcio
2021-07-26Use Ref<T> references as iterators where relevantRémi Verschelde
And const when possible.
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-21Use is_equal_approx in more placesAaron Franke
2021-07-20Merge pull request #50206 from groud/undoredo_increase_args_countRémi Verschelde
Increase the number of arguments accepted by UndoRedo methods
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 #48375 from bowling-allie/discrete-carry-bugRémi Verschelde
2021-07-06Increase the number of arguments accepted by UndoRedo methodsGilles Roudière
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-30Merge pull request #50014 from reduz/remove-immediateRémi Verschelde
Deprecate ImmediateGeometry
2021-06-30Deprecate ImmediateGeometryreduz
* Removed entirely from RenderingServer. * Replaced by ImmediateMesh resource. * ImmediateMesh replaces ImmediateGeometry, but could use more optimization in the future. * Sprite3D and AnimatedSprite3D work again, ported from Godot 3.x (though a lot of work was needed to adapt them to Godot 4). * RootMotionView works again. * Polygon3D editor works again.
2021-06-30Fix editor suffixes and degrees conversionreduz
* Functions to convert to/from degrees are all gone. Conversion is done by the editor. * Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees. * Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m" * In general, can add suffixes for EditorSpinSlider Not covered by this PR, will have to be addressed by future ones: * Ability to switch radians/degrees in the inspector for angle properties (if actually wanted). * Animations previously made will most likely break, need to add a way to make old ones compatible. * Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes. * Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-20Merge pull request #41794 from KoBeWi/shiny_new_tweensRémi Verschelde
2021-06-19Complete rewrite of TweensTomasz Chabora
* Tweens were changed from Node to RefCounted. New API is inspired by DOTween. * Tweens are created and managed by SceneTree, similar to SceneTreeTimer, which makes them ultra cheap to use a lot. * Animating with Tweens is done by creating sequences of Tweeners. You create them from code and they autostart by default (fire-and-forget). * There are 4 Tweeners that cover the former Tween functionality: PropertyTweener, IntervalTweener, CallbackTweener and MethodTweener. * The methods were simplified a lot. Long argument lists are replaced with chained calls on Tweens and Tweeners. * Tweeners by default execute in sequence, so it's easy to create complex chained animations. * You can bind a Tween to a node. Tween will be removed automatically when the bound node is freed.
2021-06-17Add PROPERTY_USAGE_NONE and use itAaron Franke
2021-06-12Consistently prefix bound virtual methods with _kobewi
2021-06-11Rename Reference to RefCountedPedro J. Estébanez