I Made The Perfect Disintegration Setup in Blender

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
disintegration are one of the most famous effects in all CG and I want to see how far I can push the new simulation notes to achieve it inside blender I want it to be better than a simple effect I want the mesh to be animated I want the particles to generate from the volume I want them to have some connection to the mesh while giving me absolute control over everything and I want it to be at least just a bit close to perfection so I break it down into a few steps first I start with a simple static mesh make the basic disintegration effect for it and then apply to an animated character after that I can focus on improving the look of the effect also stick around until the end to learn how you can get a 50 render coupon from our sponsor Fox friend of our let's get started oh by the way this is not a beginner friendly step-by-step video this is more of an overview of the process so some experience using jump North is definitely required I have this animated mutant character from mixamo.com this is the guy I am going to snap out of existence my plan is to start with a static mesh so I duplicate this mutant mesh keep it paren to the rig this will be the disintegrating particles then I apply the Armature modifier while on the first frame and I have a static mesh I create a new Jump Renault setup the first step is to add points or particles to the volume of the mesh for that I can use mesh to volume node adjust its values a bit and then follow it with a volumes to points node I increase the density to get more points and to see things clearly here I decrease the point size using a set point radius node and that's basically it for the point distribution for the next step I want to create a mask for disintegrating areas that we can control from the outside once the points get inside the mask they will start to disintegrate so I add an empty sphere call it controller and add it to the setup calculate the distance between each point and the empty and mask everything inside that empty using compare less than or equal node if the distance is less than the empty scale that means those points are inside the empty but this mass is just frame by frame once the controller leaves its position some particles will be out of the mass it is fine if you want to do it like this but I want the controller to move freely and adjust its scale without worrying about previously Mass points and that's where simulation notes become handy I add a simulation Zone to the setup then add a store name attribute node to store our Mass and I call it mass and plug our Mass to update it every frame I add a named attribute node and get access to the attribute I just created and add it to itself this setup basically runs every frame on a loop and updates the mass I do a simple animation to the empty and move on to the next steps basically when disintegrating we are just adding movement to the previously static particles so all I have to do is add a set position node give it a bit of offset and plug our mass for the selection socket now when I hit play we are adding 0.05 set offset to every frame for our Mass points it is time to calculate their age and age is very important I don't want these particles to last forever I want to delete them at some point so I need to make these particles age after they have been captured by the mass and once they reach their maximum age which I have full control of I just delete them and Edge is not just for deleting particles I can use that same calculation for reducing particle size their color it's very useful I add a store name attribute node and set it to integer since we are calculating the age by frames then access our Edge and plug multiply at node multiply our age with the mass and add one store it as our age this way it looks at the edge of the particles which are mass and adds one to it and stores that as their new age and this also runs every frame on a loop to delete the particles just add a delete geometry node access our age and check whether the age is greater than or equal to let's say 40 and plug that into selection and just like that every point that is mass and reaches the age of 40 will get deleted I usually like to organize my notes and I think that's it for the foundation for disintegration effect let's apply this to the animated character very simple just select our animated character at a germ denote modifier after the Armature and hit play and it is not working wear server animation don't worry I got this the reason for this is how simulation nodes work it only takes what we are inputting on the first frame we can't do any updates to our input geometry after the same start they won't count in other words if our character is animating we need to tell that to the simulation every frame while it updating so I need to update the position of the points in every frame inside the simulation so since our animated character is a mesh and here I am importing points to simulation I am going to make a connection through their index add a sample index node plug index to here and for the value we are sampling the position of the points and I set that to points position using a set position node inside the simulation and it is animating but something is wrong this is not what I am expecting the mask is all messed up theoretically we are not doing anything wrong but it is not working well I ignore this issue at first continue the process and I actually posted that a little while ago and most of you liked it not many people seems to be worried about the missing particles in the foot of the sun pop of particles but I want it to be at least close to being perfect and yes this is the part of the video where I spent quite a few days trying to figure out a reason and a solution so after quite a bit of cry and fails and running out of names for blend files it turns out the mesh to volume node is the one to blame the first node in our setup this converts the mesh into a volume on a frame by frame basis which means the volume created in one frame has no direct connection to the next frame it just looks at the mesh and creates a volume so when I distribute points in that volume points with similar indexes might end up in a different places when the animation takes place since I am updating points position to their Index this is causing us so many problems such as when these points jump here and there it could get captured by the mass and will start to disintegrate which means after some time we probably will not have any points in certain areas this is also why it pops out on some occasions so my final solution is this new node setup I have to combine both static mesh and the animated mesh so back in our static mesh setup I reference the animated mesh then I grab the index of the nearest surface point of the static mesh using that capture index I found the position of the points in the animated mesh and then set that as our points position this will move all the points to their nearest surface point meaning all the points which were in the volume are now on the mesh surface now through my previously captured index I capture the position of the static mesh points then subtract that from the point's current position this gives me the offset from each point to its nearest surface point and when I plug that to offset here I get the points back in the volume in that way I created this point distribution which is consistent with the animation now just like before I can use this to update our points with the animation without any jumping or wiggling of particles and I fix it well not entirely the problem right now is we are deleting particles after they reach their maximum age and deleting particles going to mess with the index and our whole fix is depends on that index so in order to fix it you have to move this skill particle setup outside of the simulation so like this to view this clearly I use our mask here for the selection socket use the not Boolean method to reversy this way points which get mass will not update their position anymore and only do the disintegrating movement and just like that I finally fix it this fix took me a few days to figure out but I have this feeling that there might be a better and easier way to do this anyway now I can move on to the next step and improve this effect to make the distribution even better I add distribute on faces node and join it with previous points but once you increase the points it is very clear that we have a circular Mass and I hate uniform things like this so I distort the points position in the mass by mixing it with a noise texture I plug a victim at node to here and replace our upwards movement with a bit of movement to the right and to the back and for the second input I add a noise texture with a map range node to add noise to the movement then use a scale node to control its strength this noise movement is basically 75 percent of the look so it is important to spend some time there to find the exact movement I want I also animate the noise over time using a scene time node and I put this random value node anywhere I can to randomize any hard code values such as this strength maximum age of the particles and Etc then I can add an instances on points node and use an icosphere as instances reduce the scale use our mass for its selection socket which will turn only the mass Point into instances then I turn our Edge to a normalized edge which means it goes from 0 to 1 from birth to death using that normalize age I can decrease the scale of the instances over time I told you calculating H is very helpful randomize that scale as well and now they are missing materials I want these points or particles to grab the color from their near surface rather than having a totally separate color so to do that first I use a sample near a surface node before the start of the simulation and grab the UV map data from this mutant mesh in this mesh UV map was called UV set 0 I can access that inside the setup using a named attribute node istoe and call it points UVs this will grab that UV data then at the very end of the setup I add a set material node and assign a duplicate of the mutant material now inside that material I can access that stored attribute using an attribute node use that as the vector input for these textures and just like that I got the textures to influence the particles now if this is a disintegration effects then this mutant needs to disappear and for that I am going to use the animated mesh I add a new setup to it run another simulation to grab the mass since I want to make it identical to the previous one back in that setup I grouped those nodes into a node group and use it in this setup I give the attribute a new name and just like before I have to update the position to animate the mesh use the mesh mask inside the mutant material to set that part of the mesh transparent and that's how I disintegrate an animated 3D character I can finish the video here but let me tell you a few more things I did to make it even better I use the simulated points and convert them to volumes using points to volume node this helped me to create a bit of dust looking effect I can use that calculated Edge to change its radius as well check out my volumetric portal tutorial to learn more about this type of volumetric effect also I spent a bit more time animating the empty you can combine more than one empty using all Boolean map tone also I create another setup to split and disintegrate the faces of the mesh it was very similar to what I did here the only difference was I put split ages note before the simulation and to address each face individually I use the evaluate on domain node and mesh Island index node this will stop the stretching of the faces and at this point I have spent quite a few hours making these effects which means I definitely ran out of time to render any of these and that's when I relied on the powerful capabilities of our video sponsor Fox Rent A Farm a leading Cloud rendering service with its lightning fast and secure rendering Fox render Farm supports a wide range of 3D software renderers and plugins plus its flexible pricing option make it an excellent choice for both small and large scale projects not to mention Fox render Farm has even been trusted to render some of the biggest titles in the industry including love death and robots use the link in the description to get a 50 render coupon to render your next big animation with Fox friend of farm thank you so that's how I created this disintegrating effects inside blender 3.6 if you like to take a closer look at these effects you can find them on blender market and avogampro page also extended tutorials on each of these effects will be available for patreon members as soon as possible but if you want to start simple I recommend following along with this disintegrating logo animation tutorial I'll see you there
Info
Channel: Hell FX Learn
Views: 6,390
Rating: undefined out of 5
Keywords: Blender simulation nodes, Disintegration Effect in Blender tutorial, Disintegration FXs, thanos disintegration effect after effects, Blender geometry nodes tutorial, Blender simulation, snap effect in Blender, disintegration effect in blender, blender simulation nodes explosion, blender animation, Perfect disintegration effect, blender simulation nodes tutorial, geometry nodes, blender, Blender vfx, points in volume, mesh to volume, fox renderfarm, Smoke simulation, tutorial
Id: hDKc1OgxEF4
Channel Id: undefined
Length: 17min 38sec (1058 seconds)
Published: Tue Aug 15 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.