POV-Ray : Newsgroups : moray.win : Animation Plugin : Re: Animation Plugin Server Time
29 Jul 2024 04:19:56 EDT (-0400)
  Re: Animation Plugin  
From: Alexander Enzmann
Date: 14 Feb 2000 13:00:01
Message: <38A844A4.82BB3F92@mitre.org>
Alex Wolff wrote:
> ...
> i've found out some strange behavior of your anim-plugin when doing
> interpolation between keyframes. it may have to do with the problem bob

> hughes described (although i don't understand all of what he said..).
> to reproduce, try this:
> -starting moray with the default scene (one camera, one light)
> -create a simple sphere located at the origin

> around the
>   z-axis
> -click the key-sign to activate animation
> -choose >render>options>25 fps;100frames
> -right click the key-sign>set>selected
> -choose linear interpolation
> -move slider to last frame
> -type in 720.0 degree for z-rotation (key is automatically set)
> -now move the slider and watch the z-rotation values!
> -> there is no rotation but a switch from 0 to 720 at the last frame.
> workaround:
> -set a key at frame 50 with z-rotation 360 AND
>  set a key at frame 25 with z-rotation 180
> -now it works and (that's funny) now you can delete the keys at frame 5
0
> and 25.

Unfortunately, Lutz allows values outside 0 -> 360 for rotation angles
(well, I suppose -180 -> 180 would be ok too).  Any rotation
interpolation is performed using Quaternion interpolation.  As far as
I'm concerned, 720 = 360 = 0.  The only reason that 720 stays in the
last frame is that I actually store the Moray values internally for keys
- but for interpolation, I give back to Moray the intermediate values.

Linear interpolation of the individual rotation values would probably do
what you are expecting for this particular animation.  However, if you
are interpolation rotations for something that uses more than one axis,
you will get really rotten results doing things that way.  That's why I
use Quaternions internally for all rotation values.

The amazing thing is that following your steps you get anything useful
at all.  If you ask for an interpolation from 0 -> 360, I could
legitimately do nothing - the position is the same.

I don't think I'll change the way I'm doing things in the foreseeable
future - I realize it makes for extra work in some circumstances, but it
is better solved in the end by coming up with a different way of
specifying rotation values (f-curves or the like).

> ------------
> another problem with the animation-plugin:
> choosing at the option menu "25 FPS" makes an animation with only every

> 5th frame to be rendered (polyray and povray)
> workaround is to choose "custom", type in 25 FPS, reset the end frame t
o
> 100 (or whatever it was) and now:
> -click "OK" and then render>animation. don't go back to render>options
> because the options menu will not be the same that you had left...

Yup - there's something busted there.  I noticed that the start/end
times didn't change appropriately to the change in frame rate (yuck -
that's painful code to write), as well as the custom frame rate not
being retained.

I'll fix that stuff for the next beta.

Xander


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.