Siggraph 2015 Rewind - Sekani Solomon: Cheating Dynamics with MoGraph and Thinking Particles

Photo of Cineversity

Instructor Cineversity

Share this video
  • Duration: 41:33
  • Views: 12606
  • Made with Release: 16
  • Works with Release: 16 and greater

Thinking Particles and MoGraph combine for artistic dynamics.

Sekani Solomon of Imaginary Forces shows how he animated a dandelion for Dolby using Thinking Particles and MoGraph. Sekani chose to combine these two in order to create an animation they might appear dynamic but offerred him a higher degree of artistic control. Learn how to generate Thinking Particles from a MoGraph Matrix object, and control those particles both through Thinking Particles' nodal interface and with MoGraph effectors.

01:58Dolby Cinema
06:08Generate Thinking Particles from MoGraph Matrix
07:42Cloning Geometry onto Thinking Particles
08:49Adding Dynamic Animation to Particles
12:04Using Effectors to control particles
33:16Motion System
38:04Lighting and Rendering Progression (VRay)



- All right, how's it going guys? My name is Sekani Solomon, I'm a designer, animator at Imaginary Forces. I want to give a big shout out to Maxon because this is my first time at Siggraph. I'm super excited to go show you guys some cool stuff. But before I jump into my presentation, let me just show you some of the work that we do at Imaginary Forces. ♪ [music] ♪ All right. And that's basically what we do at the office. Okay, so today I'm going to be talking about cheating dynamics with MoGraph. And I'm going to talk about one project in particular that I had the opportunity to work on with the amazing director Yance Mebass, but before I jump into that, let me play the spot for you guys. ♪ [music] ♪ So this was a really fun one. This was a combination of different software packages. We used both Maya and Cinema4D for a combination of shots, used X-Particles and a bunch of different things. This was also a 4K stereoscopic job, so it was very demanding on the software. So you know, we had to figure out how to do stereoscopic in Cinema4D and also render at very high resolutions. So the shot we're going to be looking at today is actually this guy. Let me load this other clip, all right. So you're going to be taking a look at this shot specifically, and because the theme of this presentation is faking dynamics with MoGraph, when they first came to me to actually create this shot, I knew from the forefront I didn't want to use dynamics. Dynamics is a little bit difficult to control, it doesn't give me enough artistic direction. So I had to think of a way of creating this thing without using any simulations, and that's where C4D really came in because it's so flexible in the workflow that it gives you the opportunity to create things in a non-typical fashion. So, you know let's just jump straight into C4D. And so first I'm going to start by popping over the original shot that was rendered for the final. This is the final render of the scene. As you can tell there's a lot of stuff going on. But more or less what we're doing here is that we're using thinking particles to build our base animation that you can see right here, and then we're attaching objects onto these particles, and then we're controlling them via MoGraph. So I'm just going to jump into a build-a-file where I'm actually going to recreate and use the method that I used, which is--It's funny also because after the fact, I discovered another way of doing it that just used strictly mograph parameters, with no dynamics needed. So lets just jump straight into it. So the first thing we want to do is start attaching particles to this guy over here. And how we're going to do that, we're going to use the matrix object. So we're going to set this to object, and then we're going to select our bud and we already start seeing stuff happening. We're going to switch this to surface, all right? And we already have stuff cloning onto the surface. And then I'm going to rename our matrix object to "particles." Boom. I'm going to drag this into this thinking particles little setup I have here. But you know what, we don't want matrices, we want thinking particles, and that's where the matrix object comes in, because it has that option right here. So if I turn off the traffic lights, now I'm seeing particles cloned onto my bud, which is exactly what we want. So step number two is that I want to assign these particles to a custom group. And how we do this, we jump into simulate, thinking particle settings, and because I'm going to be going back to this particular tab, I'm just going to dock this right here. I'm going to right-click, I'm going to go to add and make a custom group, and I'm going to call that guy "particles." Let's make it red or something, you know something that really stands out. And now, what's awesome about the matrix object, I can take this particles group, put it right here, and instantly all these particles are assigned to that group. And I could increase the count. And I have, you know fairly good control over it. So now the next step is actually taking this geo of the tendrils if you will, and cloning it onto that bud. So, and you know it's pretty simple. I'm going to create a new cloner, I'm going to drag this down into this petals null, and this has all the geo in it. I'm going to set my cloner to objects and I'm going to drag that particle group into my cloner. So cloners have the ability to also clone onto object groups, not just objects which is pretty cool. You want to change the behavior to standard, because stretch acts a little bit funny. And as you can see, the orientation just does not look right. So I'm going to rotate this maybe about 270 degrees, and okay cool, this is looking like what we want. And if we jump back into our timeline, it's playing and it's more or less holding onto the bud, exactly what we want. So the next step is how do we get these things to blow off? So for anyone that's used thinking particles, you would know that you have to jump into Xpresso to actually give it some actions or some animation. So let's do that. I'm going to jump into Xpresso, and when you're dealing with thinking particles, for it to communicate with any other node, you have to create a P Pass. Here we go. So in that P Pass, you want to also assign which group you're dealing with. And here we want to deal with all our particles group. So we want some wind, we want to blow this guy off. So let's create a new wind node. Thinking particles, dynamic, wind. And I'm going to attach this wind node to our particles. What you also have to do is put a null object, which I'd already built, into our wind, so that it has global coordinates. So now that we've done that... All right, so we have our particles moving, but, ugh this does not look right. So let's keep on building this guy. So if you want to mess with the settings, if you hit the wind node, you have all these settings. So let's drop the strength down to about 50. What else? Let's add a little bit of turbulence to it. So what that's going to do is just reduce how much the wind is blowing. But now we want to stipulate the movements of these tendrils; we want some to blow off, we want some to stay, we want to add it and make it really feel dynamic. And that's when we start adding custom weights to each particle. And how we do that, I'm going to copy this P pass, I'm going to right-click, I'm going to create a new node called "P-Mass", attach it right here, and now I have some new parameters. So when I add mass, it's adding mass to these particles. And I can increase the variation right here, so now each one of my particles has a varied mass. What I also need to do, I need to go back into my wind and turn on the mass dependence so those particles know to have mass on them. So now when I hit play, ah here we go. We see some blowing off, some are staying, and it's beginning to feel a bit more natural, which is exactly, you know what we want. And the really cool thing about this P-mass is that it has this over age gradient, which allows you to determine across the timeline, how much you want this mass to effect those particles. So with this gradient, it's effecting it, it's effecting it, and then everything kind of blows off. Let's hit play. And then everything kind of blows away. So what we've done here is that we've built a base animation, but we want to go a couple steps further and make this feel even more natural. If we go back to our reference, you know when we see things blowing away, there's more randomness to it, things are rotating, so you want to go and add that stuff in. And how we do this, because these clones, and I'm going to call this guy "petals." Because these clones are being cloned with a cloner, it could be effected by MoGraph objects, and with MoGraph you could just keep building auxiliary animations and layers, which gives you so much more flexibility. So if I go to mograph, effector, random...automatically just going to blow everything away, we do not want that. I'm going to call this random effector "spread," because I want it to spread when these particles blow off. So for now I'm going to take the strength down. Actually I'm going to scrub in my timeline, let's give it a little bit more strength, let's stay toward 15. I'm going to reduce the strength. Okay, I see where it is in the timeline. I'm going to increase the strength. I'm just, you know, this is where I get to preview how much I want this to be randomized. And you know it gives you a little bit more artistic control when you're doing this kind of thing. So you know, hmm, I think this is beginning to look pretty good. Okay, but the problem is now, you know when it's here, it's effecting it. And this is where the falloff parameter in our random effector helps us. So I'm going to switch this to liner. I'm going to zoom out. Okay. And what this allows me to do is add this... It's for the... Let me see how I could explain this. It's like, have the random effector spread these tendrils when it moves through this random effector. So the more it goes across, when it goes across this field, it's going to start spreading. And see right now I have it aligned the wrong way, I need to rotate this guy, and then move it here. I'll move it here, and let me just turn off this camera for a bit so it feels less distracting. So you know once its moving through this field, it's beginning to spread. So initially, you know it's at rest. And now when we hit play... And you know maybe I could just shrink this. I could shrink this cloner, I mean this random effector so it effects a little bit more as it passes through. I could increase the turbulence here for a little bit. Go back to my camera, I hit play, and there we go, you know, it's spreading around nicely. This is kind of what we want, so... And the cool thing about this, I could keep building and building and building. So now I want to give it some more random rotation as it's going through that field. And you know you could do it two ways; you could add that rotation in the same random effector, but what I like to do, I like to create a random effector for each step, so I can kind of keep track of what I'm doing. So I could go into effector, random. Make sure it's connected to my cloner object. Perfect. Put that in here. I'm going to call this guy "rotator." Perfect. Now I'm going to add rotation parameter in our random effector, and I'm going to use the same concept. I'm going to give this falloff and I'm going to place this in the exact same area. So I'll make this linear. I'm going to copy all my parameters from my spread, then I'm going to paste it here, and why is it not pasting? Copy. So copy and, oh maybe paste identical. Okay that works. That works. I'm just going to shrink this down...nice. So now when we hit play, they're beginning to rotate as they go through. So you know and I could just keep adding layer and layer and layer and really begin to customize this thing. And also, another thing I want to speak about using this method is the use of groups. If I jump back into my original file, you know I kind of went ham on this thing, I really wanted a lot of control. So what I did, I made custom groups and I applied it on specific parts of the bud. Just get rid of those background dandelions, so our scene could chug a little bit less. Here we go. Yeah, so you know if you look, so it's setup where it has a group here, then a group here, and a group here, so they blow off in stages, and you know I just had a little bit more control over that. In case you guys wanted to see my--the Xpresso setup for this, you know it looks a little bit more complicated, but it's really just the same thing. You know group one, you have the wind you have the p-mass, group two so on and so forth. But you know what? Some of us don't like thinking particles, some of us are just really comfortable using MoGraph. So how about we just ditch thinking particles all together and lets build this thing with MoGraph straight up. This is actually a method I started using after I built this and I was like wow, this is what I should've used before. And it has so many applications that I just keep on using it. So lets just build this guy straight up with MoGraph. So we're just going to take our tendril slash petal over here and drop it into a cloner. If I could find the MoGraph, okay. I'm going to go cloner, come down, going to delete that. I'm going to set this, the mode to objects and then I'm going to drag this bud so, you know it gets things moving a whole lot quicker. I'm going to set this to surface, and I'm going to add a couple more. I'm just going to rotate these guys 270 degrees. And cool. So now, let's just build this thing with straight up MoGraph. So first thing we want to do, we want to use a plane effector, and what that's going to do is tell us what direction we're going to be moving our tendrils. So MoGraph, plane effector, let's bring this y parameter way down. And by default it's going to effect all your clones individually and that's not what we want. We want it to effect the entire group as a whole. So lets switch this to objects, ah here we go. So we want this to move, let's say this way, and we want it to move up a bit. Awesome. And I'm going to play this through, I'm going to wait until the bud blows forward, I'm going to set a keyframe at zero strength and then I'm going to go forward all the way down the timeline and I'm going to move it that way. I'll probably bring it a bit lower down, like so. All right, that looks good to me. So now when I hit play...or maybe I could just move this up a tad. Just a tad more, right. And also you want to make sure that all your keyframes are linear, because we don't want any ramping or anything like that. Uh oh, I'll just need to turn this to automatic mode. That's weird. Oh, there we go. I'm going to need to find my plane, go to the curves, and we're going to make this linear. Okay, nice. Switch it back to standard. So now the tricky thing is, how do we add random weight to each one of these clones? That's exactly what we're going to do. Now this is the awesome part for me, this is the juice of it. If we select these clones and we go back and we create a random effector, we turn off that position parameter, and we move this weight transform slider. What we're doing here is giving each clone custom weight. So now if I select my cloner and I go to transform, display weight, we see that each one of these clones has a random color, which symbolizes the strength of weight that each one has. So now when I hit play, oh. See everything's not being stipulated, because what's important is the order of operation when you're in your cloner object. So you want to make sure that this random, and let's call it "weight" so we keep everything really tidy, is on top. And let's call this one "mover." So you want to make sure the weight is on top and everything else comes below. So I'm going to hit play now. As you can see, everything is kind of being stipulated. But you know, something's not right. This whole group over here is still moving together. And it's cool because we have control over the distribution of weight across all of our nodes. So if I go into my weight and I go into my minimum maximum, and I just bring down this maximum parameter until I see everything moving... Ah here we go. When we press play, then everything kind of moves in a stipulated fashion. Awesome. So you know we have another problem, these guys aren't really moving at all, and we want everything to blow off after a certain point. Once again you know we have a lot of flexibility here. We could just animate our minimum parameter over time, so you know it stays on here. So add a keyframe to our minimum. You know at this point you want everything to be more blown off so we could just move this slider and, you know there you go, we already started moving things off. Perfect. Hit play again and... I think that's looking good. I think I could start it a little bit earlier. All right cool, but you know this still feels really static. And this is where we go about just building upon those layers again. And the awesome part about using weights is that we don't need to use any falloff anymore, we could just add those rotation MoGraph objects. In our cloner, that we're cloning our petals onto...oh. Call this "petals." And you know let's just go back again. Let's do a random effector and let's just bring this down. Let's say 12 each parameter. And what's really nice about is that all you have to do is animate this one slider. So I could be like okay, once everything starts to move I could animate the strength across my timeline, and it you know it starts spreading things out. You know and I can adjust this. And the cool part is if I'm like, eh you know what, I want this to spread a whole lot more and you know I already have things animated, all I have to do is go back into my parameters and increase this. I don't need to re-keyframe anything, really. And you know there you have a little bit more control over things, how things look. You know and it's the same process, you know. I come in, I add like another random effector, I give it rotation. Random, let's give it a little bit of rotation, here and here. Let's animate that same strength slider, zero, let's say maximum about here. And now when we press play, they're not only spreading... Actually we should have this running down the entire timeline. They're also rotating. And you know just adjusting where those keyframes are on the timeline and just doing that kind of stuff gives you so much control, just using MoGraph. But you know, and I'm going to show you also some really cool applications of where I use this technique in another cool spot that I worked on. So, so this is like a little fun project I did in my spare time. It's about this Japanese toy called a kendama, which has a ken and a ball, and the point is to hit that ball on all four spots. So for me I just wanted to make this as ridiculous as possible. I also wanted to give a huge shout-out to Emily Jackson who's in the crowd who did the audio for the piece, and Cooper Skinner who did the sound design. Those guys are amazing, definitely check their stuff out. So I'll just play it. ♪ [music] ♪ Yeah, and my whole thinking behind this piece is just, I'm going to make this as ridiculous as possible. And you know there's a bunch of different places where I applied the technique that I just demonstrated. For example all these leaves that are falling in the background, you know that's all MoGraph. The way they're turning, they have like some natural movement, that's all MoGraph. When these things all break apart, once again that's all MoGraph. Basically, you know when these things break right here, that's all MoGraph. All this breaking around the floor, these little shards over here, and even this huge scene. There's a couple dynamic moves here, but generally it's the same Mograph technique. So I'm going to jump into some of these files and show you guys how I did all this trickery. Trickery. Okay. Which one should I do first? Let's do this one. Okay. All right so this is our first file. You know he's taking off, I really wanted it to feel energetic and ridiculous. If you watch Dragonball Z, you kind of know that feeling. And you know how I went about doing this, if I took off my camera. So I had a bunch of shattered pieces underground. We can't see them. Maybe if I choose object mode but no, they're not showing up. But yeah, we have a bunch of pieces that I shattered. These are all little tiny pieces, and I put them in fracture objects, because fracture objects allows you--allows MoGraph in fact to interact with different pieces or different objects. And you know its just the same setup. If you look at the effectors, you know each one of these has... Oh where's my weight? Oh well. Each one of these have different weight parameters, each one of these clones. And I have, if I could go into my MoGraph, I have this plane effector that's just lifting them up off the ground. And then I have another MoGraph effector that's giving them rotation. Then I have another MoGraph effector that's doing the same thing. So it has a really a lot of practical uses, even when you're doing something like... Let's see. I think this one was really interesting. Yeah this one. As you can see there's a bunch of falloff parameters here. And as we scroll through, and this is really simple, all that's happening is that there's a random effector with falloff that's rotating these pieces that's already on the ground as it's kind of sliding through. But the real trickery I think that's happening is, with these little pieces that's flying out. If I jump into my cloner over here, and I hit effectors, and if I turn off some of these planes and I lift these guys up, I just have a line of little pieces on the ground that are just kind of invisible. And as this guy's sliding through, the same thing is happening. That plane effector is just moving these guys everywhere and just revealing them and you know giving them some kind of movement. And, yeah. Okay I have some time, so I could show you guys some other cool little tricks, which I think are super helpful. So, anyone ever had a problem where they animated something with a bunch of keyframes, and then they wanted to re-time it or remap it right in C4D, but they just did not want to mess with keyframes? There's actually a way to re-time stuff and time remap, just doing it like it's in an editing software. It's pretty amazing. Okay, so say for instance we have this cube. And this cube is going to go from left to right. And let's just pretend for a second that this is a really, really, really complicated animation with a gazillion keyframes that you just do not want to touch. So, what if I wanted this to ramp up, slow down in the middle, and then speed back up at the end, before touching any keyframes? The answer is motion systems. So if I go to animate, add motion clip. You want to make sure to uncheck this remove included animation from original object. So let's uncheck that. And you get this really awesome tag here. If I go into my animation setup and I hit this button, now I have this really awesome clip type thing. And now it's just more-or-less like you're working in an editing software. If I hit cut and connect, hmm, it's in the middle. I'm going to cut it here, I'm going to cut it here. This is the section that I really want to drag out. And I'm going to move this back, stretch this guy out, and I'm going to do the same thing for here. And then I'm just going to play this back. Boom. And it's re-timed No touching of keyframes. But there's a catch with this system. Say for example, you wanted to change the animation of this cube. So I'm going to reanimate this, so... And let me just take this tag off for two seconds. So I'm going to animate it, and I want this cube instead to move up, move across, and then go back down. So this is the new animation that we have for this cube. But when I reapply this motion systems tag, and this is what applies that time remapping to your object, it doesn't want to comply, you know it just keeps doing your original animation. And obviously that's not what we want. So what you have to do is, let's create a new motion clip. Let's jump back into our animation window. Let's call this "clip one." So when we create a new motion clip, we get another motion source and then we have another timeline. So this timeline is generated via the tag. So if I delete this tag, that new timeline disappears. So if you wanted to keep the old edit that you did, use the old tag that you have. But what we got now is this new motion source, which contains the new animation. So if I delete the old motion clip and I use this one, let's call this "clip 2." And see now it says no source. I need to select all these guys and drag clip 2 into our source. Now we re-time with that new animation. Boom. And that's just a really, there's a project in particular that I used this for, which I'm going to be demonstrating at my presentation tomorrow, where it had a gazillion keyframes that I just could not go in and reanimate. And you know the client was very picky and they wanted it in a very specific way, so I had to use this method and it literally saved my life when you're in a crunch. I have a little bit of more time. Let's see what little behind the scenes cool stuff I could show you. Hmm. So for Adobe, I use VRay if you want to see kind of like my development, lighting, texturing, when I was creating and modeling this dandelion flower. You know these are just a couple shots of me building it out, trying to see what works, what lighting works, that kind of thing. This is basically some of the behind the scenes development. I could show you some behind the scenes stuff in Kendama. I've actually been working on this one for a couple months, because I have a full-time job, so its whenever I just find some free time, you know I play around with stuff. This is, again done in VRay for C4D. Oh. And after that phase I went through my style and created some style frames, trying to figure out the look, the lighting, the feel. And this is some of the stuff that I came up with. Okay. So you know what, since I have some time, I'm going to show you guys my work in progress reel. This is my personal reel. It's still a work in progress, but you know what I'm just going to show it anyway. There's going to be a lot of black on the front but just ignore that. So this is some of the projects I've worked on. ♪ [music] ♪ All right, and that's a wrap. If you want to find out anything more about me check and thank you guys so much.
Resume Auto-Scroll?