Richard60 opened this issue on May 03, 2020 ยท 7 posts
Richard60 posted Sun, 17 May 2020 at 8:13 PM
@ShaneNewville The change I want possibly could change your animation IF you use Break Spline. However it is very easy to get the same effect by replacing the Key Frame before the Break Spline with a Linear Key. It has the exact same keying pattern. See the Attached link to view a video I made of the different Spline types.
https://www.renderosity.com/mod/gallery/spline-vs-linear/2941365/ Spline animation
In this video there are 3 Balls. All 3 of the balls have the same Key Frames on the same Frames, Except the Green Ball is offset 1 unit in the X axis to avoid overlapping with the Red and Blue Balls. Also the movement range is from Y 5 to 1 and X -3 to 1, further the timing of the X and Y is offset by 90 degrees to make a circle. If you ever played with an Oscilloscope putting in the same frequency with a 90 degree offset results in a circle. The Blue Ball does a Spline Curve the whole animation doing 6 full rotations. For the most part it is a fairly smooth circle with very little deviation from a true circle. The Red Ball is Linear and moves in a Baseball Diamond pattern. The Green Ball has the same movement as the Blue Ball in that it uses Splines instead of Linear. For the First 2 cycles of the Balls notice the Blue Ball and Green Ball Track each other. At the start of the Third cycle Frame 240 (8 seconds) I Changed the Green Balls Spline type to Break Spline Notice that it now starts to track the movement of the Red Ball. At frame 480 I returned every other Break Spline back to a normal Spline. And now the Green ball tracks the other 2 at different sections. That is BECAUSE a Break Spline is fed the same type of information for the Before and After Keys as I showed above. That is that if a Key is on the First Frame as every single channel is then in order for Poser to make the First Spline it feeds in a Prior Value of the Current Key. However AS can be seen be the two pictures above if I place a Key at Frame 29 Then there is a possibility of another key being placed further down the line so Poser sends the Spline function the Current Value of the Key, and that results in a Curve. However if you place a Frame on the LAST frame then Poser knows there are NO more possible Keys so instead of putting in the Current Value it puts in a NULL. It is this Null that causes the Break Spline to become Linear on the Lower half of the timeline.
So My guess on the input to the Spline function is something like this. I am a Key Frame and I have a Break Applied so my Logic for the Prior Key Value is the same as the Key Value I am. So it looks something like this Spline(Prior Key, Current Key, Next Key). So since the code has to account for possibly being the First Frame we have Spline (Current Value, Current Value, Next Value) and that makes a Curve. However for the lower side it puts in Spline (Prior Value, Current Value, NULL) and that results in a Linear Line, just like if I placed only two Keys on a channel such as Frame 1 being say Zero and Last Frame being 1 since there is no Next Key Frame they also place in a NULL and we get a straight line.
What I want them to do is simply put the Current Value into Next Key Value instead of the NULL and that will result in a nice smooth curve. The Side Benefit is that by doing this I could go in and make all Frames a Break Spline and There would NEVER be overshoot again as each segment would be a self contained points. The really nice thing is that I could go in and change some of the Break Splines back to Regular Spline and get more control over the slope. And we would not need to have things like handles to try to control the slope.
Poser 5, 6, 7, 8, Poser Pro 9 (2012), 10 (2014), 11, 12, 13