Closed claudeha closed 4 years ago
of course it does, those aren't key frames so expected behavior is undefined, like a crash or something.
a "key frame" preset consists of only the following settings...
#preset KeyFrame.001
FOV = 0.62536
Eye = 2.42106,0.501576,0.263686
Target = -6.2468,-0.836125,-0.622262
Up = 0,1,0
#endpreset
...these are used as control points on the spline paths, this is also the absolute minimum settings required for a non-key frame preset
if these are already set then non-key frame presets other than Default may be able to have fewer settings because Camera,Target,Up and FOV are already setup, but Default preset must have them. I haven't tested extensively along this line for adverse conditions though, a proper test and error message would definitely be preferable to a segfault that comes from uninitialized variables.
Key Frame presets are for camera. Easing Curves control any FLOAT sliders. fqScript controls BOOL INT SAMPLER widgets
These features are separate because they were each "proof of concept" experiments to illustrate some ideas.
BOOL INT and SAMPLER are not good candidates for varying control unless the user rrreeeeaaallllyyy knows what they are doing or trying to do and has the brains to code it in fqScript. At this stage of animating the user has total control, the gui is basically for set up and testing before rendering that 8000 frame animation.
Noted. I checked that adding presets from the GUI does the right thing (2D doesn't suggest keyframe, 3D Keyframe.nnn saves only camera, 3D OtherName saves everything).
presets other than Default may be able to have fewer setting
It may indeed be useful to allow presets without camera settings, to switch only colouring for example..
It may indeed be useful to allow presets without camera settings, to switch only colouring for example..
it already does :D try this...
You can trim out the settings you're not interested in and just keep the ones you want. No errors when used but the user must bear in mind that this preset affects only the Color tab.
There is also a preferences flag to save easingcurve infos in the normal presets with all settings or not, when not, then easingcurve infos can be saved alone in a preset, just use the name prefix "Range-" and add the range of frames that the easing curve(s) cover, like 10-100.
Background Detail: how this works right now is that the prefix, "Range-", when creating a preset tells FragM to save only easingcurve infos while the suffix, "10-100", would be a reminder for the human, nothing more ;) it doesn't have to be frame numbers, it can be any indicative name. Why not actually use the frame numbers? Because this preset can contain many easingcurves that may not represent a contiguous range, so it's up to the user to keep things organized in a way that makes sense.
and for some more fun, after adding a few easing curves, RMB on the time slider ;)
2D doesn't suggest keyframe
Why?
3D camera position is controlled by catmull-rom splines (modified IQ code) and as such easing curves can not be applied to Camera,Target or Up
2D Camera is not controlled by splines so you can apply an easing curve to Center and Zoom coords
Lets face it, for 2D it's just zoom and pan, easing curves can handle that quite elegantly if one takes the time to get to know how to use them. No fancy user paths for 2D until the last curve slot in the EasingCurveDialog gets coded, that one is reserved for user created curves ;) see QEasingCurve::addCubicBezierSegment and QEasingCurve::addTCBSegment for more info.
oh! ... this is an idea ... add to the bottom of each tab, with the "group" buttons, a button that creates a preset using tab name and contents!
Describe the bug Loading this frag crashes:
crash.frag.txt
To Reproduce Steps to reproduce the behavior:
Expected behavior No crash. Maybe an error message if the keyframe syntax is incorrect.
Backtrace
Desktop: