The Making of "Four Seasons in One Day"
Rendering
At the time I started this project TerraTweak was not able to integrate
rendering with animation scripts, and Terragen would not load new world files
while executing a script. I noticed that TerraTweak used a temporary script,
world file and bath command to render frames individually so I looked at the
syntax of these to see if it could be adapted to running an entire script with
individual world files for each frame.
The syntax for the command line is relatively straight forward.
c:\path_to_terragen\terragen.exe -hide -exit /w
"c:\path_to_tgw\world.tgw" /s "c:\path_to_script\script.tgs" n /t
"c:\path_to_terain\terrain.ter"
Where "n" is the frame number of the script to render. All I had to do was
write a batch file to run each morphed TGW with the appropriate animation script
frame.
Like
all "proof of concept" ideas, the first thing is to show that something is
possible... the next is to make it practical. Since I had 12 different sets of
morphed TGWs and 4,500 frames I wasn't going to sit down and manually type each
command line. Automating this wasn't going to be exactly straightforward so I
decided on my favourite code creation tool.... Filemaker Pro. Each parameter was
entered as a global field, including the list of prefixes used for the morphed
TGWs and the start and end frame for each group. Calculations then
construct the appropriate command line. Since I had access to other
computers to help render the animation I also designed a few different methods
of splitting up the records into groups for rendering on different machines.
These include:
- A progressive render.
Rendering every 1024th frame, then every 512th etc... thus
allowing the complete sequence to be viewed with successively greater frame
rates as the render progressed.
- An even split
Rendering every n'th frame to split the render evenly over n
computers, providing a fast acquisition of frames from the start of the
animation
- A manual frame selection for frames that got skipped/screwed up in
transfer.
Frames could also be sorted to render in sequence or in reverse order.
Being
able to manipulate the list in this way turned out to be quite useful as the
machines I was rendering on all had different specs. Thus when the fastest
machine had finished, I sent it the batch file from the slowest machine (sorted
in reverse) to fill in the remaining gaps while the render proceeded.
I added a "time /T" command between each frame to give me an indication of
the processing times at a glance.
Terratweak now supports TGS scripts, but until it supports multiple morphs
I'll continue with FMPro.
|