Blending Time
A Subversive Tutorial
Now on the one hand, Doc Mojo has said that MojoWorld isn't
going to animate anything other than camera fly-throughs
until there's a real interface for animating objects other
than the camera. But on the other hand, he's also said of
the Pro UI, "give'em enough rope!"
That being said, the following tutorial is not for the faint
of heart! It's only for the serious graph monkey who is
interested in getting at some features before they're ready
for public consumption.
The feature in mind of course is the animation of something
other than the camera. This can be done using the Pro UI, a
Blend node and a little node known as Time. This tutorial
will create a sunset by driving the Sun's orbit position
with a function graph.
Note that while the final render will be animated, the RTR
preview will not display these changes because, hey, this
feature isn't hooked up yet! Proceed at your own risk!
-
Launch MojoWorld and Open or Create a planet.
Position the camera and the sun so that
the camera faces where the sun will set, but so that the
sun has not yet set.
-
Open the Sun editor and note the Orbit Position.
-
Move the Orbit Position until the sun sets in the RTR window.
Note the new Orbit Position.
-
Open the Movie panel and record 10 seconds of nothing.
-
In the Sun editor, change the Orbit Position from widget
to function. A Pro-UI function graph editor will open with
a single node labelled Orbit Position.
-
Create a Blend node.
-
Create a Time node.
-
Connect the output of the Blend node to the Orbit Position
node.
-
Connect the output of the Time node to the Blend Value
parameter of the Blend node.
-
Set the Blend Node parameters as follows:
- Blend Low Value - the Orbit Position noted in step 2, DIVIDED by 360
- Blend High Value - the Orbit Position noted in step 3, DIVIDED by 360
- Blend Range Low - 0 (the start of time)
- Blend Range High - 10 (the end of time)
The Orbit Position in the Generator UI displays in values from
0 to 360. In the Pro UI, however, the values for Orbit Position
range from 0 to 1. So, either you can divide the value yourself
and enter that, or create a couple divide nodes and hook them
up to the Blend Low Value and Blend High Value parameters of
the Blend node, put the Orbit Positions in for the first Divide
parameter and 360 in for the second Divide parameter.
The Blend Value is driven by the Time node. Output that will
come from the Time node is the time, in seconds, of the currently
active animation, which in this case will be the 10 seconds of
nothing recorded in step 4. This means that the range of values
which will go into the Blend Value parameter will range from 0 to 10.
When the time of the animation is 0, the Blend Low Value of the
starting Orbit Position is passed to the Orbit Position node.
When the time of the animation is 10, the Blend High Value of the
ending Orbit Position is passed. Anywhere in between and the Blend
node interpolates a value between the Low and High values. The
overall effect is that over the time of the animation, the sun will
move in its orbit.
-
Exit the function graph editor.
-
In the Movie editor, select 'Process Later'.
-
In the Uplink Queue, select the movie item, customise the
parameters as desired and render!
Download the .mjw file (300K)
View the Animation (850K)
Time Versus Spacetime
A note about the difference between the Time and Spacetime nodes -
Time outputs nothing but the time. Spacetime outputs a combination
of the World Position and the Time in the form of a 4-dimensional
vector. Spacetime allows fractals to be animated directly. When a
Spacetime node is used as the Position input, the Input Domain of
the fractal will need to be changed to 4 instead of the default
3 in order to take advantage of the time dimension.
An article by Doc Mojo in
issue
#45 of 3D Artist magazine discusses the animation
of waves in MojoWorld using the Spacetime node as the position
input on the fractal driving the displacement of the water material.
Got the article scanned, View page 1
at 180KB, View page 2 at 200KB.
Back to Generator Tutorials
Home
|