TITLE: Anthrosphinx vs. Wyngz Pursuit-Escape
NAME: Markus Altendorff
COUNTRY: Germany
EMAIL: ma.al@anthrosphinx.de
WEBPAGE: http://www.anthrosphinx.de/
TOPIC: Pursuit/Escape
COPYRIGHT: I SUBMIT TO THE STANDARD RAYTRACING COMPETITION COPYRIGHT.
MPGFILE: maal_pe1.mpg
RENDERER USED: 
    Cinema 4D Net 6.2


TOOLS USED: 
    (all on Mac) Cinema 4D XL 6.2, BodyPaint 3D,
Adobe Premiere 5.1, GraphicConverter 4.0.1, Astarte M.Pack,
PlayerPro 5.7, the SoundCube audio collection, the
DataBecker Monster Pack audio collection.


CREATION TIME: 
    2 hard months of countless after-hours...


HARDWARE USED: 
    Apple G4 450 MP, 640 MB RAM, for editing,
plus a G4 450 with 512 MB RAM, a G3 350 with 384 MB RAM and
a 7500/200 with 416 MB RAM. Modelling partially done on a
Powerbook G3/400, but most of it on the Twin CPU box.


ANIMATION DESCRIPTION: 
    Allow me to introduce you to Amurel
(species type: anthrosphinx, you know her from the previous
animation round - and yes, she's definitely a *she*)
and Wyngz (species type: humanoid photo-hemotroph),
in a classic chase animation, including "Launching the
spaceship", "Pursuit through the canyon", "Showdown"
and "Aftermath". ;-) Featuring a soundtrack by
yours truly. You may put your fingers in your ears
any time now... ;-)


VIEWING RECOMMENDATIONS: 
    Works with standard Windows MPEG
and MacOS Quicktime 2.5 to 5. You may want to change
brightness/contrast on your monitor. I noted that playback
is sometimes jerky under MacOS/QT4 and smoother under windows
or MacOS/QT5b2 (YMMV). Full screen quality is sort of
tolerable if you move a bit away from the screen. Sorry for
the poor sound, too, MPEG simply took its toll...
(especially when the engines sound and the drums come
together...)


DESCRIPTION OF HOW THIS ANIMATION WAS CREATED: 

Pursuit/Escape was a topic that immediately flipped some
switches, and a lot of friends came up with quite a few
ideas, too: a human figure being chased by Death (the latter
imagined like in the Terry Pratchett Discworld novels), or
something running ahead of the seconds hand of a timepice,
or... but this is about what it really ended up:

I decided to animate yet another years-old airbrush design.

The cat-creature ("Amurel") base model was carried over from
my last round's entry, as were the ship and the mountain
scene during the first sequence. The magnetic bones for
Amurel underwent a major revision, though (i'm up to version
72 now...).

First step was the modelling of the ship's bridge, which
uses two programmed behaviours: the cage around the
elevator, whose parts consist of cylinders that slide into
each other, starting with the thinnest one; and the clamps
on the pilot's stand that slide out until 800f their
height and then start to spin by 45 degrees through the last
20%; both use hierarchical animation and spin angle
propagation related to an invisible "control" object. This
was done in early December (on my notebook at our local
computer club's regular's table ;-)

Next step was the model of the flying creature ("Wyngz"). I
used far less mesh points for this and let the surface
subdivision do it's work. The pseudo-hair was a first for
me, it's done by drawing irregular splines (as radial
"intersections" of the hair) and placing them in a LOFT
surface generator. I also tried a set of three
semi-transparent hair parts on top of each other to simulate
layers of hair, but decided it's not worth the render time
penalty... (except for a few strands over the forehead). The
loincloth uses the same technique as the hair (a surface
built across several splines), but this time i drew freehand
splines and used the "project to surface" function of
Cinema. The tattoo-like spots (which are meant to be the
creature's biological antigrav generator, that's why they
glow in the dark - the wings are merely for propelling ;-)
were painted on the mesh using BodyPaint, a tool that i've
still got to get used to...

The landscape for the chase scene started as a flat 100x100
polygon mesh. I painted irregular polygon selections on it
and moved these up and down (no landscape generator
involved). The "stone bridges" are made by selecting the
base polys on each side of the canyon and using the "bridge"
(doh! ;-) tool of Cinema, plus two subdividing cuts through
the resulting bridge, forming a bow to make it look more
natural. The texture is a mix of a very long stretched noise
shader, plus a marble texture in the bump channel, plus a
rough noise in the displacement channel. Plus a 3rd level
surface subdivision at rendering time. Would not render on
anything below 256 Megs of RAM... Lighting consists of three
lights: a spot with hard shadows for the "sunlight", a
parallel light source top-down without shadows and with a
blue tone for the skylight and a parallel light source / no
shadows bottom-up with a brownish tone (for the light
reflected from the ground). The sky is a fisheye photo of a
real cloud scene. The fog on the horizon is a very large
torus with a fog shader, the intensity is set so that a
straight look at it will swallow the ray completely, while
looking upward will reveal part of the sky texture.

