Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2010-10-21 14:28:06 +0400
committerJoshua Leung <aligorith@gmail.com>2010-10-21 14:28:06 +0400
commit76a0de3a0d80421b805a3f36a11d5d49089c62d2 (patch)
treedc71bb556ffe490925d82641dc7ac5ab367d3a14 /source/blender/blenkernel/intern/anim_sys.c
parent2e6fcc31cb003ed22060a16e6898c9ba08d241bf (diff)
Changes to "evaluation time" for Curves:
After discussions with Campbell regarding #24336 and #24309, we've decided to make this property for curves to only get set when an F-Curve explicitly animates it. As a consequence... - ALL OLD FILES using follow-path constraints that depended on this changed behaviour will currently need manual patching to add an appropriate F-Curve - Ctrl-P (Parenting to Curves -> Follow Path option) will now automatically create such F-Curves mimicking the old behaviour so that creating camera-following-path setups still works smoothly. - Directly adding a Follow Path constraint bypasses this, so you'll need to manually add such F-Curves if you need them. The main problem with the old approach was that there were many cases in which curve data could get added but the ctime would be incorrect until a frame change (i.e. on render) flushed this.
Diffstat (limited to 'source/blender/blenkernel/intern/anim_sys.c')
-rw-r--r--source/blender/blenkernel/intern/anim_sys.c17
1 files changed, 1 insertions, 16 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c
index 22f5ac181f1..e03799ff938 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -1872,22 +1872,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
EVAL_ANIM_IDS(main->mball.first, ADT_RECALC_ANIM);
/* curves */
- /* we need to perform a special hack here to ensure that the ctime
- * value of the curve gets set in case there's no animation for that
- * - it needs to be set before animation is evaluated just so that
- * animation can successfully override...
- * - it shouldn't get set when calculating drivers...
- */
- for (id= main->curve.first; id; id= id->next) {
- AnimData *adt= BKE_animdata_from_id(id);
- Curve *cu= (Curve *)id;
-
- /* set ctime variable for curve */
- cu->ctime= ctime;
-
- /* now execute animation data on top of this as per normal */
- BKE_animsys_evaluate_animdata(id, adt, ctime, ADT_RECALC_ANIM);
- }
+ EVAL_ANIM_IDS(main->curve.first, ADT_RECALC_ANIM);
/* armatures */
EVAL_ANIM_IDS(main->armature.first, ADT_RECALC_ANIM);