summaryrefslogtreecommitdiff
path: root/scene/animation
AgeCommit message (Collapse)Author
2018-08-14Merge pull request #20665 from SaracenOne/animation_tree_controlRémi Verschelde
Add method to manually advance AnimationTree and manual process mode.
2018-08-09interpolation was not removed because of id mismatchJames
2018-08-04Fixed typo in SkeletonIKAndrea Catania
2018-08-04Implemented IKAndreaCatania
2018-08-02Add method to manually advance AnimationTree and manual process mode.Saracen
2018-07-26Merge pull request #19464 from bojidar-bg/19448-fix-subproperty-handlingRémi Verschelde
Fix bug in animationplayer editor not using subproperties properly
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-24Merge pull request #19781 from razcore-art/fix-tweenRémi Verschelde
Fix and make Tween node less confusing
2018-07-18Print an error when calling an invalid method on an AnimationMarcelo Fernandez
2018-07-18Style: Format code with clang-format 6.0.1Rémi Verschelde
2018-07-08Fix some enum export in new Animation editor.Fabio Alessandrelli
2018-07-02-Fixes to how hashing happened, now StringName and NodePath use default ↵Juan Linietsky
hasher, this was leading to some severe slowdown in scenarios -Fixes to some duplication scenarios for instanced scenes
2018-07-01-Fix in animationplayback, sound would be cut on loopJuan Linietsky
-Fix on scene importer, keeping changes to animation tracks was not working
2018-06-30-Fixes to OBJ importer, option to disable optimizationJuan Linietsky
-Fixes to script language, PlaceHolder can now get and check methods
2018-06-29Small fixesJuan Linietsky
2018-06-27Changes to how node paths are selected from property, allowing setting a hint.Juan Linietsky
2018-06-27The way multiple quaternions being slerped was not good, changed approach to ↵Juan Linietsky
one that seems to work better.
2018-06-27Check "done" state in original loopRăzvan C. Rădulescu
My first attepmt I added a second loop to check if processing should stop. This attempts to optimize by using the original loop (one loop). Also resets `elapsed` time on finish of tween which fixes `tell()`.
2018-06-27Style: Apply clang-format to animation_tree.cppRémi Verschelde
Fixes issues introduced in c633b77 and de1ff22.
2018-06-27change node graph property and improved some bindingsJuan Linietsky
2018-06-26-Add root motion support in AnimationTree.Juan Linietsky
-Add RootMotionView, to debug root motion in 3D (disabled in runtime)
2018-06-26Fix and make Tween node less confusingRăzvan C. Rădulescu
I've made the following changes: - make `is_active` the main way of keeping track of tween processing/activity, meaning that `is_active` will now return `false` if all tween actions have finished or if it isn't started or if it was stopped via `set_active(false)` or any other mode - removed is_stopped because is redundand now The above meant that we don't have to keep track of yet another variable `available` since everything is based on `*processing_internal` so I removed it, likewise it's own local `processing` variable was removed, as well as the "double" `_set_process` which it feels more like a hack. What wasn't changed: - `tell()` still returns max value (i.e. `== get_runtime()` when all tweens `finish`) *More testing is needed*. So far I've tested repeat on/off, delay, `is_active()` working corretly, `set_active(true), set_active(false)`, but probably more tests are necessary, all the resets, stops, resume etc.
2018-06-26ensure BlendSpace1D syncs animationsThomas Herzog
2018-06-25renamed AnimationGraphPlayer to AnimationTreeJuan Linietsky
2018-06-25Merge pull request #19720 from karroffel/blendspace-1dJuan Linietsky
add BlendSpace1D animation node
2018-06-25removed printJuan Linietsky
2018-06-25added BlendSpace1D editor pluginThomas Herzog
This commit also fixes a crash in the BlendSpace2D as well as correct the drawing of the x-zero indicator in the BlendSpace2D editor plugin.
2018-06-25added AnimationBlendSpace1DThomas Herzog
2018-06-25rename BlendSpace to BlendSpace2DThomas Herzog
2018-06-25State machine animation nodeJuan Linietsky
2018-06-21Added auto triangle generation in blend space, using Delaunay.Juan Linietsky
2018-06-21Fix crashes, ability to add blendpsace into blendtree, ability to delete ↵Juan Linietsky
with delete key
2018-06-21Animation Blend SpacesJuan Linietsky
2018-06-18-Added AnimationGraphPlayer (still missing features)Juan Linietsky
-Added ability to edit resources from built-in inspector (wip, needs testing and feedback)
2018-06-18Fix bug in animationplayer editor not using subproperties properlyBojidar Marinov
Fixes #19448
2018-06-07Entirely new (and much improved) animation editor.Juan Linietsky
2018-06-07Adding is_stopped method to Tweensteincodes
2018-05-26Merge pull request #18885 from Gamblify/AnimationTreeExposePosMax Hilbrunner
Expose animation pos to user for AnimationNodes in AnimationTree
2018-05-25Take tween speed into account when calculating runtimeRasmus Ketelsen
2018-05-17Expose the animation pos to the user for AnimationNodes in AnimationTreesGustav Lund
2018-05-14Fixed some warnings found with Cppcheck.Michael Alexsander Silva Dias
2018-05-07Implemented ragdollAndreaCatania
Implementing ragdoll Implementing ragdoll Implementing ragdoll Implementing ragdoll Implementing ragdoll a Implemented implicit hierarchy. Improved Added some physics properties Added bone offset to preserve COM, partially fixed scaling work in progress WIP wip Implemented Joint Gizmos Implemented pin joint joint Implemented all joints
2018-05-07Added "play_backwards" to the list o functions to autocomplete.Michael Alexsander Silva Dias
2018-04-19Fix Coverity reports of uninitialized scalar variableRémi Verschelde
Fixes most current reports on Coverity Scan of uninitialized scalar variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html These happen most of the time (in our code) when instanciating structs without a constructor (or with an incomplete one), and later returning the instance. This is sometimes intended though, as some parameters are only used in some situations and should not be double-initialized for performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-14Avoid converting Quat to Euler angles when not necessary.tagcup
Also ensure that get_scale doesn't arbitrarlity change the signs of scales, ensuring that the combination of get_rotation and get_scale gives the correct basis. Added various missing functions and constructors. Should close #17968.
2018-04-11Use internal physics processing for Nodes' internal logicRémi Verschelde
2018-04-08Merge pull request #17150 from robfram/check-animation-playing-backwardsJuan Linietsky
Added `get_playing_speed` method to AnimationPlayer, returning the actual playing speed of the animation being played
2018-04-03fix bone scale/rotation in AnimationPlayerskarroffel
fixes #17325. The bone pose transform was created by setting the rotation and **then** scaling the transform. This leads to object "deformation" that's not intended.
2018-03-09AnimationPlayer: fix scrubbing after play backwardsBernhard Liebl
2018-03-03Added `get_playing_speed` method to AnimationPlayer, returning the actualrobfram
playing speed of the animation being played. As stated in #16550, there is no way to get the playing speed of an animation. The `playback_speed` property is for the whole AnimationPlayer node, and the argument passed to `play` method is another scale applied in top of the AnimationPlayer properties. Thus, the actual playing speed is AnimationPlayer.speed_scale * AnimationPlayer.playback.current.speed_scale. If it is not playing, the method returns 0.