POV-Ray : Newsgroups : povray.animations : How do you do your Animations? Server Time
15 Oct 2024 03:17:48 EDT (-0400)
  How do you do your Animations? (Message 1 to 10 of 13)  
Goto Latest 10 Messages Next 3 Messages >>>
From: Leroy
Subject: How do you do your Animations?
Date: 13 Jan 2020 17:50:01
Message: <web.5e1cf390321fc50c7bbf2ac80@news.povray.org>
I just wondering how other people here do their animations. I've done a few,
some very long 3 minutes or more. I started a new one, a simple walk through,
around a building with lots of belts and pulleys.
 On most of my other animations I use one pov file per scene. Each scene had all
the things needed for that bit of animation. Now that I'm doing a walk through I
plan on using one file that has every thing needed and drop things not in view.
I'll have one file that has all the camera locations in an array that will give
the values for each frame. Then when the values are used drop the array using
the #undef function.
 Any thoughts will handy.

Have Fun!


Post a reply to this message

From: Bald Eagle
Subject: Re: How do you do your Animations?
Date: 13 Jan 2020 19:10:01
Message: <web.5e1d06cc26a70c9b4eec112d0@news.povray.org>
"Leroy" <whe### [at] gmailcom> wrote:
> I just wondering how other people here do their animations. I've done a few,
> some very long 3 minutes or more. I started a new one, a simple walk through,
> around a building with lots of belts and pulleys.
>  On most of my other animations I use one pov file per scene. Each scene had all
> the things needed for that bit of animation. Now that I'm doing a walk through I
> plan on using one file that has every thing needed and drop things not in view.
> I'll have one file that has all the camera locations in an array that will give
> the values for each frame. Then when the values are used drop the array using
> the #undef function.
>  Any thoughts will handy.

Most of my animations are just straightforward 1-clock-cycle variable scenes.

I did one of a set of tori just for fun, and with that one, I divided the clock
cycle up by using a #switch-range-break block.  Each section of that was 1/10th
of a clock cycle and I just used the current clock value in an equation to make
each section's Clock [meta]variable return 0-1.

I did a walkthrough of a section of a large complex I was working on, and I just
left all of the unseen parts defined.   It didn't seem to matter much, and I
have a lot more memory in my current machine than I did then.
IIRC, I just used a linear spline to direct the camera position.
What you _could_ do is use your clock value and #switch to control a list of
#include files to filter out not-in-view objects.
If you'd like, I also worked out the whole camera view frustum calculations, and
you could somehow check to see if a portion of an object's bounding box was
intersecting the view frustum and then either #declare it as a visible object in
the scene or not.

I'd see about contacting the guy who did the engine animation, or the puzzle
boxes, or any of the other more complicated, step-wise movies with many parts.
https://www.youtube.com/watch?v=RE04CTpCIdQ
https://www.youtube.com/watch?v=-oiwvJ3_QR4


Dick Balaska obviously has his own mini cinematic production company churning
away in his living room and across the internet - so that may be on another
level entirely.  ;)


Post a reply to this message

From: Dick Balaska
Subject: Re: How do you do your Animations?
Date: 14 Jan 2020 00:24:37
Message: <5e1d5095$1@news.povray.org>
Am 1/13/20 5:47 PM, also sprach Leroy:
> I just wondering how other people here do their animations. I've done a few,
> some very long 3 minutes or more. I started a new one, a simple walk through,
> around a building with lots of belts and pulleys.
>   On most of my other animations I use one pov file per scene. Each scene had all
> the things needed for that bit of animation. Now that I'm doing a walk through I
> plan on using one file that has every thing needed and drop things not in view.
> I'll have one file that has all the camera locations in an array that will give
> the values for each frame. Then when the values are used drop the array using
> the #undef function.
>   Any thoughts will handy.
> 
> Have Fun!
> 
> 

I'm not following you.  It sounds like you're not using clock the way I 
would.  If it works for you, by all means continue, but I don't 
understand the need to define an array of all possible camera locations 
and then undef'ing them.

#declare sceneLength = 120*seconds;	// (seconds = 1)
#declare myclock = clock*sceneLength;	// inc from 0 to 120 each frame

#declare scene1Start=0;
#declare scene1End=60;
#declare scene2Start=60;
#declare scene2End=120;

// 2 helper macros I use.
///////////////////////////////////////////////////////////////////////////////////////////////////
// Animate this segment of the clock from 0 to 1
#macro AniSegment(_start, _end)
	((myclock-_start)/(_end-_start))
#end

