Spline tangent erased when keyframed

ZooHead

Well-known member
#1
This is a major problem with the keyframing system.

If I have a spline tangent on the F-curves and I need to change
a parameter, when I keyframe again the spline is erased, not cool. :mad:

Is there any way to stop this behavior?
 

frank beckmann

Well-known member
#2
Not that I know of - new keyframes are always "Smooth" methinks. But you can click+crag that particular key wherever you want it without making a new "recording".

Cheers
Frank
 

ZooHead

Well-known member
#3
Thanks Frank, that might work if you could snap to the grid in the F-curve window, but that's not possible.
I'm trying to make my rollercoaster with Spline Tracking.

I make one car, keyframe and set up the F-curves with a spline transition at the end.
Then copy paste and retard each keyframed position parameter in the Spline Tracking Tag.

Works fine until the Spline Transition point is Keyed again.

I'm going to have to try to match the Spline Transition point manually for each car.
That's the point where the cars slow down at the end of the ride.
 

Helmut

Well-known member
#4
Hi ZooHead
:unsure: I may misunderstand your aim but:
* You can copy /paste selected points (one / subset / all) of a splined F-curve between similar objects. The point(s) - including any tangent(s) - is/are inserted relative to the locus of the current frame.
* You can select keyframed points in the F-curve panel of the source object individually by single clicks / shift-clicks / cmd-A(ll) or by marquise (single frames or shift + multiple frames).

PS: However, I guess you knew that, anyway...
 
Last edited:

ZooHead

Well-known member
#5
Thanks Helmut, the problem is there's no place to copy from.

The car and Spline Tracking Tag are the product of a copy and paste.

To make each successive car track behind the previous one,
all keyed position parameters must be changed and recorded.

It's the Recording/Keyframing that erases or ignores the tangent setting.
 

ZooHead

Well-known member
#6
If I could easily create a new spline for each car and change the zero point
on each spline to correspond to the starting point of each car it should work. o_O
 

Helmut

Well-known member
#7
* Well, I guess you must have modelled / key framed a first car plus associated spline track plus parameters plus spline plus tangent.
* Copying this tag to the new / blank 2nd / 3rd / ... car should allow you to just sweep all frames by some interval.
* As mentioned, I may not understand your problem. Maybe a screen shot or two may help.
:unsure: I assume that all cars follow the same track (= spline), just with a time gap in between? :rolleyes: So, in my understanding, a single spline with offset start to stop positions must work. The splines are identical (there is only one as all pointers in the tags point the same constructor) but the parameters of the respective tags are different.
 
Last edited:

frank beckmann

Well-known member
#8
Far from perfect and fiddly in the "From"+"To" adjustments - but the Chain-Creator is pretty easy to set up:
Rollercoaster.gif

RollercoasterViaChainCreator.gif

_____
Easiest way I guess is to use the SplineIK-tag - but having issues to adjust the "rolling" property properly. :p

Cheers
Frank
 

ZooHead

Well-known member
#9
* Well, I guess you must have modelled / key framed a first car plus associated spline track plus parameters plus spline plus tangent.
* Copying this tag to the new / blank 2nd / 3rd / ... car should allow you to just sweep all frames by some interval.
* As mentioned, I may not understand your problem. Maybe a screen shot or two may help.
:unsure: I assume that all cars follow the same track (= spline), just with a time gap in between? :rolleyes: So, in my understanding, a single spline with offset start to stop positions must work. The splines are identical (there is only one as all pointers in the tags point the same constructor) but the parameters of the respective tags are different.
The easiest way to show this, is with a jas file.

Two cars, one a copy of the other, tracking in the same place along the Spline Track.
One needs all the Spline Tracking keyframe positions changed by neg .01,
including any that have tangent changes of any kind.
 

Attachments

ZooHead

Well-known member
#10
Hey Frank, I tried the Chain Creator but I really need the banking control afforded by the Spline Tracking Rail Spline.
Thanks for trying.
 

Helmut

Well-known member
#11
* I just moved the entire spline of the tracking records (4 points, the last one + tangent) for car.2 a whisker down. The result is a distancing of the individual cars.
* If you need different times for the start of the subsequent cars you need to shuffle the entire track to the right by the required interval.
* AFAIK nothing needs to be rerecorded if eyeballing suffices for the animation.

Screenshot 2020-04-02 at 09.39.49.png
 

Attachments

Helmut

Well-known member
#12
Post Scriptum:
* Unfortunately, there is only horizontal (time based) snapping in the F-curve editor which you can control by setting a temporary fps rate. If you need to snap to 0.2 seconds, set fps to 5 and shift recorded points.
* F-keys remain, even when they are stuck between frames :oops:
* A vertical grid would be a bit tricky, as this could be units of distance, angles, percentages, random ranged integers / fractional nums or whatever and would need to grow / shrink based on the minima / maxima being shown.
 

Helmut

Well-known member
#14
:whistle: There is a tool script, entitled F-Curve Utility by master Tsubaki.
:p I did some quick testing and it can nudge / shuffle F-curves vertically by a fraction. It shows the same result as the manual method outlined above in posting #11. However, the advantage is that you can enter a precise numeric value (eg 0.1) and need not perform some imprecise fumbles :sick: with the mouse.

Screenshot 2020-04-02 at 13.33.09.png
 

ZooHead

Well-known member
#15
I was just testing that script but I'm not having any luck.
Can you please tell me how to use that script? I have the script,
but there's no author's name and I could not find it on his blog.
 

Helmut

Well-known member
#18
:sick: Sorry for the misleading screenshot; I was not testing on a tagged object.

* In the object browser, select the car and the tag plus make the F-curve visible.
* Call the tool script.

*
Screenshot 2020-04-02 at 14.33.20.png


* I used the subsequent settings:
1 target tag index = 1
2 selection = all
3 value = 0.333
* then hit the apply button

* the F-curve is not updated in real time; click somewhere else in the object browser and return by re-clicking on the tag.


* :eek::oops::giggle:the entire F-curve for the spline-tracking is moved from time 0 / position 0 to time 0 / position 0.333
 

ZooHead

Well-known member
#19
I could not figure out how to get the screen to update until I hit the Play button, problem solved.
Thanks Helmut!
Can you explain the Target Tag Index?
 

Helmut

Well-known member
#20
* I am just guessing here:
* My assumption is that this is simply the sequence number of a tag which is associated with an object in the object browser.
* This can be easily verified (or falsified) by a test or two. My Java scripting skills are totally insufficient to derive this by analysing the script :sick::mad::devilish:
Maybe Hiroto @tg_jp can briefly chime in for some enlightenment?

Servus from Vienna
 
Top