2063 Commits

Author SHA1 Message Date
NathanSweet
f6a6af0643 Fixed path constraint bone sorting. 2016-10-07 14:19:11 +02:00
NathanSweet
2ea42d4cae noRotation transformMode experimentation. 2016-10-07 14:19:11 +02:00
NathanSweet
367cf651cf Added FPS for 3.5.00-beta. 2016-09-17 09:24:34 +02:00
NathanSweet
cd982be60b Fixed NaN when entire path or individual curve lengths are zero, eg when scaled to zero. 2016-09-15 13:16:31 +02:00
NathanSweet
dfe8e3b826 Refactoring bone transforms. 2016-09-15 13:16:26 +02:00
NathanSweet
56797953c2 Another try at disable inherit scale.
Still inherits shear and it flips with negative scale.
2016-09-07 10:59:17 +02:00
NathanSweet
0ecef9b2c5 Multiple mixingFrom animations. 2016-09-03 22:47:05 +02:00
NathanSweet
263b47c376 Proper rotation mixing.
#621
2016-08-29 19:45:08 +02:00
NathanSweet
b6660fa41c Don't add skeleton position to bone worldX/Y. 2016-08-29 19:44:40 +02:00
NathanSweet
6bb3e49627 Remember all settings. 2016-08-29 19:44:26 +02:00
NathanSweet
7292b7d720 Lines for skeleton origin. 2016-08-29 14:21:14 +02:00
NathanSweet
ae7ca98b8e Allow attachment loader to return null. 2016-08-27 14:53:02 +02:00
NathanSweet
bae19bdf32 Only compute timelinesLast for tracks that need it. 2016-08-25 16:03:07 +02:00
NathanSweet
81d7c1daeb Never prefer empty animation when interrupting a mix. 2016-08-24 22:27:02 +02:00
NathanSweet
a840f4f959 Added timelinesLast to determine when to fade out. Clean up, fixes. 2016-08-24 21:04:25 +02:00
NathanSweet
5edcd916cc Changed skeleton x,y to be propagated using the root bone world x,y.
Can't remember any good reason not to do this.
2016-08-24 21:02:55 +02:00
NathanSweet
5c9b41a748 Clean up. 2016-08-23 22:36:32 +02:00
NathanSweet
d9a1d76471 Moved interrupt to before start. 2016-08-23 21:28:16 +02:00
NathanSweet
014f229af9 Clean up, javadoc. 2016-08-23 18:25:01 +02:00
NathanSweet
c9fdfdf501 Added mixDuration resetTrack, added set/addEmptyAnimation methods. 2016-08-23 18:08:49 +02:00
NathanSweet
fd81d31278 Fixed resetTrack when a default mix time is used. 2016-08-23 17:38:37 +02:00
NathanSweet
bc05861a0c Added resetTrack. 2016-08-23 17:09:59 +02:00
NathanSweet
3c57c03952 Searching for sanity. 2016-08-23 16:39:16 +02:00
NathanSweet
0a90565ba1 AnimationState#apply has no side effects. 2016-08-23 09:55:06 +02:00
NathanSweet
285aead074 Draw order timeline. 2016-08-22 22:54:58 +02:00
NathanSweet
4c2d2b0c0a Moved track changes to update, so AnimationState can be applied to multiple skeletons without side effects.
Also:
- Moved queue drains outside of update loop.
- Better naming.
- Dirty flag after animations have been changed to avoid computing timelinesFirst more times than needed.
- Don't use timelinesFirst when mix == 1.
2016-08-22 21:39:42 +02:00
NathanSweet
ef2a440655 Always mix, even when mix duration is 0, to give the old animation a chance to reset its changes. 2016-08-22 19:39:48 +02:00
NathanSweet
42e3b95e33 Better timelines. 2016-08-22 16:51:45 +02:00
NathanSweet
280024a685 Added mixingOut parameter to Timeline#apply so timelines know which direction mixing is happening.
See ScaleTimeline which uses this to know which scale sign to use.
2016-08-22 14:43:33 +02:00
NathanSweet
b4924b0a49 Experimental WIP for mixing unkeyed bones to setup pose.
#621
2016-08-21 20:58:40 +02:00
NathanSweet
c59a58ae5b Comment 2016-08-21 08:23:55 +02:00
NathanSweet
8f4ad90a17 AnimationState, allow delay to postpone the current track entry.
#621
2016-08-20 18:52:13 +02:00
NathanSweet
23f16c016c AnimationState, don't mix from an animation that was never applied. 2016-08-20 17:59:55 +02:00
NathanSweet
a39c970a6a AnimationState, javadoc, cleanup, tests.
#621
2016-08-20 15:47:13 +02:00
NathanSweet
0a8896a3e2 More AnimationState refactoring.
- Added `animationStart` so a portion of an animation can be looped.
- Changed timing fields to: trackTime, trackLast, trackEnd, animationStart, animationEnd, animationLast
- Removed default *Threshold fields. People can just set it on the track entry if they don't like the defaults.
- Removed `loopCount` from complete event. People can calculate it based on track time.

#621
closes #535
closes #593
2016-08-20 11:51:56 +02:00
NathanSweet
966c03e68f AnimationState refactoring.
- Renamed `previous` to `mixingFrom` for clarity.
- Added `trackEntry` method to fully initialize TrackEntry.
- Moved `mixDuration` initialization to happen when TrackEntry is initialized. This allows mix times to be specified (or changed) through the TrackEntry, without using AnimationStateData.
- Made EventQueue static to ease porting.
- Javadocs.

#621
2016-08-19 19:14:17 +02:00
NathanSweet
4912ea8975 Fixed start event not being triggered when addAnimation is used on an empty track.
closes #634
2016-08-19 11:32:29 +02:00
NathanSweet
6aca4bd141 Updated AnimationState tests. 2016-08-19 11:21:56 +02:00
NathanSweet
b454d69b45 Fixed lastTime being > time for non-looping animations. 2016-08-19 11:21:44 +02:00
NathanSweet
5191cf4f5f Wait until end of current loop when queuing an animation.
closes #626
2016-08-19 11:20:32 +02:00
NathanSweet
296d019bac Formatting. 2016-08-19 08:47:43 +02:00
NathanSweet
e4e312626b Better scale sign computation. 2016-08-18 21:59:30 +02:00
NathanSweet
5edeeb6035 When mixing scale, the sign of the last applied scale is used to avoid mixing across zero.
#621
2016-08-18 16:51:50 +02:00
NathanSweet
127c0fbbf5 AnimationState, added draw order threshold. 2016-08-18 15:17:13 +02:00
NathanSweet
c278cf77fb Added event toasts to Skeleton Viewer. 2016-08-18 15:16:59 +02:00
NathanSweet
cc4f19da98 AnimationState, added attachment threshold. Defaults changed to NOT apply attachment timelines or fire events for an animation being mixed out.
#621
2016-08-18 14:46:15 +02:00
NathanSweet
b020bc0d44 Added event threshold setting to AnimationState.
#621
2016-08-18 14:05:24 +02:00
NathanSweet
6cc91d579c Fixed world scale. 2016-08-18 11:01:57 +02:00
NathanSweet
c5d3d84f71 Better disable inherit rotation.
But not good, flips with negative scale.
2016-08-15 16:19:33 +02:00
NathanSweet
3160077207 Fixed Skeleton copy constructor.
It wasn't copying each bone's children.
2016-08-14 08:09:58 +02:00