Siggraph 2015 Rewind - Casey Hupke: C4D with X-Particles and TurbulenceFD

Photo of Cineversity

Instructor Cineversity

Share this video
  • Duration: 52:44
  • Views: 16493
  • Made with Release: 16
  • Works with Release: 16 and greater

X-Particles Constraints, Skinner, Wet Maps and Flip Solver combine with Turbulence:FD to create a lava flow.

Casey Hupke demonstrates the "X-Particles B-Sides", recreating a lava flow using the C4D plugins X-Particles and Turbulence FD.Casey digs deep into X-Particles Constraints and shows how they combine with the Skinner, Flip Solver, Wet Maps and Turbulence:FD to create the fluid lava effect and surrounding flames.

02:32Octane Layer Shader Support
04:57X-Particles Constraints
11:51Lava Stream
13:09Modeling a Rock with Displacer
16:54XP Constraints Basics
23:32XP Turbulence
26:03XP Constraints Custom Compression and Expansion
27:31XP Skinner
29:06Speed-based Particle Color
35:03XP Wet Maps
37:56Turbulence FD
44:16XP Domain (Flip Solver)
50:19Final Surfacing



- [Casey] Hey! Thanks again to Maxon for letting me come out to another one of these. I am always filled with a great sense of pride to be considered worthy of presenting next to all these people that have done, rightly so, more than I could possibly imagine doing. Like following Cantina's their work is so impressive. You guys want to see some of my work? A bud of mine, Adam Elder, just cut this reel for me and we're going to watch it together guys. I finally have a reel that's 60 seconds and looks like an editor did it and it doesn't have weird, off musical edits that I normally have and I'm super happy to have it. So, let's go ahead and watch my reel so you can see some of the junk that I've worked on. I'm just kidding it's not junk. ♪ [music] ♪ Yay! Thank you so much Adam, I love my new reel. Yeah, so like I said, my name's Casey. I live here in Los Angeles, the city that never sleeps. That's not right. The city of lights. No. Whatever, it's home and I love it. And I'm so happy every time Cigraph is in this town, because it brings a lot of the creatives from outside of LA to LA, and we get to meet and mingle and stuff and they get to tell us, “oh, LA sucks. ” But this isn't LA guys this is downtown. So yeah, let's go ahead and get into some presentation stuff. I'm going to do a few different things, a lot of it's going to be X-Particles-based, with a little bit of TurbulenceFD. Okay, so my Octane piece that I'm going to be talking about right now is just something that I kind of have hodgepodged together from working with a few other artists that use Octane, and some stuff that I figured out on my own. And one of the things is the Octane--I'm going to hit shift-C really quick and open up the network. Oh, that's the Arnold Shader network, sorry. Let's go up here to objects, node editor. And I'm going to select this material and hit get active matte. And this is going to bring me into the Octane renderer, standard--or nodal texturing workflow. And if you guys aren't familiar with Octane, it's a render engine that runs off of NVidia GPUs. It basically uses all those CUDA cores that otherwise go unused unless you're playing a video game to render things super, super fast. And it's really powerful, it scales really well with Cinema, and the bridge between Octane and Cinema is the nicest that I've used. It's a renderer that I use on a daily basis. And here's just one little thing that I wanted to show before I get into my other thing that I found out, that I don't know if it's working as intended or if it's just something that got snuck in. So if we go and look here, I have my little sphere. And you know, we spin the thing around and look, oh Octane's rendering so fast, such a bumpy sphere. And then I go ahead and clear this, it goes back to smooth, and now if I go into...and I add a layer, what we're going to notice is that suddenly there's a layer box here. This is not one of the regularly offered channels that you can use inside of Octane's nodal network. So now we can go inside and add layered noises, you know we can sneak in a whole bunch of other C4D shaders, that aren't normally supported, I guess would be the term. But yeah I just thought I would show you guys this, so I covered the base of Octane render for you. Now let's go on to my actual presentation. It's not on Octane, but that was an Octane tip. So we're going to be talking about what I consider, and for no other reason other than just people don't really talk about it much, are kind of like the B sides or the deep cuts of X-Particles. It's stuff that not a lot of people use, maybe because they don't understand it, or maybe because they just don't need it or don't think they need it. But, well, what I want to start off talking about is a little guy called the XP constraints; physical dynamic object. What constraints are, is basically they are a relationship between particles. When I--let me start a new scene here real quick just to show you a setup. Throughout the presentation I'm going to be grabbing objects from the menu up here, or in X-Particles creating things from their system node or using this handy, handy feature in Cinema, one of the unsung heroes; the commander. When you hit shift-C in cinema and start typing, you know typing something logical like cloner, it will pop up for you. If you use other applications with quick access object creation like this than this will be very familiar to you, but if you're used to applications like, you know Photoshop, Illustrator, After Effects, things that don't have menus like this, this'll be something new. But it's super handy and it lets you kind of... I mean it speeds my workflow up dramatically, like when I'm at home I just, I'm like null. Even though in my UI I have a null right here in the object manager, I still type shift-C-null. I'd rather feel kind of hack-y. Not hack-y, but like a hacker. All right so let's delete that null. We've created an emitter, and one thing that I've noticed when I created this emitter was it didn't make a particle group for me, and that sort of bugs me. So I'm going to go ahead and hit command-E to go into my preference pane. I'm going to go down to X-Particles, and I'm going to scroll down. And I'm going to change a couple little check boxes here, and I'm going to go ahead and turn these off afterwards so I don't mess anyone up that comes on after this and doesn't want to have their X-Particles function this way. I'm going to click emitter auto create new group, and random color on creation. The random color on creation is strictly for the X-Particles group null, or the X-Particles group object in the object bin. It'll just give it a different color. I'm going to increase this brightness a little bit. And then close this. I'm going to delete this emitter and then from my X-Particles system that you can create by going X-Particles, System, or shift-c System, any of those will work to get it. I'm going to click on this emitter, and hit create emitter. And you're going to notice that within groups I now have this really cool salmon-colored particle group one. And particle group one is an appropriate name for group one. We'll just keep it that. XP Emitter, we have it, it's all set up. If I hit F8, we can see we have particles that are completely invisible to you guys that are watching on C4D Live or Slack or in-person most importantly. So I'm going to go ahead and go to display, and I'm going to change the display type, oh here we go. They updated X-Particles since last I demoed on this station. I'm going to change this to gradient parameter from emitter, and I'm going to change this to spheres. Okay. Slightly better, but I'm going to need to increase the radius. Someone changed the world scale to inches in here. That's going to drive me nuts. Okay, cool, now we can kind of see the particles. Now to demonstrate constraints, what I'd like to do and Opengl on OSX is pretty slow so I'm going to actually make these circles. Yeah there we go, that feels good. We can see those, right? We can see them? Everyone's good? Okay. Okay, particles are functioning. Now let's learn what a constraint is, what the XP constraint object does. So we have a simple system with a basic emitter, and I'm going to create a constraints object. It is a dynamic object, you can tell because it's sharing the same pink color. And even the icon itself, if I can... option-shift-command...option-shift... I can't remember how to do that OSX assisted thing, where you... Oh it's deactivated? Oh, okay. Yeah. I was going to do that cool thing where I can zoom enhance in on this for you guys. But what this little icon shows is two dots, I believe those represent particles, and then a little squiggly line between them. And that means that the two particles are being held together by some kind of constraint. So if we create some connections, let's say connect at birth. So first let's go ahead and hit F8 and play, watch our particles go. You can see that they're changing over their age. Let's go ahead and hit connect at birth and watch how our stream changes. You're going to see that we start getting a little bit of movement, because the particles are pushing each other now. Now there's this link between the particles that sort of binds them together. So if I were to go to my particle group and add some variation in the speed, now we're going to start seeing just a little bit of movement start happening, almost like a bunch of bubbles in line, kind of pushing each other. And what I do with constraints a lot is sort of create a refining system for my fluid simulations. So if I go ahead and enable some custom parameters, and increase my compression, I can have my particles sort of squish, and have my stream get a little bit thinner, and they kind of stick together. So if I go ahead and make a sphere, drag this over here, hit shift-C while I have this sphere selected and hit XP collider. Now when we see the particles hit this sphere, we're going to have like this gloopy buildup of particles that, without constraints, the particles would just bounce off of this into space. So we've created this sort of cohesive bond between the particles that has, sort of a kinetic bounce and kinetic movement that is often indicative of like a viscous fluid or like a honey or a toothpaste if you would. And what we're going to do with these guiding principles is create a lava stream. So let me go ahead and open up some renders and show you guys what we're going to make today. I whipped these up a little while ago, just as something that would explain a few small niche things. But let's go ahead and hit loop on this. So today, this wasn't done with Octane this was just done in Cinema's standard renderer. But we have our lava, we have it pouring down, we have it interacting with the rocks, we've got some flames that are building up from the floor, and CEOs hate him, but he's going to show you how to do this folks. Let's go ahead and hop into that file that I have created. We've got volcano system two. I'm going to... Do I want to run through this like that, or... ? Okay, let's go ahead and go back to my other file first. And let's go ahead and start building towards the other file, and then we'll move into that file as we get closer, just so I can show you guys incremental changes along the way that get us to that final result. So I'm going to delete this... Nah we can keep that sphere. That sphere can represent a rock. So we want this sphere to look like a rock. Let's create a displacer. So sometimes I use shift-C to get an object, because it's easy. But sometimes I use shift-c commander to find an object that I've completely forgotten where it exists because I use commander so much. So, please don't ever take it away from me Cinema. Okay, so we've added our displacer object. I'm going to pass a shader to it, I'm going to give it a noise shader. And it's going to add some bumpiness to the rock itself because this displacer object is taking these black and white values from the noise shader and applying them to the surface. This is something that sort of bothers me when I'm working in a physical environment or trying to create any kind of physical based simulation involving the sphere, is the sphere, by design has this little cap on the top. So I like to try to use other types of spheres when I work that have more linear dimensions and less, like, poly bunching as we'll call it. So octahedron I use strictly on name alone. I like octopuses, name's close enough. So octahedron, that's the one that I like to use. And then under displacer object, right now we just have noise. I can click this awesome, I think Thanassis, he mentioned that Cinema devs love to hide all the best features in Cinema in tiny triangles that sometimes float off of your UI. So here's another great example of Cinema 4D developers hiding the best features; our noises. And at a glance we can look at them and do what I like to do, judge books by their cover. So you can look at all these and see which one of these noise patterns is most representative of how we want the surface of our rock to look. That one, sure. So I've chosen that one, but it still just looks kind of like noise, it doesn't have any real like rockiness to it. So what I want to do, I could make another displacer, and you know, that way adding another shading or whatever, I can add a different type of noise in here. And that's a totally fine way to change this up. I can shift the order of operations here to make them look, make it have a different shape. But what I want to do actually is get us used to using the layer mode inside, or the layer shader. And if I go inside here and hit noise, noise, and then go inside each one of these and pick a new noise for each one, after I've picked a new noise and I see how it is and that I like it, I can go ahead and multiply it, screen it, overlay it, what have you. I'm just going to do a mix of blending modes here and quickly change a few of these from their defaults, because nobody likes defaults. So let's go ahead and bring this down just a little bit. Currently we're looking at about a negative...okay, cool. So there's this little jaggy right here that kind of bugs me, let's just go ahead and turn the strength down, see if that... All right cool we've got a little round rock. It's a..probably like a geode or something. Why else would it be round like that? So we've got a rock, and it's a collider. One thing, currently our particles just blast at this thing, for playback I'm just going to go ahead and turn off the constraints. So we've got our particles, they're moving, there's a lot of variation. Something that you'll see if you've ever worked with me or if you've ever... I'm just going to go ahead and move this emitter up to the top, so it pours down like the render. I'm going to go ahead and make sure I keep these open so we can look back at them and I can point out certain things along the way. All right so I'm taking my emitter, inside Cinema you can hit F1-2-3-4-5 to change views, but I don't know, I never really adapted to working like that. I kind of always move myself around in one big camera view, like I kind of like feeling more like a director that way, just feels a little bit more natural to me. I don't know why, I mean some people give me crap all the time for not going orthographic or front or top or side. And I do it sometimes but honestly most of the time I just like working in one big window. So our particle speed, throwing them down, they're bouncing off. We don't have any gravity though. So let's go ahead and go to our modifiers, let's choose a motion modifier and create gravity. Gravity's going to default to...hold on. Guys, real talk. Centimeters. Inches, what a flawed system. I'm six king's feet tall. So right, we've got gravity. It's functioning at 981 centimeters per frame. And that's because that's what gravity is, that's the mathematical force behind the apple that dropped on that guy's head and said you know, gravity; it's what's up. I'm going to go ahead and make a plane. I'm going to scale this up. I'm going to go ahead and create a XP Collider tag on there. The commander's also really smart too. As you start to use things more and more those things will start to shift up to the top, so that's another really cool feature of it. Let's hit play. We've got a lot of bounce. We don't really need that much bounce, so I'm going to go ahead and turn the bounce down to, like 32. And inside of both of these collider tags, what I'm going to do is add a little bit of variation, because there's something about animations to me that it's all about the many different layers and the little sub-things that are there that your brain or eye might not necessarily pick up off on first viewing. But to me, like all the levels of randomness and variation and subtle changes that you have in your piece, those are the things that people are unknowingly choosing to like the animation because of. They're seeing--it's what they're not seeing, you know? To paraphrase Paul F. Tompkins' jazz stand-up bit. Okay, so I like the way these are falling. This feels good. It doesn't feel like lava in the least right now because, well we don't have constraints, we don't have fluid properties, and we don't have any friction going on with the particles themselves. So I'm going to hit play, okay our gravity's looking good, we've got variation and everything and our bounce. So let's go ahead and bring back the XP Constraints, and drag it into our dynamic group. I'm going to connect this at birth, and for now I'm going to keep the connection limit at eight. You can see kind of we get this immediate gloopy-ness, and this bounciness. One way that we can kind of combat the bounciness and how fast they kind of slip across the floor, is by taking in our plane object's collider tag and increasing the friction. And if you guys haven't used X-Particles before, one thing that I like to do when I'm learning something is dramatically change values to see what the effect is. So if I was at 1% and I knew that that just wasn't enough at all, you know I could go to five and or you know four rather, or six and see how it goes. But I much prefer to go 100%, 0% just to see, you know like this should be nothing at all.and look as advertised, nothing. So I'm going to go ahead and bring it back down to half-cock to 46% and that looks pretty okay to me, I think they can slide a little bit more. Yes. Okay. And now you can see that we have groupings of particles, clusters of particles that are kind of hanging out together in their own little pools. And we don't want that. So in our constraints object, we are going to increase our connection limit to 32 for now. Which is a bit much, but it's going to allow the particles themselves to fall and sort of froth. And most importantly we're going to start seeing particles build up over each other and start flowing forward. And that's kind of, if you ever look at the way lava moves you know it kind of pours and then it'll cool and then you know lava goes over it again and then it'll cool and it'll go over it again. And there's all these little incremental changes that happen as the fluid temperature increases or decreases. And there are perfectly physically accurate ways that we could simulate actual functioning lava in X-Particles using the domain object and temperature values, and all that, like, super advanced stuff that we could get into. But I think if it looks and feels right, it's just as good as the physical base anyway. I've never worked on a physical-based job that needed to have such scientifically accurate physical animations that it warranted spending so much time researching to finite-tune something like that. Just never happens. So if it looks good and it feels good, then it's good. Unless it's bad; then it's bad. But generally it's going to be good. So we have our particles, they're starting to fall they're starting to clump. One thing that we need a little bit more of is time. So I'm going to increase the frame range that we have here so we can let the particles move along a little bit more. I think the friction on the floor is sort of causing this particle simulation to not move as much as it could. So let's go ahead and decrease the friction to about 10%. Okay cool now we're getting a little bit more roiling. So there's something else that we're going to need to add to this scene, and we're going to need to add this object, or this modifier, or this effector, however you want to remember what these things are called. We're going to need to add it to every particle scene we ever do, it's a modifier called turbulence. So let's go ahead and create a turbulence modifier. And what I want this turbulence modifier to do is just to sort of help the lava move along, help it have some extra inertia, extra push that can cause it to just sort of lunge and lurch forward. So I'm going to make a small scale. I'm going to have it be about 24% and then I'm going to go ahead and increase the strength to, let's try 13 for now. I mean I could show you guys how I would normally, if I was just learning this... What, 1,000? Yeah. That's doing a lot of stuff. Not what we want, though. So let's go ahead and go back down. Thirty is probably still going to be too much. Actually, 30 might be okay. Hey guys 30's cool. Hey and I'm 30, oh that's 32. I'm not 32. Let's make it 30, because I'm 30. Okay now let's give our object, our particle simulation another object to collide--oops. Sorry guys I'm still trying to convert from PC hand to Mac hand. So here's our sphere. I'm going to PC hand, or Windows hand, not hold sphere. I'm going to hit E to translate, and then I'm going to hit T to scale. I'm going to drag this on over. You guys are going to notice that I keep the editor playing the entire time. It's something that I've always done in Cinema and it's something that I try to do a lot in every application that I work in. Surprisingly and stability-wise Cinema is just so pleasant to work with in, like, this. So I'm going to hit command again, move this other rock over here. Stop hitting command instead of alt. All right. Cool. So we have some extra colliders. And now let's go to our constraints. I'm going to go ahead and hit custom again like I did in the previous, and I'm going to reduce the amount of expansion that I'm getting. And I'm going to, and this is one of those sections that I can spend a bunch of time going into, but like Cinema4D, X-Particles has amazing documentation, so if you go ahead and click on the help file it will load it to right where you're searching for help and it'll give you a breakdown of what everything does. So if you take a look at what break does and what customs are you can take a look at a little bit more in detail about what's going on here. I'm just going to leave this up for a second so in future viewings on the internet people can see this while I'm talking over it. Okay cool, let's move back into our simulation. I'm going to increase my custom radius. I'm going to check only same group, just in case down the road we have an additional emitter that kind of flows over it. I want to reduce this plastic value, I'm going to increase the break, and I'm going to increase the compression. All of this things are helping this to get a little more cohesive and less jiggly. Now in this file, the next thing that I'm going to set up is a skinner object. And we're going to make that under our generators. We're going to create a skinner and principle skinner is going to look for an emitter. Boom. We are skinned. And now I'm going to change a couple properties. There are many different surface operators that we can use to create our mesh. We can do blend, which is otherwise known as blobbies. And blobbies are kind of what I want to use on this because the lava is kind of gloobular. And that's the look we're going for. I'm going to go ahead and keep the rest of this stuff set pretty much the way it is except I'm going to turn on speed stretch, which is going to cause sort of like a geometric motion blur, we could call it. And it's basically a velocity-based smoothing algorithm that will give us a little bit more of a stretch or a pull in the direction counter to where the normal or point direction is currently going. I'm going to check on preserve volume, geometry, and particle smoothing, and I'm going to go ahead and turn down our poly size inside my editor to something that I can get--whatever I can get away with here on this Mac. Okay, it's getting a little bit closer. And now I want to go back into my emitter, and I want to go to display and my gradient parameter, I want this gradient parameter to be based upon speed. And I want to go ahead and create a few more knots, for now I'm just going to make like x amount of knots here. I'm going to go ahead and right-click and I'm going to distribute knots, that's going to just smack them all over. Actually, one thing I should've done first, is take our base gradient. And we want to use this to drive the color of our X-Particles skinner via a shader in X-Particles known as the X-Particles skin shader. So I'm going to change this, which represents the slowest value to a near black. Not total black, because that's not a real color. And then the end over here, I'm going to make this like a bright red, this'll be our fastest moving particle. I think it could be a little bit brighter. And then I'm going to add a middle point, this point, and this point, and I'm going to vary this a little. I'm going to add a little bit of variation. I'm going to put a little bit of orange in there, I'm going to put a little bit of darker orange, darker red right here, and then I'm going to go back. I'm going to turn off our skinner, and I'm going to hit play so we can--oh, one more thing. Currently I have the min and max value set to be controlling what the fastest speed and what the slowest speed are. I'm going to let X-Particles, on the fly, calculate and tell me what the minimum and maximum values are for the full gradient range because I don't want to deal with that. So we can see our fast moving lava is coming down and then as it gets down to the surface and, like, stops moving, it becomes black and cools like magma would. So it's falling down and then now let's turn on our skinner and let's create a new material. I'm double-clicking in the material tab right here, and I'm just going to drag this over and apply it to the skinner. If I hit render right now it's just a milky viscous thingy. So I'm going to go ahead and go to luminance, because magma sorta is self-illuminating, and I'm going to add in a X-Particles skinner shader. I'm going to go inside here and render. I'm also going to do the same thing inside my color channel. So now we have the two that are sort of complementing each other. And this is all being driven by the particle color that's being displayed. That particle color that's being displayed will also render in Krakatoa as that color. It's just a really cool little area of X-Particles that goes overlooked at times. But you can see from the change, I'm going to go ahead and hit alt-R to create a preview window. And I'm going to crank this way down. What that's going to do is turn down the quality of the render, but I just want to show you guys some interesting stuff, like our speed change. We've got this nice little like thin-tensity right here. Thin-tensity, I like it. I'm into that. All right. So that looks good, our skinner shader is set up. And now we also want to have a little bit more going on with our shader in general. So what I'm going to do is turn on displacement. I'm going to turn on, I'm going to add a layer in here I'm going to turn on sub poly displacement, and I'm going to turn this down for the sake of the presentation. Inside here I'm going to go noise, noise, noise, then I'm going to go arrows, I'm going to hop back. I have this shader set up in the other scene file, so I won't go through generating all of these noises again. I'm just going to layer them, and then we can hit render and look. All right cool. Now we have a little bit of extra...we have an extra level of detail added to our magma via noise. Noise can animate. We can have an animation speed on it for roiling and bubbling magma. That's totally fine we can do that. But one cool thing that I want to do, and I'm going to do this wrong the first time and it's not going to work I'm going to add the XP Skinner Shader over top of it. Now we're going to have like this lumpy look to it because we're just applying over it normal. But if I subtractively put this over the top, and hit render, multiply it, yeah. So we can start to see that only in the hot areas are we getting the more roiling look. So if we invert that we can then control where the bubbles and stuff are happening.or we can now make a completely new layer shader to map a different parameter to where the XP Skinner Shader is changing different aspects of the surface. I just like this example just to show another use case for the XP Skinner Shader. Okay so that's the skinner, and those V-Ray guys man, woo. That's the skinner shader, and that was feedback derailing me. That's feedback back. Next thing we're going to set up is some X-Particles wet maps. A wet map is basically a vertex map that has a reaction when a particle touches it. To demonstrate that, I will need to make my spheres here and my floor here editable. I'm going to do that by hitting C with the objects selected, and then I'm going to select all of them, I'm going to go over here, select poly mode, select all of my polys at once, I'm going to hit shift-C, set vertex weight, and I'm going to leave that at 0%. Now I have a vertex map on each one of my objects. This was something that while...when this feature came out I was like I have never put a vertex map on an object, I don't even know how to do that. I was like, I tried it with just the objects selected. I was Googling around, and most of the tutorials based on using vertex maps were like painting weights and stuff for characters. And that was something where I was like well I'm not going to get into that, I suck at weights. So what X-Particles is going to do now after I hit shift-C again and add a wet map tag, the wet map tag is going to want some sources. It's going to want an emitter. And then I'm going to go into each one here, and I'm just going to copy over my vertex map into it. ♪ Copying tags, moving them to the place they're supposed to be. ♪ Okay. Now with the big sphere selected, let's go ahead and get up in here. Let's turn off my skinner. Let me select the-- I'm going to select the wet map shader, and I'm going to uncheck this right here, this render only, because I want to show you guys in action what's happening. I'm going to deselect, get out of poly mode, I'm going to select the vertex map, and I'm going to hit F8. And as the particles come down, we're going to see absolutely nothing happen, because this is a demonstration, and things always go wrong when you do a demonstration. Oh, I unchecked render only on the one that I was not working on. Boom, problem solved. All right let's go ahead and hit play. Watch as the particles hit this surface the vertex map suddenly goes from 0 to 100%. Now this is a really interesting thing that you, this is a really interesting feature, because this allows us geometry, or not geometry but this allows the ability to drive other systems using this data. So one thing that happens usually when lava touches an object is that catches on fire, like that's going to happen. There's a really cool plug-in for Cinema4D that works really well with X-Particles and with Cinema called Turbulence; Turbulence FD. It's a fluid simulation fire solver for Cinema and it's super rad. So I'm going to go ahead and hit shift-c on this guy and create a turbulent, I can't spell, a Turbulence FD emitter. And to get these two different plug-ins and these two different tags to work in tandem, all I have to do is give my temperature value, give my temperature a value, and then inside of texture go ahead and check use vertex maps. So that turbulence FD emitter tag now is going to say I will emit from this object that I'm attached to when the vertex value is higher than x%, usually it's higher than 0%. But there's ways to get around that. You can have it constantly emit and then reverse, it's you know the world is your oyster as they say. So let's go ahead and create a Turbulence FD container. A Turbulence FD container is a voxel grid, like imagine each, imagine a cube inside this space. Millions of cubes. Let's go ahead and make this big, 600 by 600 by 600. And then we're going to go ahead and move it over to our object here, and I'm going to go ahead and increase the size of each voxel. This is to save on some simulation time. The lower your voxel size, the longer the simulation is going to take, the more memory it's going to require, and the more computations it's going to need. Just to show you guys an example of how this wet map can be used, we're going to leave our emitter on, we're going to leave the skinner off, and I'm going to shift-C and open up my Turbulence FD simulation window. And I'm actually going to go ahead and take this guy, click on that many multitude of dot array, drag it over here, and align this like nyah. And right meow we're going to go ahead and hit start. We're using the GPU to simulate this so it's going to go really fast, and we might not see everything happen in the viewport on time, or in time with it. We should start seeing some stuff blink here soon. Showing loading bars and stuff typically during a live presentation is frowned upon, so I'm just going to keep on yammering. One of the cool things we can do with Turbulence is add vecked particles using the fluid data that we create. There we go. So if we wanted to create a second set of particles that we're emitting from...don't you do it. See up here guys I have this nice little project file name: “Untitled 4 *.” This is becoming a bit of a thing that I do; will I lose my progress? Will I be able to save? Only time will tell. It's okay because we're almost ready to go back over to our other file. X-Particles and Cinema and Turbulence are super stable and good at bouncing back, so right now currently what's happening is, I didn't cache the particles before I hit simulate, so Turbulence is running the editor timeline, and calculating the particles, and calculating the fluid sim for the wet maps, so there's all this, like, completely cache free--oh, there we go--cache free information being exchanged, and it's not happy about it. So I'm going to go ahead and scrub back here, and so I'm going to go ahead and scrub this here. I have... I'm going to turn off the skinner in here, because I don't want to give away anything yet, you haven't got there just yet. I'm going to turn off my camera, and we are going to take a look at...we did the same setup that we did in here. We have our vertex maps that are interacting with our particles, that are interacting with our surfaces, that our Turbulence FD emitter tags are interacting with. So, scrub forward a little bit more. I ended up killing the rock simulation for this project, just simply because it was becoming overwhelming, and the lava itself was kind of encompassing that area as much as it needed to. But if I go ahead and hit F8 and play, we can see that Opengl on OSX is super great. So I went ahead and made this skinner a collision object for the smoke, or for the fire. And what that means is that it's snuffing out the flames wherever it goes, so we're getting this really cool effect around the outside where the flames are just kind of creeping forward. And using our wet maps with spread, we've created this effect that's causing the flames to grow towards the outside. And I rendered all those Quicktimes in Cinema4Ds standard renderer, and I just want to do a quick little render frame here, just to show you guys how quick it is. And it's not the fastest renderer in the world for this project, but I mean that lava is transparent and emissive, there's light bounces going on between this pretty high voxel size flame, and I have two area lights driving it with bump and displacement and very small sub-polygonal displacement on my texture, and Cinema handles it, just cranks it out. So let me see, oh yes. So the next thing that we do, we've got our fire, we've got...our constraints work, everything's functioning the way that we want them to. And now I'm going to turn off the Turbulence, we want to put on that final, the final touches. So our constraints and everything are...oh that's weird. It went back to blue for some reason.oh, I know why it went back to blue, I'm using a different version of X-Particles at my home, so that display value that we have set is not going to come through the same. So let's go to here, let's go to single color, let's go back to our emitter, display, speed, distribute knots, and I'm going to set auto. I'm just going to keep it like this, we don't need to go back into magma land, because it's in the cache. Let's go back to our particle group, we're going to go gradient parameter from emitter. Shift-F to go back to the front of the scene again, and watch it move. So this is just with our constraints on. We've got our particles constraining to each other, they're sticking and when they hit the floor they get frictiony, and they lock up and they start building on themselves and then rolling over. If I zoom in here, I'm going to hit pause on this, I hit F7 to do that as well. But what I want to do is zoom in to this area right here and just show you guys kind of what's happening in there. So we have all the particles that have landed and collided and stuck to the floor cooling, "cooling" air quotes, and becoming locked up on the base. And the other particles are landing on top building up and then rolling over and continuing along. So we're getting some of that sort of growth. If I turn on our skinner, we get a sense of what's going on. Up here in display options, I'm going to go ahead and turn on transparency, just so we can see some extra detail. Well we're getting this interesting little pooling, we're getting a base level for our particles, and our mesh is spreading out pretty nicely over the dynamics itself. So now what I want to do is add in my XP domain objects at this point in my simulation. I don't start off doing simulations with the XP domain object on, or necessarily in the scene. The XP domain is a flip solver that's new to X-Particles 3. And typically whenever you're working with physical based simulations or any, you know, particle systems, you know they're considered to be you know by some like hard to control or slow or requires a lot of tweaking and versioning. Before I add in anything like domain objects to any simulation, I get it looking good at the base level as much as I can before I even do anything with this stuff. So I consider the XP domain like the icing on the cake. So if we watch with the domain off, we have what is, what could be considered in my opinion, totally functional lava solving for this animation, but it doesn't quite have the viscous properties that I expect to see in the particle simulation. So I'm going to go back to the beginning, and I'm going to enable this domain. And now you're going to notice that there's these cubes around, and they kind of match the back plane of the scene. What those cubes are a representation of are voxels, which are three dimensional pixels. And inside each of those voxels there is data telling the particle to behave a certain way go a certain way connect to a different particle, talk to a different particle. All that information is contained in each of those steps, so if a particle goes through, it's being passed information. So if I hit shift-F and play now, we're going to notice that we have a little bit of stepping starting in the sim, but overall when our particles hit and splash, we're getting much more of, like, a coating effect, like the particles are constraining more than just with the, the particle constraints were originally. The particles aren't bouncing as high, and they're overall just kind of smoothing and behaving rightly so, a little bit more like a liquid. The only thing I changed with my XP domain object when I added it to our simulation was, I increased the voxel size from the default value of 20 to 40. I thought I was going to make it through without yawning, I'm boring myself, guys. So I increased it from the default value of 20 to 40 just for the sake of speed. I didn't really need all that information for lava. If I was trying to do something like fluid splash, like with a really big shear, like, thin sheet, you know, I'd have to increase the size by a lot, and then we are looking at lots of iterations of sims and stuff. And I actually look forward to doing my next fluid job with R17's take system just to be able to version out and play around with that stuff. And I increased the vorticity, which is the way it responds to turbulence. And now what we have is our skinned object, and what I did inside our skinner, let's go ahead and create a quick preview. Two minutes? Two minutes. What am I doing? We have a Quicktime right here with a quick preview. So what I did inside the material here is inside reflectance, I gave it this candy shell style specularity that isn't really, like, real, you know lava wouldn't have this, but it has that white value. And also inside of transparency, gave it a wild refraction, just so the fire and stuff that did get through would kind of look a little bit bouncy, a little bit warpy. And then I changed the color to a little bit gray, so it's not completely opaque, but you can see through it just a little bit, just to add some of that kind of sliminess that lava kind of has. And then in our bump, I have it enabled for no reason. Inside our displacement I have the same thing going on as before; I have our different noises, and I have our XP Skinner shader kind of calming it down around the black area. And amping it up in the red area. Terribly sorry about the yawning guys. And then I've turned on round geometry in here. And let's go ahead and watch this again. You're killing me Mac! But yeah, so that was X-Particles constraints, the wet map shader, the XP skinner shader, and the skinner object, in a 50-minute crash course that I hope you guys learned a little bit, or learned something new. My goal for these things is that you get something new out of it, you try something new and that I explain everything in such verbosity that you leave me alone when I'm back here, because I only want to talk about Magic the Gathering. - [Female] Thank you so much, Casey. Let's give it up for Casey, guys. - Thank you!
Resume Auto-Scroll?