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