Commit Graph

110 Commits

Author SHA1 Message Date
3613306bba Fix miscellaneous oddities around the class reference (part 5) 2025-06-06 15:21:25 +02:00
1e82bafa3a Remove redundant info on the enum types used 2025-06-04 08:21:47 +08:00
15de1d6c35 Use Grisu2 algorithm in String::num_scientific to fix serializing 2025-05-22 09:13:16 -07:00
ed13a840fa Add markers to animation 2024-09-29 17:27:36 +09:00
3e93970ef5 Expose the optimize method of the Animation class to gdscript. 2024-09-11 01:18:30 -04:00
415331f474 Make Animation::capture_included read-only
The `PROPERTY_USAGE_READ_ONLY` flag only makes the property read-only in the inspector, but the property also has the `PROPERTY_USAGE_NO_EDITOR` flag which means it won't show up in the inspector. So it does nothing, while still making it editable from scripting.

To make it read-only for scripting too, this PR removes the setter from the `PropertyInfo`. And since the `set_capture_included` method is now unused, it was also removed.
2024-08-10 18:53:45 +02:00
0d1044f7bf Update Animation.track_set_path and AnimationMixer.root_motion_track
Updated the usage description of [method Animation.track_set_path] and [member Animation.root_motion_track] to identify the parent is the root_node identified in animation player, and that the format is the same for each.

Remove extra symbols
2024-07-07 10:07:09 -04:00
bea47d877b Fix seeking Animation immediate after playback for Discrete track 2024-06-08 22:09:37 +09:00
36abb55dd2 Add auto_capture option to AnimationPlayer 2024-05-02 19:57:36 +09:00
bb9674c1b1 Set animation step from importers. Increase default step from 10 to 30 FPS. 2024-04-19 03:02:20 -07:00
4659090543 Make consistent the retrieval of audio tracks 2024-02-18 00:15:33 +09:00
bc20fdf16f Add CallbackModeDiscrete to AnimationMixer 2024-02-17 18:25:56 +09:00
85d66cb4e8 Add capture() and play_with_capture() as substitute of update capture 2024-02-12 17:02:05 +09:00
31
698c67d540 Include animation.length in Animation example
The length of an Animation isn't automatically set by adding keys, and
it must be set manually. The existing example only has keys up to 0.5s,
so the default value of 1.0s may be acceptable. However, this results in
unexpected behavior for anyone who makes an animation longer than 1.0s.
Include animation.length in the example because it's important.

Also, increase the key position to 2.0s so it won't be confusing that
the assignment is somewhat redundant.
2024-01-14 10:29:02 -08:00
9d23956b28 Fix description of Animation::copy_track
The documentation stated the track was added to this, instead of
`to_animation`
2023-10-16 14:37:19 +02:00
81064cc239 Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
346f1ab86b Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
4af3fc7e26 Overhaul the top sections of the class reference (Animation classes) 2023-05-05 17:17:22 +02:00
fac8a918f9 Expose interpolation methods for 3D track in Animation class 2023-04-25 01:45:14 +09:00
1c1524a651 Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
dd5acde285 Remove extra spaces and correct crosslinks in some documentation 2023-02-17 17:31:19 +01:00
75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
060fb2d093 Add inspector plugin for key time edit & Change find key argument 2022-12-22 10:03:06 +09:00
83135aa122 Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/Player
#69357
2022-12-02 20:28:10 +09:00
1fc3833617 Refactor process of animation to retrive keys more exactly 2022-12-01 22:07:47 +09:00
c1ec99f0e1 Refactor process of AnimationTree for end of animation 2022-11-22 18:12:45 +09:00
b739bafd51 Fix connection of animation changed signal in AnimationTrackEditor 2022-11-20 06:38:51 +09:00
9e7ec78c6b Document the Animation class 2022-10-24 17:06:32 +02: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
dded7c72c1 Make cubic_interpolate() consider key time in animation 2022-08-19 14:48:37 +09:00
28e66882e5 [doc] Fix grammar in class docs: amount vs. number
Number is used for things that can be counted (discrete items - think "integer" in this context).

Also fixes a couple of awkward phrases.
2022-08-17 19:51:17 -04:00
9b345e793a [doc] Use "param" instead of "code" to refer to parameters (8) 2022-08-12 14:00:25 -04:00
c5d7115038 Rename the argument tag to param in XML documentation 2022-08-08 22:34:31 +03:00
Zae
2febf0ccdb Make Animation::track_insert_key return key index 2022-07-31 17:38:49 +02:00
b68dd2e189 Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
a5d0a74b65 Make bezier handle type a property of keyframes, update interface
- 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-16 09:26:35 -05:00
6c1bd4d227 Replace Godot docs URL with $DOCS_URL in XML class reference 2021-11-15 13:02:21 +01:00
953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
24fdedfe94 Merge pull request #54050 from reduz/animation-compression 2021-10-25 14:27:58 +02:00
653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
a69541da4c Implement Animation Compression
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-21 18:27:34 -03:00
ae1c016547 Implement Animation Blend Shape Tracks
* 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-16 08:36:05 -03: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
610de0974d Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" 2021-10-11 19:27:50 -03:00
372ba76663 implement ping-pong loop in animation
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
862994a8ef doc: Update links to latest documentation after content reorganization 2021-10-06 13:48:48 +02:00
7adf4cc9b5 doc: Use self-closing tags for return and argument
For the time being we don't support writing a description for those, preferring
having all details in the method's description.

Using self-closing tags saves half the lines, and prevents contributors from
thinking that they should write the argument or return documentation there.
2021-07-30 15:29:52 +02:00