///////////////////////////////////////////////////////////////////////////////////////////////////
// Move a Vector from, to, increment
#macro MoveV(_from, _to, __i)
	<_from.x+((_to.x-_from.x)*__i),
	 _from.y+((_to.y-_from.y)*__i),
	 _from.z+((_to.z-_from.z)*__i)>
#end

///////////////////////////////////////////////////////////////////////////////////////////////////
// Move a float: from, to, increment
#macro MoveF(_from, _to, __i)
	(_from+((_to-_from)*__i))
#end

#switch (myclock)
   // Handle the first scene's camera
   #range(scene1Start, scene1End)
     #local I=AniSegment(scene1Start, scene1End);
     #local CameraStart=<0,0,0>;
     #local LookatStart=<0, 0, 100>;
     #local CameraEnd=<0,0,100>;
     #local LookatEnd=<100,0,100>;
     #declare Camera=MoveV(CameraStart, CameraEnd, I);
     #declare Lookat=MoveV(LookatStart, LookatEnd, I);
     #break
   // Handle the second scene's camera
   // Note the camera start is the same as the end of the previous scene
   // This is to make a seamless move, you can jump cut too.
   #range(scene2Start, scene2End)
     #local I=AniSegment(scene2Start, scene2End);
     #local CameraStart=<0,0,100>;
     #local LookatStart=<100, 0, 100>;
     #local CameraEnd=<0,100,100>;
     #local LookatEnd=<100,100,100>;
     #declare Camera=MoveV(CameraStart, CameraEnd, I);
     #declare Lookat=MoveV(LookatStart, LookatEnd, I);
     #break
#end

/////////////////////////////////////////////////////////////////////////////////////

Anyway, that's how I would do it.  It looks like more boilerplate to 
setup, but it gives you flexibility.  If you decide to make scene 1 
longer, you only have to change 2 numbers.
Plus, I've abstracted out frame_number.  You can run this at 20 FPS by 
declaring Final_Frame=240 in your ini file, or 30 FPS by
declaring Final_Frame=360.

Here, this is one of my actual director files for my space landing scene.
http://git.buckosoft.com/gitweb/pov.cgi?p=tteoac.git;a=blob;f=ttdo/direct.inc

First, I declare any important positioning vectors.
Second, I declare the timings for the scene.
Third, run the big #declare Camera #switch (line 345)
Forth, run the big #declare Lookat #switch (line 515)
I found that Lookat isn't 100% the same thing as Camera. i.e.
"Look at SpaceLoco, wait a beat, start to walk towards SpaceLoco".
Last, more #switch loops for various timings.  I often have things that 
are point A, then move point A to B, then point B.
So,
#declare Thing1Start=0.75*seconds;
#declare Thing1End=1.0*seconds;

#switch (myclock)
   #range(0, Thing1Start)
     #declare ThingPos=0;
     #break
   #range(Thing1Start, Thing1End)
     #local I=AniSegment(Thing1Start, Thing1End);
     #declare ThingPos=I;  // between 0.75-1.0 seconds, move from 0-1
     #break;
   #range(Thing1End, sceneLength)
     #declare ThingPos=1;
     #break

Oh, my first rule of animation is everything runs from 0-1.
As much as possible every move is from 0-1.
Because once you get that number, you can manipulate it.

Move a vector smoothly from left to right:
#declare V=MoveV(<-100,0,0>, <100,0,0>, ThingPos);

Bring the lights up smoothly from 20% to 80%
#declare LightBright=MoveF(0.0, 0.6, ThingPos)+0.2;


I hope that all makes a little bit of sense. :)

Am 1/13/20 7:09 PM, also sprach Bald Eagle:
 > Dick Balaska obviously has his own mini cinematic production company 
churning
 > away in his living room and across the internet - so that may be on 
another
 > level entirely.  ;)

:D :D :D

-- 
dik
Rendered 49,882,521,600 of 49,882,521,600 pixels (100%)


Post a reply to this message

From: jr
Subject: Re: How do you do your Animations?
Date: 15 Jan 2020 16:25:00
Message: <web.5e1f821126a70c9b8c662f470@news.povray.org>
hi,

"Leroy" <whe### [at] gmailcom> wrote:
> I just wondering how other people here do their animations. ...
>  Any thoughts will handy.

in addition to what has been said already, I'd begin with paper + pen and create
a storyboard.


regards, jr.


Post a reply to this message

From: Leroy
Subject: Re: How do you do your Animations?
Date: 27 Jan 2020 18:15:00
Message: <web.5e2f6e5526a70c9b520df3dc0@news.povray.org>
Thanks for all your ideas!
 It is interesting to see how other people tackle a problem.
