WWDC2004 Session 731
Transcript
Kind: captions
Language: en
anyway I started with Apple back in
February working on motion and if we
could go to the keynote machine please
motion was developed from the ground up
in OS X it was developed using cocoa and
as such it has all the advantages of the
UNIX architecture and the OpenGL that
goes along with that but it's been a
really great environment to run in and
to develop motion graphics software for
for a number of reasons because we need
real-time performance and motion
graphics we need to see what we're doing
is we're designing it and it's
traditionally been difficult at best to
get that type of performance except on
very expensive hardware so motion out of
the box is set to there we go
Amie Newton students is not here I'm
Kent over hi in case we can miss that
but motion is designed out of the box to
be a really high-end motion graphics
application you can design in real time
you can see what you're doing
as you're doing it which is
unprecedented for the desktop
environment what are motion graphics
used for well the use for titles for
movies titles for DVD and video motion
titles that you would use in DVD Studio
Pro they're also used for lower thirds
which is a common term used in news
graphics and things like documentaries
and where they can up put the person's
name and what they do and how they
related graphics eye candy for raves and
whatnot so some of the advantages of Y
motion is important and we'll start out
first one here is scalable interface we
have a really scalable interface from
basic to advanced what that means is we
sort of unfold the interface as you need
to see it
we don't actually force you to see all
the controls at once so to start off we
have a really simple tool bar sitting
across the top of the canvas which you
can't see you entirely in this image
layer view which allows you to stack and
composite and a file browser which is
really like the Mac OSX finder built
into the application the other side of
the screen we have the canvas which is
always in one screen really which allows
you to see your composites as you work
the dashboard which is your on-screen
controls it's a semi-transparent widget
that is context-sensitive and updates
with controls based on what you're
currently doing and which object you
currently have active have a mini
timeline which is
collapsible so you don't actually have
to see the full-on timeline all the time
sits across the bottom of your workspace
and allows you to see where your objects
currently it is active is sitting in
time as you describe as well and
controls and then of course the full-on
timeline which shows you compositing in
layers our second key feature is
real-time design engine well the
real-time design engine what that allows
you is a dynamic real-time design so you
can see what you're doing as you're
doing it get instant feedback that
accelerates filters so we can see what
filters are doing simultaneously that
even gives us the ability to do live
recording of animations and of course
scalable peelable performance based on
whatever your hardware is so if you've
got a faster graphics card you're going
to see that much better performance next
key feature is behaviors what our
behaviors well behaviors are procedural
based animation they're actually objects
that connect to another object that say
you do this over this time or you do
this over this time and it simple things
from fade in fade out to spinning to
advanced things like simulation
behaviors where we have gravity and wind
interacting collision detection and
things like that and it allows you to
interact with multiple behaviors
simultaneously as you can do in stack
these behaviors we'll go through that a
little later in the presentation
the next key features integration how do
we integrate with the Apple Pro lineup
well it's actually really incredible we
have XML export straight from Final Cut
Pro that will actually save a motion
file from your entire timeline or a
portion of your timeline opens directly
in motion it's not importing it just is
a motion file that opens allows you to
move objects around add text add filters
add different composite modes different
translations to these things and then
you can save that and immediately that
is visible in the Final Cut Pro timeline
the same thing works with DVD Studio Pro
you don't even have to render these
things you can just take it dot emoti on
file and just open that up and DVD
Studio Pro make changes updated
instantly of course we do your final
export to tape or to disk or you're
burning your disk it does the rendering
at the same time so the feature
highlights so I mentioned earlier the
user interface design is rather
innovative we've got a dashboard
Cemetery
parent you probably saw Mac OS X tiger
dashboard that comes with widgets it's a
similar type of interface it's
context-sensitive allows you floating
it's transparent you can move it around
in your debt in your workspace to have
it where you need it and it changes
based on whatever it is you're currently
using so if you're using a scale widget
it changes the scale widget if using a
spin behavior updates with the spin
behavior you see here also we have
on-screen controls for all the
transformation scale rotation so you can
dynamically resize things in the canvas
window gestures are fully supported
which is a tablet based interface any of
you have ever seen a flame artists work
they use a tablet and they're constantly
going like this and the tablet under
what the world they're doing stuff
happening on screen
we support gestures it's using the ink
technology and lets you work in a
full-screen mode where you can actually
have canvas filling your screen and
you're not actually required to have all
your your tools visible if you don't
want to see them and you're working with
a client lives really great technology
and of course we have the keyframe
editor filter effects of course are
important to any graphics application
these days we use hardware accelerated
actually GPU accelerated filters are
very important to motion and they allow
you to see three things like Gaussian
blurs light rays in real time which is
pretty much unprecedented at 30 Hertz in
the past light rays support for After
Effects plugins as well particles is an
integral part of motion they're actually
built-in to the motion engines so
they're they're integrated with the
whole application they're not just an
add-on what that means is it's a sprite
based app of implementation so you
actually have things like movies
graphics files text anything can be
turned into a particle it's actually
really dynamic system we also include
presets for smoke and and sparkles and
things like that
unlimited layering and of course in any
graphics application and once ever
opened a Photoshop file lately from
there their graphics house is seeing you
know 99 layers of things layered over
the top of one another
of course we support that we also
support nested layers which is
incredibly important these days because
blend modes can be very complex and you
can have logos that are painted with ten
layers neck is incorporated with a piece
of footage or something like that
all of those elements can be
independently
animated but in the smallest context we
have a layer list that look forward you
to we position those in the visual queue
templates are we actually ship with
templates we should for the number of
professionally designed templates for
motion and what templates are as you can
see in the animation that's playing here
is just a basic structure that has a
piece of footage that you can import
your own and replace it replace the text
obviously that you see coming in here
you can even save and create and save
your own templates for use if you're
working on a some corporate project that
you need to do so let's go over the
system requirements there admittedly
fairly extensible so what this grid here
shows is what the system what is
actually used by different parts of the
system what is done on the different
parts of the system so the CPU actually
handles our text rendering and handles
our behaviors the graphics processor the
GPU OpenGL handles filters and
compositing and particle effects and RAM
of course is used for faster and better
video playback so more RAM you have the
more layers of video you can have
streaming live so with that in mind the
power Mac system requirements
requirements the minimum requirements
1.6 gigahertz PowerPC g5 best you know
faster the better
duel 2.5 with the 9800 pro XT and 2 to 6
Meg's of RAM just is like sailing on
smooth ice it's amazing the minimum
system requirements for PowerBook which
which you can run on our 1.3 3 gigahertz
PowerPC g4 most of this is because a
graphics card the graphics card the FX
go 5200 will run the effects and the
compositing the pixel shaders that we
actually use in GPU the recommended
system of course the 1.5 gigahertz
because you need the GPU for the the
processing those particles with a 120
negative videogram we even run on a g4
the silver door is a cut off and the
reason for that is it has a fast-enough
AGP bus that allows you to use these
video cards that are shown and before
that the a gp+ wasn't fast
and those cards weren't supported so
motion will be available to summer at
the landmark price of $2.99 so without
any further ado let's move over to
number three and dive into our demos so
some of you might have seen as before on
the web so I'm going to it while I've
seen this the kpl on the website is
anyone in ktl so this will be new to
some people good I'm going to go through
that I'm going to start as I mentioned
earlier user interface get sort of close
from left to right we have a file
browser library and inspector which
allows you to see properties behaviors
filters and objects in the file browser
it's really like the finder so you can
see over here is my hard drive and
desktop and the user folder so I'm
actually looking at my finder here I'm
going to start by dragging in let's
start by dragging in the background the
golden gate standard definition movie
and hit play instantly starts playing
now all this is playing I'm going to
scale it up to my full resolution here
we can of course resize it zoom around
it in real-time while it's playing and
do a key things to it we can even go in
and take the four corner pinning so we
can actually view distortions in real
time as well on the fly fortunately made
it a little too large but if if I didn't
want to do that which I didn't want to I
just want to show you that you can
actually reset those transformations we
set our four corner pins that's all
ready to go back in place reset my scale
now we also support compositing of
course on the fly so I'm going to simply
make a rectangle here it's white
rectangle get this guy going here I'm
going to change the shape to be filled
with the gradient and set my points for
that gradient here make down something
more like that I'm going to scale this
guy up to fill and change it so
get back here there we go Marva okay
like this now of course we don't want it
to be you know completely blocking out
our background image so I can change the
transfer mode as I like by
right-clicking change it to overlay
things like that actually going to
change it back to normal mode here and
go back to my properties tab and change
the blending just take it back to like
29% opaque so I've got that composited
in there if we want to bring in a logo
in this case I'm going to bring in my
channel 8 logo I can just drag and drop
it in from the from the file browser and
it's ready to go if I hit the a key I
can turn on auto record and I can record
an animation live while it's playing
back in real time over the top of it
then of course it starts going around
like crazy on my screen which is not
what I wanted to do so what I'll do is
I'll bring in a predefined Qin Channel
eight animation drop it in over the
position set up to pre animated object
there I've accidentally turned on record
for that so I'll disable that animation
and the animation is still sitting there
by the way it's just been disabled so we
don't actually have to look at it at
conceal position of live on the fly a
very cool feature for anyone who's done
massive amounts of key framing just
wants to turn off the transparency
channel so they can see what they're
doing at frame 1 so in this case I've
got this going here well we can add text
lets them add some text to this go back
to my inspector the subject hang on a
second got into a bit of a state open my
layers list and actually do this
properly make a new layer for my text
behind my layers list again go over here
and type in ka pl8 it's ready to go
it's still annoying me turn off the
disable animation there we go how about
just reset parameters there you go so
now that's ready to go and unfortunately
I appear to a found a bug anyone want to
file a radar for me
there we go okay so I got my object
sitting here so let's bring up the
dashboard and in the dashboard we have
controls for our text again
semi-transparent see all our objects
through it it's all good and fine but
how do we know it's text we want to have
well we can pick the font to this
dynamic pop-up feel free to gas with any
moment there we go so I'm going to go
back here and pick Helvetica neue check
the regular I'm going actually use the
bold font yeah we want to bold change
the size there we can of course change
you know size tracking spacing amounts
things like that so that's ready to go
I'm going to add a simple behavior
called fade in and fade out close that a
little too early now you'll notice we
have frames in and frames out that are
immediately visible for our object down
here again I was saying with context
sensitive you can actually sort through
the stack of behaviors and filters that
are applied to each object in this
fashion so I've got 235 frame in a zero
frame out I'm going to add a behavior
called throw so I can throw this to the
right hand side just by clicking and
dragging you can zoom out get really
crazy with it
zoom that guys here that looks good
about right so I'm going to option click
and drag this guy and I've got two
copies here bring up file browser again
and it certainly closed that set that to
be right justified there so I've got kpl
eight well I want to change this text on
the fly so I'm going to type in San
Francisco right about now there's a joke
about 120 words per minute but that's
someone else's so I'll take that size
down a little bit here change that to
say the light font now the gate back to
my throw behavior and take this on over
to this side now it's throwing in the
opposite direction I can even move that
and get it right position there at any
frame as I go that back down a bit so I
want to start right about there that's
good
okay so now about two different
behaviors they both have the same set of
behaviors on top of it I want to bring
in one show one more text behavior which
is a text behavior specific to text that
lets you animate text how it's drawn on
and things like that so I'm going to
type in evening news and again dismiss
that a little too quickly so change this
to Helvetica I'm going to select this
and change it to bold italic and to that
so a text behavior we can add behaviors
in two ways we can either add them
through this pull down here in the
toolbar or it says text behaviors or we
can add them to the library which is
over here and go to the behaviors tab
and go to text animation and loops text
sequence our text soon at our behind
camera simply drag and drop it onto our
object now you notice when I did that
that there's a little purple bar down
here this purple bar is showing me the
duration of that behavior so if I simply
make that behavior shorter the lives of
zippier for bring up my dashboard I can
change the spread of the the effect so I
can sort of smooth out how those
characters get landed onto the canvas so
that being said let's import our news
anchors because what is the newscast
without news anchors I would say it's
the news feed
anchors as the project oops sorry
anchors SP I'll bring this over here
this is actually a Photoshop file and
notice when I hover for a second it lets
me pick which layers I want to import I
can import them merge so it's a single
layer or I can import all the layers in
this case I'll select all layers we'll
see why in a minute I'm going to scale
this guy use people rather sorry so
they're ready to go and I want to
actually add a fade in and fade out
behavior to these people so what I'm
going to do is open my layers list and
select these three go to my bad behavior
and add a fade in fade out now you'll
notice over my layer list that I have a
fade in fade out behavior for each one
of these it's all ready to go so if I
bring up my dashboard again I can go up
here take the off behavior take the out
behavior
these three okay now it's all ready to
go I could have actually created it once
and duplicated it we'll get into that a
little bit later so go around they'll
bring up my I don't want them all to
come in at the same time so I can
actually go down here my time line and
drag the select Natalie here and let's
let's put Natalie starting about here
let's have Gregory coming in second and
Shandra she'll come in third and I'm
going to bump her up a little bit here
so right now we have these three anchors
they're just sitting there all they do
is fade in and fade out and add a little
bit more dynamic to the piece because it
says motion graphics after all so let's
go and add a simulation behavior of
drift drift attractor and what drift
attractor does will close these up so we
don't have to look at those just a
tractor is a simulation behavior that
allows us to attract objects the thing
that it's applied to so if I turn up the
strength she's really attractive and
everywhere she goes people like to go
suit her and so I'll put her here that's
a little you know if we wanted to we
could actually go in and sometimes you
know depending on your working with you
don't always like those people you might
actually be repulsive to some people so
we could go and add a simulation for
repel from repel rather and everyone
whoa that's a pretty strong behavior
there very strong reaction so as you can
see Monty Python would have loved to
have this back in the day but that's a a
really basic way to add interest to your
projects is to add these things one last
little bit here I've saved a particle
system which you can see over here which
isn't playing so I'm not going to import
it but we'll get into particle systems a
little bit later and how those get
integrated with your project so let's
start let's don't actually minimize it
one of the another great feature of the
OS is the fact that you cannot actually
do that while it's do expose while it's
playing back so let's start with the
basic file browser and I'm going to go
this is not the app you're looking for
going to go back to motion here and zoom
into our file browser
when motion launches as we've been so
gracefully blessed by this demo gods
we're going to start we can have
different options we can view the quick
tours which are available on the web
there's a several available now there's
going to be a bunch more in a short
period of time because they're already
done and just waiting to be published
you can begin with a new tutorial so you
have tutorial things that ship with the
application you can start with the
template which opens a template browser
you can pick the browser for template
from there or start a new project of
course what we want to do by default so
we'll start with this and I'll briefly
show you what's actually in store in the
file browser so the file browser again
shows you all the different formats that
you have here we have a PSD file here we
have a movie file
and you'll notice it instantly starts
playing as we click on it I have an
emitter here which is spitting things
around I can grab the emitter and drag
it around you see it's spitting files
out filters can be stored there to
filter icon actual layers pre composited
and animated layers as you see here
dancing around you can even have a whole
stack of behaviors that can be saved off
as one behavior icon which is a credibly
flexible tool for when you're trying to
reuse elements go into that later as
well
PSD files transformations can also be
saved as well it's a really great tool
so I'm going to start by bringing in the
adobe illustrator file here which is
this logo and this logo is it's actually
W illustrator file W laters format
native format lets you save as a PDF and
we import PDF files as one of the
supported formats so if I go over to my
books go to my transformation tab you'll
see here that when I imported it I
import it with a render it--of rasterize
on the fly turned off which is a feature
that we support so what I want to do is
go back to my media tab here there we go
go back to my media tab I select that
over here in my inspector under the
media we can say turn off fix resolution
and now this is rendering on the fly so
that it will render at the frame rate of
your comp so you can even you know in
real time animate this and just to drive
the point home will sorry about that so
as you can see we've got you know crisp
clean sharp edges anywhere on this
brushstroke PDF file that we've imported
so I'm going to delete that and let's go
to show
that same principle applies of course
how we interpret footage so I bring in
my racecar here and let this play turn
that off so right now my racecar
selecting scene a mini timeline down
here that it ran out of ran out of Road
essentially so the race car is there but
it's obviously not at that same point in
time of the playhead is it wraps around
it's playing back again close the
dashboard for a minute here
so if I go into my media tab I can
adjust that so I can change what how its
interpreted over time the media tab of
course allows us to change things like
the Alpha type whether we invert the
Alpha we multiplied channels and things
like that but the pixel aspect ratio is
field dominance lower/upper things that
nature frame rate and the end condition
says whether we loop ping-pong or hold
so we loop it just keeps repeating
starting at frame 1 ping-pong goes back
and forth
I can even set it to reverse so I've set
this to ping of 2 ping-pong and all
that's left to do now is to extend that
out to the duration there now you'll see
it'll play forwards and backwards as it
goes so the next thing we want to do is
bring over a bring over our logo so we
can show how compositing loads work so
I'll say choose to import all layers you
see my layered list that I have two
different layers here well the channel 8
logo the actual color part was set to
hard light so I can set that to overlay
these of course were set in Photoshop
they weren't set in the application that
just reads the transfer modes and brings
them in direct changes to add and now
I've got as a logo that maybe looks a
bit better in these lighting conditions
and even you know of course support
transformation for these independent
layers as you go so I can move these
guys around I can move them around as a
group but if I've done something
drastically wrong I've done something I
liked and say well I've got this thing
going it's ready to go but this needs
the exact same transformation matrix I
can go and select my position rotation
and scale values and I can actually drag
those over the other object and
instantly
snaps and says yeah let's just use those
so you can actually take an entire
animation thank you it's a really
incredible important feature that I'll
be showing off a couple places we don't
even really talk about that people like
you that probably appreciate it that's
why we we show it here and of course all
of this can be saved off back to the
file browser so I got my file browser
here I want to bring this I'm going to
name this trash mean or thrash me in
this case bring that over here and you
notice instantly I have this pop-ups it
says by the way you're going to put it
over here and now scratch me now what's
really cool about this that's a little
non-obvious is when I click on that it
does start playing back in my preview
window so it knows that even though it's
a composite of these things it's not
rendered to the demo TN files sitting on
my hard drive right now
it's previewing in this window a very
important feature which is how we
preview particles and things like that
so letting that play for a second
actually going to quit here we're
getting a little sluggish so next we're
going to cover some compositing how
transfer modes work with compositing so
to do that I'm going to start by showing
off the layers showing the layer list
here and I'm going to add a simple
square and bring up my parameters for
that in the shape you'll notice my tab
immediately changed to this active
object here and my dashboard also
changed the currently active object so
I'm going to go and right click on a
fill color and I'm going to change this
whoops to red and if I want for those of
you who don't like picking a color from
a gradient you can go there and change
your exact values there so I'm going to
option dupe option click and drag to
duplicate this scale it up a bit here
because that's not the right size scale
this up a bit I'm going this one will be
set to green and this one will be set to
blue right here
so now I want to add a bit of motion to
these so I'm going to have put a sort of
a dummy layer here that's just going to
be I'm just going to call it null and it
will serve as the pivot point for a
orbit behavior which is simulation so I
turn on orbit around and it's notice
over here the behavior tab instantly
comes up and it says object none well
all I have to do is click and drag over
the layer and you'll see this little pop
up the context changes to this arrow I
can drag it to the image well as well so
I get in there and it's ready to go it
instantly starts animating around that
null object so if I select all three
rectangles change the blend mode to add
now you'll see we've got the white you
know they're all actually additive there
so next sorry I need a drink drink music
so while those are running around we can
go in and add a and keep the chord on
that go back in and I want to add a in
my composite project here I add these
four clips of video and I'm going to
drag these into loops their own private
layer not the song by the b-52's set the
out point here
yes you get to listen to all those at
the out point right about just for
demonstration mode so now these will be
playing back shortly in real time so
what happens is as you noticed we have a
little bit of a sluggish hold as we're
loading four clips of video into RAM
simultaneously but now as our frames per
second indicator showing we're playing
back at 30 frames per second once it's
already loaded so I'm going to drag
these files around put these guys here
and I'm going to set another orbit
around I'm actually going to just option
drag this onto this layer and that layer
immediately knows that it's supposed to
reference the exact same object that
it's supposed to orbit around so now I
can go and select different transfer
modes for each of these in this case
I'll select let's set this one to
multiply set this one to oh I don't know
add and set this one to overlay that
eight objects instantly moving around
now since these are orbiting we're
actually updating the simulation in real
time so if I go and I grab one of these
objects I'll just pick something random
here you'll notice that it's drawing the
motion path you see the faint red line
that's being drawn around there and I
can try and grab it while it's moving
and move it around in real time just to
show you that it's not actually cast in
some sort of hardware render that's
completely isolated so with that in mind
in case I hadn't mentioned this is still
beta software so I do have to treat it
with kid gloves every now and then
restarting and talking nicely to it I'll
start with a new project here again
let's talk about filters
so filters again as I mentioned earlier
in our intro filters are gpu-accelerated
so I'm going to bring in a golden wheat
image here which is a point at which is
right about there yeah it's good
actually let's delete that being our
marionette sorry Barry we have our
marionettes dancing happily about here
and this was taken somewhere in San
Francisco I don't know but we can go and
simply at start adding some filters to
this so let's add a Gaussian blur and
you'll see notice that you've got a
kernel size of now 64 and it's I think
slowed down to about 20 frames a second
so please decent kernel size for
Gaussian blur let's delete that outside
the colorized filter under color
correction in the colorize so colorize
is sort of lets you tint your footage
you can of course choose to use the
Apple color picker if you like or you
can use the handy-dandy grab something
from the gradient and you can even set
what the intensity is on that time on
that let's delete that let's go and add
a light raise this and it slows down a
little bit there it's kind of an intense
filter it's got an amount of 200 it's
essentially an additive of motion blur
and take your glow down a little bit not
too bad though for light rays I have to
say and I can even do things like add a
filter a distortion black hole it's cool
huh first one obvious is that move that
point around in real-time zoom in a bit
here so you can see this
so behaviors work in several different
ways I'm sort of bouncing in and out of
what a behaviorism which behaviors work
in different circumstances in this case
I want to go to my beat my inspector and
my filter tab and that center point as
you'll notice is updating over here in
my inspector tab as I drag it around so
so I can actually go and apply what's
called the parameter behavior and apply
randomize to that and now it just gets
kind of crazy and if I want to see that
move around a lot I can change it to
what to change the amount that is 0.5
set it to add and subtract that adds and
subtracts the position maybe take the
frequency down because I don't want to
have a seizure and take the noisiness
down to like canon 0.3 something like
that so this is actually yeah moving
about 22 frames a second something like
that not too shabby
so let's go back to our layers tab here
delete that guy so let's add one another
one here that a line screen under the
stylize filter so go down here not line
art you've seen enough of that line
screen filter it's ready to go
speaking of seizures you can change your
angle on the fly change the scale these
guys contrast stretch and skew it things
like that and I want to actually go back
and add a distortion if I can make drive
the point home that you can stack your
filters in a layer order that actually
makes a difference in this case I have a
twirl above the line art which is has a
very different effect than if I put the
twirl underneath the line art our line
screen rather so I'm either twirling the
line screen or just distorted it or
adding a line screen over that so of
course we give you complete dynamic
control for this and how you can order
your projects that you get the effect
you want
and it's non-destructive so you can go
back into a project and reopen it later
and adjust all your filters and things
so let's cover behaviors a little more
in depth
I'm going to go through and add a series
of behaviors to single object just to
show you how we can stack these
behaviors and they interact with one
go back here I'm going to start by just
using a simple rectangle and I've got
this rectangle here dashboard updates go
and add a fade in fade out behavior so
they hit play it's fading and fade out
we've seen that before nothing new go
back to our throw behavior let's throw
it in the direction you point and drag
you notice there's the red line that
shows you which direction it's going to
go a cool thing about throw behaviors
you can actually duplicate them and run
two on the same object switch back here
in my timeline you see I've trimmed it
actually in the mini timeline but here
it is in the main timeline so if I
select that an option drag it now I've
got two and I can actually have it go in
a different direction you notice now it
shows two different vectors that the
object would be thrown as it goes so
I'll collapse that back up let's add a
spin behavior to this I just simply
click and drag start spinning that's
good
let's go and add a Grove shrink behavior
gross shrink you can either choose to
grow it over time or shrink it over time
and that's pretty cool so let's actually
just do something a little bit more
interesting and maybe add an edge
collision to this project close this
down here leave this in view and under
simulations we have a edge collision
edge collision interacts with the edges
of your screen it doesn't actually have
alpha collision which it's just not
available yet so right now I've it's you
can see that's growing it's running into
an edge you notice my path has changed
it runs into an edge and actually pushes
it around quite a trap squares I can't
get out of your project it's kind of
crazy
but if I go back to my throw and you
know just really whack this out you'll
see it you'll see the beach ball
let's see if it recovers from that all
right this is motion quitting
so the point I'm trying to make here
though is that you can stack these
behaviors they can interact with one
another they can interact with the
project as a whole or things on layers
and we can actually apply them in
several different ways that makes it a
little bit more interesting so let's
start with that I'm going to anyone
remember the game super breakout back in
the day okay I'm not the only old one
here it's good to know so I'm going to
start with this is motion because it's
my favorite phrase I like to type over
and over again and paste whoops space
goes okay okay great we've got a super
breakout blocks and of course we need
our protagonist which is the super
breakout blocks ready to go
turn off that go to the head of my
project I'm going to zoom out just a
little bit here and turn off the
dashboard because it's in the way at the
moment go up here get it ready to go if
I turn on record and just wiggle this
object it's recording the parameters for
the position right now because I put the
only thing I touched in the project auto
record lets you record any parameter
that you're that you move at any given
time so you don't have to have to think
well did I set a keyframe at the
beginning of the project or anything
like that just that just knows you know
oh you want me to record that animation
it's ready to go so I've got my position
up here and I'm going to go a little bit
forward in time drag this down here go a
bit forward in time and just make a
general sort of whoops yeah make a
general sort of if I was super breakout
where would I be going we'll go up here
and down to here set my op point so now
I've got this object moving along kind
of weights over there for a second
thinking about things the zips around
comes over here it's ready to go so I
don't actually want to see my super
breakout character right now I'm going
to select my vistas motion super
breakout block and go and add a
simulation called repel from right down
here so when I do that I go back to my
whoops inspector and behavior is
instantly available effect objects means
that it's going to affect all the
objects that it's attached to
it's set to none right now doesn't know
what it's looking for the super breakout
block is still of course moving around
the object that I just turned off I'm
going to set my strength to a thousand
because I'm feeling crazy take my
influence and that's the influence of
the region of you know how repulsive am
I for how long how far do I stink and
then that's all set up ready to go but
it doesn't have anything to repel from
until I drag that down there and then it
goes down and it continues to break
those things out so if I had to keyframe
this thing call me in a week
I mean it really is amazing to see that
it's that simple to to do something like
that if I want to of driving the point
home again go back to our behaviors and
drag in our friends drive to ball if I
want use a start ball instead of our
protagonist the rectangle because he's
been replaced by the next generation of
the game I could go in and bring that
ball in and I say well I've already got
my rectangle animated but the ball now
needs the same animation because we're
just swapping the character here so I go
to my inspector tab and I grab the
position I drag it on the ball and the
ball is instantly the thing that's now
pushing things out of the way so it's
actually still referencing the previous
rectangle that we just won't tell our
users
oh I mean our customers of the game so
that's super breakout but let's do
something a little bit more you know
obvious like I've got to do a title
animation for a kids a book that's being
made into a show and it will animated
feature and it's called who's afraid of
the dark but a little ghost who's
playful and help this girl get over her
fear of the dark and so I'm going to
start this new project and a little
title it do a little title animation
here without harming any keyframes in
the process so start out here I'm going
to bring the whoops ball back into the
project so the ball is ready to go I'm
going to make a ghost this is going to
be my ghost my ghost object here don't
really character can't see you guys it's
just going to be square so I've got the
square here and I want the ball to be
attracted to the square as if the square
is magically dragging it around the
canvas
so I've got my my square ready to go
I've got my ball and I'm going to add a
simulation behavior called attracted to
so when I hit play nothing happens and
all the reason nothing happens is
because it's doesn't know what it's
attracted to because it has a problem
with that so I drag that and as you can
see whoops as I drag this object around
what's actually happening is the
alignment guides are on so while you're
seeing the yellow bouncing around that I
just turn that off
the reason the ball is has this jumpy
behavior is actually if something it's
really cool and it's really non obvious
but those of you who are programming
it's actually calculating from the
beginning of the point in time to that
current point in time what the
simulation is on the fly that fast so
it's not that impressive right here it
is a single ball right but it's actually
recasting the simulation it's even more
impressive to see it run on particles
because it's pretty fast
obviously the longer it has to cache
longer has to figure out just put all
those points but so I'm going to go in
here I don't want to actually harm any
keyframes in the process of making my
project so I'm going to go to my
behaviors of scuse me my project tab and
I'm going to apply a randomized behavior
you'll notice that parameter behaviors
which is what these are right click on
these objects you have things like
oscillate ramps and things like that
I'll to see the randomize and you notice
that instantly it goes into a frenzy I
can make that friends even greater by
changing this to add and subtract and
ramping that out and now my ghost is
going all over the ball in the balls
kind of sluggish it doesn't quite know
where to go so let's do something about
that because it's not quite as
impressive as I wanted yet so I'll go
back here change the frequency down to
1.0 and changes to about 0.35 which
gives a little bit more of a same thing
and the reason this is important the
reason procedural animation is important
in this case is that I need a random
path that this thing is supposed to go
around because I want this ball to look
like it's being you know played with and
toyed with if I had a keyframe an object
for it to do all that way we're taking
hours so I have this randomize behavior
already applied to this by clicking the
generate speed button you can see that
the it instantly has a different path
simple as that so if I go back to my
randomize behavior when it changes to
about 5
thirty which is the distance that it
goes around and leave those alone I need
the answer to life the universe and
everything thank you so with the
randomized behavior there and I've got a
pass I sort of like my balls kind of
going off drifting off and where it
wants to don't want it to quite go so
far away I'm going to change the
attractiveness to five hundred so it's
really looking hard for that object and
the influence going to leave it a
thousand that change the drag to about
one point three so now it's keeps up
with the object a little bit more since
I have some drag applied to it sorry I
need a drink go fullscreen this behavior
path the red path that is being it's
drawn on the fly is really important of
course when you're working with
simulations because you need to see
where the objects are going to go so
that objects is going around I want to
add a edge collision to actually keep
this thing inside the frame so now if I
turn off my ghost so we don't have to
see them because you don't have x-ray
vision we have this ball bouncing around
the room and it's trying to get out of
the room and it looks like sort of being
thrown around this guy well that's
pretty cool well the ball looks good but
it doesn't have much depth yet so I'm
going to actually duplicate my
randomized by option dragging it in the
layer list and you'll notice I have
randomized copy here well if I delete
this I call it R and scale so I'm not
going to actually apply this to the
scale parameter so over here in my
behaviors stack which is in under the
behaviors tab I can go and say well
instead of being applied to none why
don't you actually do something with
your life and get a job and apply it to
the all now immediately what happens is
it's bouncing all over the place and
looking all crazy because I don't have
the X and y values links so I click them
and I link them and now it's just kind
of going to town five hundred thirty
percent is a lot to change the scale so
I'm going to change it to 80 percent and
I'm going to set it to subtract so now
it's a little bit more stained so it
looks like it's going back in space a
little bit bouncing around the frame I
want to give it one more cue and I'm
going to actually add a depth cue and
I'm
just add up cavity to the stack randall
pasady here and click on that guy I'm
going to go and apply that property to
the blending of the opacity change its
value to 80% so it's subtracting 80%
from that of course this is against a
black frame I could have picked another
way to change it but this is the fastest
way to show and now as it goes back in
the room it looks a bit more like it's
getting darker as it goes back and away
from us so that's all didn't fine let's
add one more behavior to this because we
can I'm going to say snap alignment to
motion which as you can see here what
it's doing is it's flipping the ball
around in the direction that it's
heading as it goes that direction so now
I've got my second like five different
behaviors applied to an object that are
all interacting with one another and
contributing to the look of this this
this ball and giving it some character
so I would need to actually stop it at
some point because I have to get text
sorry about that I need to actually get
some text in here and have the the ball
needs to calm down the ghost needs to
just chill for a bit so what I'm going
to do is apply a stop behavior and go
over to two seconds and apply a stop
behavior whoops sorry
apply a stop behavior to my rectangles
position knowing the property tab and
apply a stop and so what stop does it
just says stop don't do anything just
stay wherever you are and don't do the
thing it can be applied to any parameter
so if it sort of stops the simulation in
this case so I want to go to the out
point and actually drag this excuse me
let's go to four seconds that's where
you go hit the out point and so now what
happens is I'll turn this back on and
zoom out a bit and see it actually wraps
back around here at the beginning it
goes down and it just stops just says
huh okay and the ball still tries to get
to it and I goes oh I'm coming back for
you so the great way to get objects to
stop their simulations
so next let's add some text to our
project I'm going to go over here
actually add a new layer because we need
a new layer to control our text click
over here type in the title of our piece
that's our piece go and pick a font want
to pick American typewriter up here at
the top come on there we go the regular
weight size looks good ready to go okay
so don't want the text coming on at the
beginning so I'm going to go down here
to about the two second point and set
the end point by hitting the i key
instantly snaps to that point in time so
there you go but I actually want to
bring it in using a behavior so using a
text behavior as I showed earlier I'm
going to use behind camera because it's
the fastest way to show it change the
duration to about there so now my text
flies in looking all really cool change
the spacing of my behavior change the
spread parameter there we go looks good
now I want to actually have the ball
break out my tasks like I did in the
super breakout project so to do that I'm
going to add a repel from behavior under
simulations repel from now it's in my
stack of behaviors it's ready to go but
it doesn't have any of the values I need
in it and changed its strength to 1,000
let's change that to 1,000 these fall
off rate influence down to about 50 and
this is where it's really important to
know what your simulation is doing at
the end of your frame to see right here
at the end of my project there's one
letter left standing and I don't want
that letter left standing so the way to
find out how to remedy that is to go to
the end of my project
there we go okay so now I know that at
the end of my my object it's going to go
all the way it's going to get crazy here
who's afraid of the urk hmm we got to
fix that so in order to fix that boom
takes out the plastic characters in
order to fix that the repelled behavior
is a point in time it's set by default
to the length of your object so I
actually want to go grab this guy and
say well where did it mess up some
reason when it lands there those aren't
showing up so maybe if I go and I slide
this oh there they go they popped back
on so now those are ready to go now it
goes and it takes out all the characters
don't take the last you out of it so I
want to keep them in frame I'm going to
apply a simulation edge collision now
they're just going to bounce off the
edges let's add a yeah it's looking good
we can actually go and add a drag if we
don't want to see them go quite so far
so I'll add a simulation drag behavior
and change this down to about I don't
know value of 0.7 that's good and I can
even tell that text so that the
simulation aligned the motion so that as
they're bounced around the canvas you'll
see here that they actually go to the
direction that they're headed as they
bounce off the walls and things it's a
great way to do a title animation not a
single keyframe
thank you for that all right moving on
so let's talk about text sequence
behaviors a bit after I launch the
application text sequence behaviors
again we saw a brief example of the
behind camera and the behind behind
camera is actually a really simple you
know draw it on as if it's text coming
from a typewriter and being thrown onto
your canvas it's really obvious
the most straightforward we should put a
number of text behaviors by default go
back into our library you can see that
under or actually under the behaviors
tab actually get some text here a little
bit of a longer phrase so you can see
what we're doing for dashboard so we
have a number of different types of text
behaviors basic sequences in from last
text animation scrolling ups going down
text tracking or just tracks over time
you know change the rate of how that's
applied go and add some text glow
behaviors beam-out kind of fun wait till
it kids in the beginning there there we
go those down a bit with blurs you can
add a number of these types of things I
added the behind camera but there's a
number ways you can actually build these
on your own absolutely I'm going to show
you how to build one rather than just
talking about them all so I'm going to
go to text animation and add a sequence
behavior to this object so now by
default again the sequence behavior is
the duration of my object and since we
don't want to sit around for 10 seconds
waiting for that to draw let's go ahead
and shorten the duration or behavior and
set our out points we can see this loop
back around as we go now go to my
behaviors tab over here in the inspector
you'll see that the sequence behavior
doesn't have anything in it it allows
you to add any parameter that's
available for your text under the
outlines opacities the gloves drop
shadows any of those can be animated in
the sequence so I'm going to start by
adding the position parameter and crank
this up to a value of 200 so right now
we have the our sequences moving to
the object is isolated to a narrow
region which is the character if I
change that spread you can change it so
it's more of a vibrant thing you can
even change it so that it repeats during
through the duration of that you can set
it to ping pong so it goes back and
forth so I'll leave it here on ramp and
take it back to one but change it to all
now it's the type of behavior which is
what we saw in the behind camera which
is where the object is ramped through as
it goes so I'm going to take this to a
negative 50 and I'm going to add another
whoops you know there we go
I'm going to add a scale parameter to
this and crank up the scale the 600 now
it looks all nice and ugly at the
beginning and something we can read it
but let's add maybe the face opacity so
we can see this thing go transparent and
land like that
that's basic premise of how this was
created the behind camera parameter and
as you'll notice the sequence behaviors
just can be dragged in time we can set
the in and the out points so it takes
even longer to reveal or even less time
to reveal it appear there we can even
add something like side of the face blur
just so we can see how that pans out and
ice depth of field look as the text
comes in so that is our basic text
sequence behaviors is this clock down
here right okay gonna be a short demo
let's move on to particles so particles
in motion we ship the number of presets
that are ready to use straight out of
the bag and those are really easy to
apply via the library get onto our
particle emitters we can click on it and
we instantly see in the playback up here
we have different categories abstract
nature smoke and sparkles sparkles being
the most fun of it all because there we
go because of course we all you know
like to play in the Magic Kingdom
so again when I drag this in by default
it's a it's it doesn't have any
animation applied to it so it doesn't
know where to go so if I go to the
beginning of my project and turn on
record keys and set it there now it's
going to go from there there over my
time and you can see my particle system
is being drawn on the fly make a new
project here and go back to my file
browser go to my particles folder and
grab some source so I'm going to grab a
guide like the pinch grab and I'll show
you how these are built from the start
it's really easy to make a particle you
drag on a piece of footage and you click
make particles and you instantly have
particles so that's how easy it is to
make particles of course it gets a lot
more sophisticated than that run over
those controls for you in the emitter
control of which there's a there's
different cells that can be applied you
can actually have different types of
particles living under the same emitter
the emitter is where you control what
type of emitter you have you can have a
line so you can have things being
emitted from a line a circle a fixed
circle geometry sort of sort of a rod of
shape you can have it being emitted from
a line of Ezzy a spline and also an
image you can use an image alpha channel
as the source for the emitter so I'm
going to go down here you see we have a
birthrate that controls how many
particles come out you have a birthrate
range you can have it be sort of erratic
it can take that into zero and out sort
of spits particles out when I feels like
it change the initial number change the
life a life is the duration of how long
a particle last change the life range so
that some particles last longer than
others and some don't last very long at
all
there you go things like speed range so
some particles can go faster than others
particles can go in different directions
it's really great sort of like starfield
thing we have some particles going at
different speeds a scale range which
allows you to change the overall you
know some particles are big some are
small click on generate your random seed
so you get a random seed variation of
all these as you go if we want to change
our color we can change our color really
simply by going using several different
color modes if we use an over life mode
now as the particles get older we'll
change this to a value of 3 so you can
see the the particles that are red
should actually be inverse for those of
the astronomy buffs among us start out
as a nice blue neutron star and go to
red you know whatever but anyway the you
can turn on added a blend mode which
gives you more of a glowy effect if I go
and simply add a private point home they
go and add a middle not here and make
that green now we have this nice sort of
glowing star field sort of thing going
on much more glowy effect show how these
interact with interact with your
simulation behaviors I'm going to go
here really fast since we're running out
of time and add a under my properties
tab at a randomize back to behaviors
crank that up
there we go and then select that and say
add behavior simulations attracted to
simply just drag that guy over it now
the particles are trying to get to it
not a very strong attraction so let's
crank that up and put the drag it's
about point seven there you go it's
looking good turn off my rectangle a
little too hyper there you go that's a
little bit better
close off my dashboard is that go
fullscreen and that's about all the time
that we have