diff options
author | Joshua Leung <aligorith@gmail.com> | 2011-06-04 10:22:01 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2011-06-04 10:22:01 +0400 |
commit | 185663b52b618a5fc20878db269ac056ede7591e (patch) | |
tree | 2e1cf411283a48b790a24a64384577eee956dcfb /source/blender/makesdna | |
parent | e27fe1c0493fcc06a835cb4d29628d6565d1c31b (diff) |
FModifier Influence/BlendIn-Out
Following on from my commit to introduce frame ranges for FModifiers,
those frame ranges can now have blend in/out values. By setting a
blendin or blendout value, you're specifying the number of frames for
the modifier's "full influence" to take effect or fade out relative to
the start/end frames.
The "full influence" above needs a little clarification.
When the "use influence" setting is enabled, "full influence" is taken
from the "influence" slider (a new setting). Otherwise, it uses 1.0
(i.e. unmodified influence, same as old behaviour before the
introduction of influence controls). The influence slider basically
says how much the modifier's effects are allowed to contribute to the
final result.
---
Notes:
- This opt-in "Use Influence" approach is really forced upon us
because there are heaps of old files for which we cannot easily
version patch without spending some effort going through all the data
in the file, hunting out the F-Modifiers.
- interpf() seems to use a backwards order compared to everything else
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_anim_types.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_anim_types.h b/source/blender/makesdna/DNA_anim_types.h index 88a3fe81825..c650d15722d 100644 --- a/source/blender/makesdna/DNA_anim_types.h +++ b/source/blender/makesdna/DNA_anim_types.h @@ -65,6 +65,8 @@ typedef struct FModifier { float sfra; /* start frame of restricted frame-range */ float efra; /* end frame of restricted frame-range */ + float blendin; /* number of frames from sfra before modifier takes full influence */ + float blendout; /* number of frames from efra before modifier fades out */ } FModifier; /* Types of F-Curve modifier @@ -97,7 +99,9 @@ typedef enum eFModifier_Flags { /* user wants modifier to be skipped */ FMODIFIER_FLAG_MUTED = (1<<3), /* restrict range that F-Modifier can be considered over */ - FMODIFIER_FLAG_RANGERESTRICT = (1<<4) + FMODIFIER_FLAG_RANGERESTRICT = (1<<4), + /* use influence control */ + FMODIFIER_FLAG_USEINFLUENCE = (1<<5) } eFModifier_Flags; /* --- */ |