- User Since
- Feb 2 2014, 6:19 AM (276 w, 2 d)
Jan 16 2017
Sep 22 2016
Sep 18 2016
May 3 2016
May 2 2016
Ensure quaternions in sample_quaternions operator are normalized before interpolation
May 1 2016
More portable rounding function in sample quaternions operator exec.
Minor change to make GHash reserve more effective
Apr 30 2016
Here's a 3-mode quaternion comparison showing the modes so far (purposefully with long-case quaternion intervals):
D1929 adds a code path for gathering quaternions on a per-strip basis. It's specifically designed to sample explicitly-keyed timed points surrounding the evaluated strip-time.
Move quaternion cache invalidation notifier handler to catch events from auto-keyframing
Apr 29 2016
Fix SQUAD discontinuities in sample_quaternions operator
Keyingsets now recognize new rotation modes
Fix in SQUAD quadrangle calculation
Quaternion cache invalidation is now handled in response to NC_ANIMATION, ND_KEYFRAME notifiers.
Much less hacky handling within NlaStrip stack.
Apr 27 2016
Fix pose-channel access in NLA evaluation pass
Apr 26 2016
Correct a shadowed variable warning
Apr 25 2016
Remove redundant cache-tests where value has already been evaluated
had one of the cache tests disabled for debugging, it's re-enabled now
OK, after careful study of anim_sys, NLA, and relationship with scene updating, this patch is much more integrated with Blender's timing model.
Apr 21 2016
If adding auxiliary data to FCurves is too invasive, a simpler option would be a single animatable float property on top of the existing rotation_quaternion array.
Apr 20 2016
Yea, honestly I haven't considered all the possibilities for animation sources.
More efficient bail when we don't have a full set of quaternion curves
Exit filter loop when 4 quaternion components found
Yea, SLERP is definitely the sort of algorithm that ignores any sort of component-wise interpolation. Overriding the fcurve interpolation entirely at the right point of update cycle is necessary to gather the curves together.
Use binarysearch function to discover keyframes
Much more resilient state validation, only applied on ob->recalc & OB_RECALC_TIME passing with several failsafe cases to original FCurve interpolation
Fixes crash when user-editable keyframes aren't available (fcurve baked)
Mar 13 2016
Many thanks for finding this useful! I'm sure others in the game-dev community will find it handy.
Mar 12 2016
Complete rebase / conflict resolve to current master
Excellent! Thanks for the acceptance!
Corrected enum assignment from last patch, minor indentation fix
Update enums and field names to be functionally clearer
Sep 9 2015
I believe the UI code has changed significantly since this patch was written..
Jun 7 2015
Updated patch for changes made to key property enums
Mar 25 2015
As a matter of fact, COLLADA natively uses inverse-quadratic-coefficients to represent Lamp falloff in its schema:
(see page4, "Lighting Elements")