The chase scene animation is rather straightforward: two
splines through the scenery, attaching the object's motions
to the splines and auto-adjusting the heading along the
splines. Additional "dummy" objects were used to control the
banking. Two cameras were set up as "buddycams", grouped with
the ship/"wyngz" respectively. To make these views more
interesting, these cameras change their angle relative to
their parent object (instead of the impression of a "nailed
to the target" behaviour). Two more cameras were attached to
the spline motion paths, heading at "Wyngz", one 1/2 of a second
behind, the other 4 frames ahead. Another camera was placed at
the "cockpit" of the pursuing ship, and this output was used
for the "in-ship" viewscreen.

The aftermath scene makes use of the "stage" object of
Cinema which allows to switch the active camera during the
rendering process. This was also the first scene for which i
used a timing script (i.e. i noted down WHAT should happen
WHEN... instead of "well, let's see what happens when i set
the control to this..." ;-) It's main light sources are the
two volumetric light cones above the two creatures, plus a
weak shadow-casting light source to the faces. The green
lights along the pods are real light sources with a small
radius, they merely light the legs. There's no real
"lip-sync" (to what language, anyway? ;-), and i decided to
stick with subtitles.

All in all, it's some 5-6 minutes of raw material from over
20 cameras scattered around each scene. There was no way i
could pack this into the 5 megs limit of the IRTC, so i made
two versions of the movie, a "longplay" for my homepage in
RealPlayer format (hint, hint ;-) and a 5-meg-MPEG1-version
with shorter scene cuts and a lot of stuff missing... the
"raw size" was 384x288, something that plays back well to
VHS video tape, but for the 45 kB/sec data rate, i had to
scale it down to 240x176 pixels for the MPEG - otherwise,
the encoder would cancel with "data rate exceeded - try
using a blur filter on the sequence" (*bad* idea...). This
gave me 1 minute 52 seconds to encode, with an extra space
of 40 unused kBytes (what a waste ;-). I decided to keep
most of the final subtitles (although at twice the speed
they were meant to be) to wrap up the short story instead of
just squeezing as much rendered content in it as possible.

The brightness/contrast was changed with a color area of
mid-gray (128/128/128) at 100pacity over the whole movie
(effectively scaling it to brightness levels 6-250),
because i noticed that MPEG encoding tends to increase the
contrast (so it's best to remove some of it beforehand).
Depending on your video card, the movie may play back
too bright (especially on TFT displays and/or ATI boards).
This is especially true for the hardware-accelerated
MPEG playback on ATI/Macintosh, where even black is
rendered as mid-gray (!) - try opening another MPEG file,
so that hardware acceleration is turned off, you'll see
the difference!

The audio part is set at minimum data rate (32 kBit/sec),
and it sounds awful... but it's there!

The whole topic - pursuit/escape - screamed for fast cuts
and short sequences (plus a fast-paced soundtrack, although
the competition is not about sound - i'm thankful for this
;-) ), so i settled for a duration of two to three seconds
for each cut in the video editing program. For the IRTC
version, i had to take this down to one or two seconds, and
i had to throw out a lot of stuff (the aftermath "dialogue"
is much shorter, and there are a lot of scenes missing
during the chase and while preparing the ship for launch).

Even though audio is not required, i've noted it's able to
intensify the optical experience ;-) so i spent some 20
hours struggling with sequencer software (if you think i'm
not that good with 3-D, then you haven't heard me composing
;-) until i found some right mix of a) putting pre-made
sounds together and b) occasionally/accidentally pressing a
key on a keyboard... (the "hand clap" for example ;-)

Some sidenotes:

* I've found a memory leak with the Mac multiprocessor
version of Cinema - ever started a render
process at 2 a.m. in the morning to find out 10 hours later
that it made exactly 5 frames and came to a grinding halt
with "out of memory" 10 minutes after you went to sleep?
Workaround: assign a gigabyte of VM, then give the gigabyte
to the renderer, and let the memory leaks accumulate
in the VM storage. With luck, this results in enough time
for the renderer to finish the current sequence...

* Another odd thing: depending on the angle of "Wyngz"' head
bones, the rendering times go straight through the roof:
from 1min30secs pre frame (at 384x288) to an impressive 4
hours... and it's not just part of the image that slows down
the renderer, it's that slow *throughout* the frame...

Well, that's about all i remember about this...
Have fun (and maybe see y'all again in another round)
Markus Altendorff

