|
|
In article <39620fe4@news.povray.org>, "Rune" <run### [at] inamecom>
wrote:
> OK. I guess this method will produce results that are entirely different
> depending on the number of frames and so on.
No. If a fixed amount is calculated per frame, the amount of time which
passes will be tied to the number of frames, so if you double the number
of frames, you double the amount of time which passes. If you take
clock_delta into account, this won't happen, the same amount of time
will always have passed by the last frame.
> If I understand this right, I think it can produce very consistent
> results independent on the frames, but not *entirely* consistent. If
> you have a very long animation with thousands of frames, the result
> in the end of the animation may vary a lot dependent of the number of
> frames, and so on, because a lot of small calculation differences
> have "piled up" through the animation. Am I right?
No. The particle system is just "paused" at the end of each frame, and
restarted later for a certain amount of time, so there are no
inconsistencies. The only difference between using a fixed amount of
simulation time/cycles per frame and either using a clock_delta
dependant value or recalculating the whole system is the amount of time
that has passed by the end of the animation.
> > If you recalculate the entire system from the start each frame,
> > you can make it independent of the number of frames.
> However, this takes a lot of time in scenes with complex particle
> systems, right? Isn't that the reason you made the option of not
> recalculating each time?
It does, and it is.
...
> Using the method described above, the entire course of the particles
> are calculated the same way always, independent from the number of
> frames, and yet we don't have to recalculate in every frame!
>
> So what do you say? Would this work?
It would work...but is completely unnecessary, since stopping and
restarting the system has no effect on it. And it would remove most of
the animation capabilities, since you wouldn't be able to change things
as the animation progresses.
There are three methods of animation:
0: Particle system is non-persistent, and is calculated a certain
clock-dependant amount per frame. The amount of particle system time
which has passed by the end of the animation does not depend on the
number of frames, but the whole system has to be calculated from the
start for each frame.
Advantages: Easy/quick to code.
Disadvantages: Can take a long time to calculate the system, especially
if fluid particles and inter-particle forces are used. The whole series
of calculations has to be repeated for each frame.
1: Particle system is persistent, and is further calculated a certain
fixed amount per frame. The amount of particle system time which has
passed by the end of the animation depends on the number of frames.
Advantages: small calculation time per frame, you can animate moving
emitters/etc in simulation time.
Disadvantages: simulation length depends on number of frames. The
results of the system are the same, they just progress further for more
frames.
2: Particle system is persistent, and is further calculated a certain
amount per frame, like #1, but the amount of calculation done per frame
depends on the clock_delta value, so it is shorter with more frames. The
amount of particle system time which has passed by the end of the
animation and the final results of the system remain the same,
independant of number of frames.
Advantages: small calculation time per frame, you can animate moving
emitters/etc in simulation time. Also, it doesn't have the problem of
#1, it always runs the same amount of time, independant of frame number.
More frames simply means the simulation is paused at more points.
--
Christopher James Huff - Personal e-mail: chr### [at] maccom
TAG(Technical Assistance Group) e-mail: chr### [at] tagpovrayorg
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
|