Back
Mike Batchelor
Product Manager, INSYDIUM LTD

INSYDIUM LIVE! - April 2023 - X-Particles, NeXus & MeshTools

🎥 Apr 18, 2023 📺 INSYDIUM LTD ⏱ 70m 👁 8625 views
In this stream, Mike will be showing some features and future development coming to NeXus and MeshTools. Bob will break down the recent "Recursive Trigger" simulation created by our Design team. We use a Ghost collider to trigger recursive shattering using xpDynamics and xpShatter. If you didn't already know, we've got our NAB Sale running until midnight (UK Time) 20th April. Head to our website and grab yourself some money off! 👉 https://buff.ly/3UxhkgT Remember to use the correct coupon code at checkout! For 40% OFF INSYDIUM Fused - Use code NAB40 For 20% OFF Maintenance - Use code MNT2...
Watch on YouTube
Transcript (55 segments)
U
Unknown2:04
[Music]
[Music]
[Music]
B
Bob Womsley9:16
Hey everyone, this is Bob Womsley from Insidium.
M
Mike Batchelor9:18
And I'm Mike Bachelor.
B
Bob Womsley9:20
Welcome to Insidium Live. We've got loads to come on today's stream. First of all, a bit later on, Mike is going to be giving you a sneak peek behind the development curtain here at Insidium, and one of these sneak peeks is going to be today. One of them is super, super exciting, and this is looking at work that's been done on Nexus, our GPU tools.
M
Mike Batchelor9:47
So, we're going to jump in and we're going to have a look at how to build this really cool interactive mounting rig using some of the new tools.
B
Bob Womsley9:55
That we've been working on inside of Nexus. I find it absolutely mesmerizing, and looking at that, that's awesome. That's coming up a bit later.
They're emitting, that's cool. If we want to calm these down a bit, it's particles, so we can just use a modifier. So let's do that. Let's go to modifiers, we're going to bring in a motion modifier. We're going to bring in, let's go with an XP drag. And the XP drag in the object tab, let's just put it to, at the moment the density through which the particles are moving is air, which doesn't have much drag. If we put something that's much more dense like water, there's going to be more drag. So let's click play, let's see. So this is going to be affecting our shatter particles as well. Remember that's looking really cool.
So now that we've got those particles, what we want to do is spawn some more particles. So let's go to our modifiers, and the way we're going to spawn more particles, this is another X-Particles tool that gets forgotten. We actually did a Top Tip Tuesday on this a few weeks ago. We're going to use a modifier called multi-spawn, which enables us to use this same spawning emitter to do levels of spawning. So we're going to go to modifiers, we're going to go to generate modifiers, and we're going to bring in an XP multi-spawn. And the XP multi-spawn, we are going to actually use groups with this. But before we set this up to work, I want to make sure that this XP multi-spawn isn't going to spawn particles from our dynamic ones and for our shatter, because that wouldn't work. So let's highlight both of those emitters, go to the modifier, and let's drag in the multi-spawn. And that minus says that those two emitters will ignore this modifier, so it's just going to affect our spawning emitter. Great.
Let's go back to multi-spawn. So we're going to use groups. We're going to have one group will be our original spawned particles, the square ones, and then we're going to get some finer dust particles which will be group two. So the way we do that, we're going to go to XP emitter, we're going to go to the groups tab, and I'm going to hold control and alt and keep it held down. That enables me to click this create group twice without it flicking off. So once, twice, and what we want is the original spawn, we want all of them to be stuck into group one. So the way we do that is we change the mode from random to use first group only. So now it's going to spawn them all into group one from the spawn, from our collider tag. And then we can go to multi-spawn and say this layer of spawning is going to put them into group two.
So let's change the spawn count, we'll just do say three particles. So for every first spawned particle, we're going to get three more. It'll be when the spawn particles is at just first born, zero frame, and for one frame. The spawn life we can set by, that's fine. The direction we're going to have relative to the source with loads of spread. And the speed, let's do relative to, or we could do inherit source particle speed. Okay. And finally, I'm just going to go to my group two, the second ones, and I want to make them dots, not squares. So in group two, we'll change the display from squares to dots.
So now if we hit play, we should be getting our first particles, and then we're getting our smaller ones. That's cool. One thing that we could do here, so we get some slightly different movement, is if we give all of our particles slightly different radius values. They'll be affected differently by the drag. Larger objects get affected by drag more than smaller ones. So in the particle groups, let's highlight them both, and we can go and give them some radius variation. Look, so now they will move differently. And now we're getting those spawn particles, and we're getting the multi-spawn particles, or the little ones, which add all of that detail to the shatter. And that's looking pretty cool.
Very quickly, let's just add a sky, and we'll make it very dark. We'll add a camera, and in the camera, in the object tab, we'll just have it focus on the shatter. Let's go to physical and let's generate a shallow depth of field. Let's bring that f-stop way down. We'll move in something like that. And then if we hit play, you'll see we're getting our shatter, and then we get our second shatter, and then we've got these really cool kind of debris and dust particles. And there we got a fully procedural rig that plays pretty well in the viewport. And obviously, if we cache this out at higher detail for 200 frames, you're only looking at about a three or four minute cache, and everything about this would cache pretty easily.
Talking about cache, can you just jump over to my scene for a moment? We've got Desy Design saying it's not caching for him. So I've just built this really simple version, it's just got the shattering, and I'm just going to run the Insydium XP cache, just do a quick 60 frame cache and put a playback. So caching is working with the shatter object. So if you are having any problems, please send it in to support so they can take a look at it and see if there's anything going on with your scene that's not actually how it should be. But yeah, cache does work with XP shatter.
Yeah, cool. All right, thank you for that. So that is how we created this scene. And here is, just so we can see the actual beauty, there is Mario's beauty shot with how it was made as well. Very, very cool technique. Okay, so that is our technique breakdown. So now let's move on to another developmental sneak peek, and this is Mike. For me, this is the really, really exciting one because you're going to walk us through some of the work that's been going on with Nexus, which is obviously bringing the power of the GPU to our particle simulations. So let's jump into your Cinema 4D and you can show us what we're going to be looking at.
M
Mike Batchelor44:54
Yep, so here we are and we're going to build this completely from scratch, so we've got nothing going on. And what we're going to do is we're going to create this really cool interactive melting rig. So first thing we need to do is we actually need some collision geometry. So we're going to get a plane, and we'll make it quite large, 2,000 by 2,000. And I'm going to give it a color, and I'm going to give it a color because we're going to change our particles color to be quite dark so that we can work with some of the new tools. So going to set that to blue and make sure we give it a collision tag so that it's going to collide with our particles. So what we don't want is bounce, because we're going to do fluids, but we do want quite a bit of friction.
B
Bob Womsley45:40
Okay, so that's our collision geometry, that's all we need for this scene. Just while you're setting up, Mike, I'm just going to say, because we've been talking about caching, what I'm going to do, I'm just going to up slightly the settings that we had in that shatter scene that I've just done, so more shards and more particles, and I'll run a cache. And when we've finished with our Nexus demo, we'll have a look at that, see how long it took, and see what the result of that is. So just to let you know, that's going on in the background.
M
Mike Batchelor46:03
Yep, cool. Okay, so let's add an XP system. And as you know, the XP system adds an emitter already, which is great. So we're going to set this up, going to go to the object tab, and we're going to change this to a cylinder. Now this can be any shape, if you want to have a melting statue or something, you just emit that volume. But we're going to use a cylinder for this, and that's all we need. So we're going to go to coordinates, we're just going to rotate at 90 on the pitch and move it up 100 on the Y, and that's going to make it sit exactly on that floor plane, exactly what we want. So that's our emitter. We're going to go into the emissions tab and set up the emission data. So we want the emission to be a shot, and because we're working with fluids, we're going to use one of the fluid modes. In this one, we're going to use hexagonal.
Now, I want to see these because we want to be interactive, so we're going to set this to simulate mode so it simulates on frame zero. And we don't want any speed, so we're going to turn the speed off and drop the size down to two. Okay, so that's a really good interactive grid there, but it's too uniform for me. So what we're going to do is we're going to just put some jitter. So we're going to put one centimeter in the X, Y, and one centimeter in the Z, and that just creates a little bit of offset, so slightly more random. Right, we want these particles to be black, and the reason is because we're going to use the color information to control some of these effects. So if we go to the display tab, change the particle color to black, we now have these black starting particles. Now nothing's going to happen, there's no simulation code, it's all just particles sitting there that don't know what they need to do. So we need to start adding some modifiers.
So we go to Nexus, and we need gravity, because we always need gravity for fluids or things like this. So we drop in a gravity modifier. Now all that's going to do is make our particles go splat and do nothing, because they're still not very smart. Let's give them some fluid information. So we're going to go back to Nexus, and we're going to drop in an XP fluids. Now of this one, we want it to be using the SPH solver. The reason we want to use the SPH is we can do a lot of work with the viscosity. So let's give it more iterations or substeps to start with, so it's slightly more accurate. And in the viscosity, we're going to set this to maximum. We want loads of iterations, so we're going to set this up to a thousand, so it's a thousand iterations per frame of viscosity solve. Let's set the surface tension to about 50, so it's got quite a gloopy looking fluid. Now if we push play, it's going to do just a simple splat, the fluids. But that's not really very cool, that's not giving us what we want.
We want much more control. So one of the things we want to do is we want to make it so that these aren't actually moving when we push play. We want it just to be a static cylinder, and we're going to use the speed mod, which sounds counterintuitive, but speed mod can also be used for non-speed. So we're going to add this in. We're going to change the operation from incremental to acceleration and set that to zero. And the part we want to use is the clamp max speed, and we're going to put this up to a really high value of a hundred thousand, so there's a massive range that we can work within.
So now we want to look at one of the new features we've been working on in Nexus, and that is data mapping. So data mapping, everyone's wanted from X-Particles, and we've completely redone this from the ground up. And it's all GPU, and it's now using this really cool layer system. So you can see, you can add all your different maps as layers. So if you add in your layers, you can add multiple layers into the list, they can be moved and deleted, and you just select them and you get your options. So let's take these ones out because we just want to work with the color information. So what we're going to do is, we want to map the color brightness to the clamp max speed value that we added. And what we're going to do is, we've got this minimum and maximum range, so these are the range, black and white, because it's color. So we're going to set this to 99, which is a really small range to work with. And that means now if we push play, we're going to get these really slow moving particles, which also isn't quite right.
B
Bob Womsley50:49
And you would think that they shouldn't move at all, because with that mapping you've said that when they're black they should have their speed clamped at zero, so they shouldn't be moving.
M
Mike Batchelor51:00
No, and the reason for that is order of execution. So at the moment it's executing this first, and then the fluids, and then the gravity, so it's not seeing this happening at the right time. So if we drop this to the bottom, so it executes after everything else, and push play, straight away you can see they're not falling. The gravity has no effect, which is exactly what we want. So the next thing we need to do is we need to start introducing temperature. And to do that, we're going to use one of the new tools, and that is Nexus questions. So the Nexus question is a completely new question system, again built from the ground up to work on the GPU. It's an object, so it's not linked to any emitter. So if you want it to be excluded, it just works like a modifier, you exclude it, you drop it into the modifier list and exclude it, simple as that. But it's much more powerful because we have this massive list of questions that we can add. So you add a question, and here we have the questions, and it's asking all these conditions, and then you can just have as many as you want. You can just stack up all these different questions with different particle data and actions. That's really powerful.
What we're going to do with it though is just simply use it to change the color. So what we want is if the particle age, if particle age is greater than, but we're going to set that to greater or equal to zero, which is frame zero, do something. What we want to do is we want it to create an action, and that action is simply going to set the color. Now we want this value to be 100%, and then we can just change any color, just add a little bit of yellow in just for good measure. But that value being 100% is the important one. So now what's going to happen is as soon as I push play, they're all just going to turn white, and they're going to get the effects of all of these modifiers because of that mapping that we added into the speed. So that range has now changed because I've gone white, now the gravity and the fluids have an effect on those particles. But that's not really what we want it to do, we want to have control. And one of the beauties of the new question system is you can use fields. So if we add ourselves a little spherical field, and we just scale this a bit smaller, move this up and pull it across, now if we push play there, you can see it's happening only within that range of the field, which makes questions even more powerful than they've ever been before.
B
Bob Womsley53:45
It's slightly blown my mind the fact that you can have fields with questions.
M
Mike Batchelor53:48
Yeah, that's amazing. Completely new. And so already if we push play, we've got something happening. We've got this little controller that's changing the particle color, and this is making them melt, which is really cool. So because of the mapping, when you are changing those particles to white, it removes the speed restriction and allows them to be pulled down by the gravity. But when they are not white and they're black, they remain static. So even just with that, it looks like a melting rig.
B
Bob Womsley54:19
Yep, but we can push this way further.
M
Mike Batchelor54:22
So I'm just going to change this size slightly, it's a bit big at the moment, and I'm going to call this question heat, because that's what we're pretending that it's doing, it's heating up those particles. So when you introduce heat to a system, what's it going to do? It's going to cool. So let's do the same thing, to add a cooling. So we can add another question, and obviously you can add as many questions as you want. So let's add a question, and we're going to do the same setup. If the particles are greater or equal to zero, add an action and make them black. And this one we're going to call cool, right, and make sure that is fully valued, set to black. Yep. And obviously we want this to execute after the heat. And now watch what happens if we push play.
B
Bob Womsley55:14
Nothing. And why is that?
M
Mike Batchelor55:17
Well, that's because it's going hot, cold straight away. So this one's taking over. And this also shows one of the new benefits of this question system, is we have a waiting slider on the actions. That means we can wait the amount of effect that has on the particles. So if we drop this down to something like three, push play, watch what will happen. They'll melt and then they get hard again, cools. So it cools really quickly. So you can see already we're getting this really cool powerful system.
B
Bob Womsley55:52
Nice. So next thing we want to do is we want to have some edge particles, which will help melt, so the little drippy bits on the cooling system. And again we're going to use another question. So add a question, and let's just call this one edges. And with this one we're going to do a question, and this we're going to use a new question, we're going to say if the particle neighbors are less than 30.
M
Mike Batchelor56:22
Meaning particles under the range, so you've got a distance of 10 centimeters around each particle, if there's less than 30, then the action is going to be triggered. So that's kind of going to create a surface.
B
Bob Womsley56:37
So it's counting how many neighbors it's got.
M
Mike Batchelor56:39
Yeah, yeah. Okay, so the action we're going to add is a color again, because color is the key to this whole system. And I'm going to set these to white. So if we go up a frame, have a look, you've got this rim of particles around the edges. And if you want more like that, want to hold more of the surface, just increase this count so they look further. And if we go up a frame again, see how it's creating this edge surface of particles.
B
Bob Womsley57:07
Which is, and again, the stuff we can do with this is really powerful. So only particles which are nearer the outer surface of that volume are surrounded by less than 30 particles, and so it's effectively finding the surface of the volume, isn't it really? Yeah, wow.
M
Mike Batchelor57:23
We're using edge detection. So if I go and set this to some brighter color like red, and we push play, if you look at the edges of this melting, so you see how the red particles going on those edges. Yeah. So now when we make those white, they're going to just continue to drip the particles as before while it's cooling. So it'll just really help accentuate the effect. So let's set these back. That's cool, and already we've got this really cool rig happening, so it's melting the particles.
B
Bob Womsley58:01
Oh yeah, you can see the dripping, yeah, as it goes down. Watch those edges and they keep dripping. Really nice.
M
Mike Batchelor58:10
Okay, so we can push this further. When you introduce heat into something like this, that heat isn't hard. Like we've got this hard edge here of the heat particles, well that would actually propagate through. So we can do that with the Nexus blend modifier. So if we add a Nexus blend, and the Nexus blend modifier has also been updated. We now have blend modes. So anyone who's used to Photoshop, we know that we've got different modes for layers. We can add that for the blend, which means you can have way cool control over the blending. There's also a weighting system, so you can weight that amount of blending between emitters, making it really cool. So we're going to set this to additive, and the old mode was just normal. So having this control is really cool. We're going to increase the distance to 50, max out the strength, and we'll drop this blend down to about 60 frames.
B
Bob Womsley59:10
Okay, so now if I push play, just watch what happens.
M
Mike Batchelor59:12
See how it's heating those particles up. And that just gives us a bit more control. I might actually increase that length, so let's go to 90, so it's just going to really help with the actual melting, because it just heats a few more up. And remember, the color is the key.
Okay, now when it comes to the cooling, the cooling's happening quite globally. You see how it's sort of a global color. Let's introduce a bit more variation to that. And again we can do that, because the questions have fields. So if we go to our cool question, go to fields, and this time let's add a shader field. And for that we'll use a noise, and we'll go in and I quite like blister turbulence for this one. Set the scale up and lots of contrast. So because we're working with black and white values, and you can animate this as well, which is really cool. But now let's go back and let's just make this weight slightly higher, let's put it up to like 10%, so you can see it quite quickly. Push play, now if we pull out, you start seeing that noise happening.
B
Bob Womsley1:00:29
Yeah, just to give it a slightly more variation, so it's not just a hard cooling system, which helps. But I've got it too strong, so you can see they're starting to cool in the air, which isn't natural.
M
Mike Batchelor1:00:44
So with our cool, we'll set that down to about 8%. Right, we're not far off done. I'm just going to make this a little bit bigger, and make sure this is getting the full value. Let's set it all the way up. Cool. So we've got the melting, cooling, got the variation in there, and you can see how interactive it is. And this PC I'm on is just running a 2080, so it's not a super modern GPU, but you're getting this really nice interactive melting system. But what I want to do is have slightly more control over the actual fluidity of this. So if we go to the fluids, we now have mapping in fluids, which you've never had before. You even have it in constraints, basically anything in Nexus has the data mapping. So in this one, let's map our viscosity. So I've got a brightness, and I'm going to label this so I know what I'm looking at. See, and the category is the SPH solver, and we're going to map the viscosity.
And again, we've got black and white, and what we want to do is, we want the black particles to keep their viscosity, and the white particles to not have as much for a while, so that it gets really liquidy first before it cools. So we can do that by bringing the viscosity on the black, keep that high, bring the white ones down low, and just change this curve slightly so it's like very viscous to non-viscous. And we'll do the same thing for the surface tension. So let's add another one, and we'll just put ST on the end for surface tension. And we're just going to copy this map from the viscosity because it's the same map that we want to use. So copy that and paste that in. We've got the same thing, make sure you set that to the right channels, so surface tension. And now if we push play, you'll see there's slightly more liquidy white particles. See how it's flowing more.
B
Bob Womsley1:02:56
Yeah.
M
Mike Batchelor1:02:57
But then it's going to cool back to hard, and you get that really nice fluidy interactive melting.
B
Bob Womsley1:03:05
I love the way it coagulates and you get the sticky bits hanging over. Do you know my favorite bit though, is the way you've got that neighbor particle search gets the dripping, that's just, and you get those really nice edges there as well.
M
Mike Batchelor1:03:20
So yeah, you can see this is some of the new really exciting tools we're working on inside of Nexus to make it even more powerful than it's ever been before.
B
Bob Womsley1:03:31
Max has just summed up, he says crazy times we're living in, a random field inside a question inside a particle tool inside of 3D software.
M
Mike Batchelor1:03:42
Yeah, amazing.
B
Bob Womsley1:03:45
Brilliant, thank you Mike, that is very, very exciting. We actually got a question asking if it would be possible to do some training on data mapping. Absolutely, so this is obviously the new data mapping system which is being developed as part of Nexus, which is the GPU part of the Insydium toolkit. Obviously X-Particles has its own mapping system, and absolutely we will do some training on how to use that, because I understand, I can remember when I was learning at first, it can be quite confusing and a little bit intimidating, still is for me. But once it clicks, and it will click for you, once it clicks it opens so many doors. And you can, well, there's some things you just can't do without it, but there are other scenes that you can keep way more procedural, avoid keyframes, when you get your head around data mapping. So yeah, that is absolutely something that we'll explore in future training.
Right, so we're just about come to the end. We just wanted to remind you though, of course it is NAB week, and the Insydium NAB sale is on. And Mike, it just gives me another excuse to be able to play this, our fantastic NAB sale ad, which is a really nice bit of motion design which uses all of the Insydium fuse collection to get these effects. So if you need to get the details of what the sale is, how much you could save, go to the Insydium website. All the details are there including the discount codes, which you need to use at checkout. Those discount codes we also put in the description of this stream, so they're there for you to look at. If you need any help when we're not streaming, you got questions to ask, the best place to go is the Insydium Discord server, where our team is there. There's a really good community of artists who will help you, but also our team are there to help you with any queries as well. All that information obviously available on our website. So thanks to John Bosley for moderating in the stream and answering your questions live. Great to hang out with you all again. Thanks a lot, it means an awful lot to us for you to come and hang out and join in with these live streams. And keep an eye on our social media channels and we'll let you know exactly when we're going to be scheduling the next live stream. But that's it, goodbye from me.
M
Mike Batchelor1:06:21
Goodbye from me, and we'll see you next time.