Sorry I've haven't posted earlier. I've been animating and time slipped away.

 I do animations by frame count and most of what I've seen here work with the
clock. Its not that I don't use the clock, Its that I hate fractions. Frames
1450,1451 means more to me than .503647100, 0.503994443.

 The story board is a good idea, but I can ever get one done. I do use an
outline that changes as I go along.

 My idea about an array of camera locations came about because I wanted to have
the fastest parse and render times I could get. The array for my 2880 frame
animation is about the same size as one of my mesh2 belts. I have already done
basic walk trough with boxes for placeholders. It took 45 minutes to render,
seconds to parse each frame.
 I fill the array piecemeal,in sections. You know :go to this location look at
that thing then another location ,look another thing and so on. One thing about
the having an filled array, is that you can go back change any time sections
using values already stored.

Thanks again for all your ideas!

Have Fun


Post a reply to this message

From: Bald Eagle
Subject: Re: How do you do your Animations?
Date: 27 Jan 2020 19:35:01
Message: <web.5e2f812d26a70c9b4eec112d0@news.povray.org>
"Leroy" <whe### [at] gmailcom> wrote:

>  I do animations by frame count and most of what I've seen here work with the
> clock. Its not that I don't use the clock, Its that I hate fractions. Frames
> 1450,1451 means more to me than .503647100, 0.503994443.

That sounds good on the surface, but sometimes I do a quick, sparsely populated
animation, just to look it all over and debug anything that's off or left out.
When I want to make it smoother, I just increase the number of frames, and
nothing in my scene file needs to change.

You could always have the clock run from 0 to 2880 in the ini,
or multiply the clock value by 2880 in the scene.

>  The story board is a good idea, but I can ever get one done. I do use an
> outline that changes as I go along.
>
>  My idea about an array of camera locations came about because I wanted to have
> the fastest parse and render times I could get.

I don't quite understand ... but I'm really looking forward to seeing the
results of your coding and animation method!


Post a reply to this message

From: jr
Subject: Re: How do you do your Animations?
Date: 30 Jan 2020 05:00:01
Message: <web.5e32a84f26a70c9b28c55bc90@news.povray.org>
hi,

"Leroy" <whe### [at] gmailcom> wrote:
> ... I have already done
> basic walk trough with boxes for placeholders. It took 45 minutes to render,
> seconds to parse each frame.

looking forward to the final version.  (hoping it'll be larger frames than the
256x256 "teaser".  :-))


regards, jr.


Post a reply to this message

From: Leroy
Subject: Re: How do you do your Animations?
Date: 20 Mar 2020 19:15:00
Message: <web.5e754ddc26a70c9ba95203470@news.povray.org>
I'm done!
 I plan to put it on You Tube after I leave here!
It's a full 3 minutes long and only took 48 plus hours to render.

 The {camera & look_at} array, along with a {is viewed} array work out very
well. To make the camera array I had file that contained the key locations and
how to move between them that pov could read and make all the in between
locations. Also pov using debug list all the key points and their times. This
came in handy when I went to make music for my animation.
 I had 16 object that could be viewed at any one time. So I made the {is viewed}
array by using the bounding boxes corners and center with the {camera & look_at}
array to calculate if a object was in view. That worked well no object would go
unnoticed. But the shadows would be. So with a little work I calculated every
shadow corner of a bounding box. I had 3 lights so there was 12 more points for
each object. All of this boiled down to an yes or no element in the {is viewed}
array.
 Most of the objects where animated. Since I never really knew when one would be
in view, they where timed based on the frame_number. So I never had to worry
about timing. He..He..
 Hope you enjoy it!
Have Fun!


Post a reply to this message

From: Leroy
Subject: Re: How do you do your Animations?
Date: 20 Mar 2020 19:55:01
Message: <web.5e7556ca26a70c9ba95203470@news.povray.org>
"jr" <cre### [at] gmailcom> wrote:
> hi,
>
> "Leroy" <whe### [at] gmailcom> wrote:
> > ... I have already done
> > basic walk trough with boxes for placeholders. It took 45 minutes to render,
> > seconds to parse each frame.
>
> looking forward to the final version.  (hoping it'll be larger frames than the
> 256x256 "teaser".  :-))
>
>
> regards, jr.

It at you tube:
https://youtu.be/B9fG-p0S4CU


Post a reply to this message

From: Leroy
Subject: Re: How do you do your Animations?
Date: 20 Mar 2020 19:55:02
Message: <web.5e75572626a70c9ba95203470@news.povray.org>
It now at
https://youtu.be/B9fG-p0S4CU


Post a reply to this message

Goto Latest 10 Messages Next 3 Messages >>>

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