Vellum Simulation for Beginners in Houdini

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I'm gonna start off with the geometry node then I'm going to create a torus turn the stores into a Velma cloth raise it above the ground by two meters so if we go tab and we type bellum so all the bilham tools all the velum available notes come up so the ones over here these are like pre-configured Belen constraints that are like side effects already pre-configured it into Dini so they're ready to use they have pretty decent results if you want it like a decent balloon you can like come here or if you want a decent cloth decent grains hair so these come pre-configured and the vellum drape is for like clothing so that will be covered in a different video for this video I'm just gonna go over a very simple vellum simulation in the salt level and I'm gonna show you one how to configure a vellum simulation in the.net so just like the previous video on the soft solver the saab silver was didn't have a dotnet note it was always in the salt level the vellum solver is very similar to that it's up that vellum solver can be in the salt level and it can be compared in the dominant as well so can the somme solver by never create a video they explained how to use the sub solver in the doctor so that might be a good idea for a next video but right now let's start with something super basic let's just put down a plain film constraint so the villain it looks a little different it has three inputs the first input if I put the mouse over it a tooltip will come up and it's the velum geometry so this is where you hook up the geometry that you want to turn into a cloth or into a vellum object so I want to turn this torus into a vellum cloth so that's why I have it hooked up plugged into here the next one is constraint geometry so this is the constraints that will make it for instance if it's a balloon there are constraints pressure can strains on the surface that defined how the balloon behaves if it is a balloon or it may be if it's a soft body object it has a lot of jittering it has a lot of vibrations when it collides with something like jello when it falls down it should go jiggles around so this is where the constraints define how it behaves how the ability AMA tree behaves the last one is the last input is the collision geometry so this is where you plug in the geometry that will collide with it will collide with the velum object using the developer now there's three inputs usually no so I'm going to put this aside now I'm gonna use one of side effects is pre-configured balloon velum pre-configured preset balloon film to show you for velum you can chain the inputs just like this so you can see that these inputs these three inputs and outputs are chained down so the first film here defines turns the torus into a cloth the second velum constraint here defines the pressure points to make it behave like a balloon so you can keep chaining these I can keep adding more so if I wanted to I could just put another one here and just keep hooking up and just chain them all the way down and keep adding different behaviors to my velum geometry until I'm satisfied with it but for right now I'm just going to show you this the default one so I'm just going to delete this I just want to show you this is how you chain the velum geometry so inside the velm constraint for the constraint type now I'm gonna choose cloth so right down here so right wouldn't put the render flag here this there's this white wireframe all over the torus if I play it nothing will happen because there's there's no solver every single time we have a simulation we need a corresponding solver so we have a I'm gonna drop down the solver down again we have this chaining so this is the the velum style put the render flag here on the velum solver now I'm gonna play it again if false but nothing happens nothing interesting happens because there's nothing to collide with before I get into collision geometry I'm gonna add a ground plane now your first instincts be dropping down a grid however inside the velm solver under collisions the collisions tab there's a ground position so just check this and it provides a ground plane for you so now when I play it so there I see a bit of jiggling I can see that it's a soft body now it's not it's no longer a rigid body so if a rigid body was to fall onto this ground plane it would just do nothing with just maybe you in my bounce or slide but this one it's sort of there's a bit of vibration and deformation on the torus now I'm gonna pull this down I'm gonna flatten this torus so it looks more like a cause now when I flatten this it's not scaling properly there's this small dot right here in the origin I'm gonna hide the widget so maybe you can see it now there's a small dot right here so highlight the transform tool the pivot point is right now is at the origin so that's why it's scaling towards the origin so it scales while moving towards the origin which is not what I want all I wanted to do is just make the Taurus a flatter so come here in the pivot transformation I'm gonna change the pivot to the centroid so cex is the centroid X component so this will move that pivot so I'm going to put C X sorry c XC ey and sees that that's the centroid component XYZ position of the middle so you can see that the dot is here now is in the middle of the tourists so now if I scale it if I scale it like this it will scale towards that middle so it won't move which is what I want I'm gonna turn back the origin put the render flag back on to the velum solver and I'm gonna play one more time okay so it doesn't really do anything interesting still let's now let's get into collision geometry I'm going to add a tube put end caps change this into a polygon template the torus so I know where it is then gonna render a flag put the render flake on the tube now I want the two to be side to side so I'm going to rotate it maybe rotate the other way and make it a little smaller you know I'm gonna put a transform and I want to stretch it okay I'm gonna move it to the side a bit here okay now I want the tourist cloth to collide with this tube so i hook this up into the third input of the velum constraint as you can see here this was our film geometry so the first input of the velum node is vel and geometry that's where I hooked up plugged in the torus into because I the torus is my geometry the geometry that I want to turn into a villain cloth now the second input of the villain constraint node is accepting a constraint geometry so this is the constraints that tell the velum object how to behave on the surface if you has pressure points like a balloon it has to be so there's pressure pushing it outwards so this is where you hook that all and as you can see the constraints live inside the velum world so it only never disappears third input accepts a collision geometry that's the tube that I'm trying to that I have created here that I want the torus Belem geometry to collide with so that's why I hook it up here on the third input now let's put the render flag on the velum solver and I'm just gonna play it okay so now we're starting to see it see a bit of cloth reaction now there's a bit of stiffness so as you can see it keeps going back and forth there's a bit of like vibration or flapping going on so there's a lot of vibration right here if I turn up the dampening of the stretch it reduces the vibration the jiggling a little bit that's it's not as bad the dampening ratio reduces the energy that is used to make the tourist cloth stretch and stiffen up so when the cloth tries to stretch out the stretch constraint will pull it back into place or stretch or let it stretch the dampening ratio is basically how much effort is used to pull it back into place so this is the difference between the stiffness parameter which is how much to pull back and the dampening ratio which reduces the effort or energy the stiffness is the amount to pull back on and the dampening is the effort or energy used to pull it back by reducing the dampening ratio it reduces the jittering or flapping effect on the cloth geometry now this flapping or jittering effect happens when Houdini is trying to calculate the stiffness and stretching while the geometry is fighting back causing a jittering and flickering side effect by reducing the dampening ratio it will reduce this side effect but also reduce the stiffness effect as well you need to find a good balance between the parameters not too much dampening and not too much stiffness there's quite a bit of intersection happening here which is fine for now because I plan to inflate this course down the tree after it lands on the ground if I really wanted to simulate a cloth I would have used like a flat plane geometry like a grid I'm gonna hope the tourists back up into the simulation I wanted to inflate this tourist after it lands on the ground so that was the reason why I use the tourist and not upgrade I wanted to inflate it when it hits them in order to achieve that inflation I need a blend shape so the shape of the Taurus has to actually change so let's let's put this back to frame 1 and let's concentrate only on the Taurus for now we need a blend shape because the shape of the Taurus is going to change it's gonna change from being flattened so we're gonna I'm gonna hook this button down and plug it into the bun shape and then I'm gonna hold the tour shape so I have two shapes now in the blend shape in the blend I'm gonna shift this over so I want this one the position is different so I want the higher one I want it to blend between this shape and this shape which is the same offset position the one over here it has a different position so it's doing something funny so I want it to blend between these two because it has the same offset detect let me put the render fly back onto the blend shape now if I put the slider of this blend one all the way to zero it's flat so it's taking completely 100% of this one this flattened shape not back to the blend if I take this lighter and move it all the way to the right it becomes 100% of this shape which is the normal tourist shape which is this plug this node so that's what this budget does it takes it uses this slider and it takes how much of a percentage do you want it to look like this input that you put into here or this input so that's what the slider will do it's like okay if I want 50/50 if I want half of that each you put in the middle but in this case I want it to be blending zero I want it to be flat for the whole time until it collides to the ground and then I want it to inflate back off so let's put this into an animation and put frames in but I need to know which frame tourists simulation will hit the ground so let me put a template on the velum solver and then drag the timeline over because we've already send we've already cooked this so there it is hitting there actually let me change the background to block so you can see a bit better ok that's a lot better let me play this game so this is our film simulation it collides with the tube and then collides with the ground this is a good spot to inflate it so 50 frame 50 is a good place to start inflating it so I'm gonna select the blend shape and I'm gonna put a keyframe for the blend one so just ctrl and then left click oh sorry Alt alt and then left click it'll turn green so that's when you know it has a keyframe right there in the timeline you also see a green block on frame 50 that means a keyframe is on it now I wanted to quickly inflate after say 7 frames so I want this blend to have 100% I mean 1 so and then change it to 1 and then alt left click ok so I have two keyframes so right now it's not affecting the velum solver is not affecting the valance Immunization there's a little bit more we have to do let's give this a name I'll call it this rust out rest the out is there so it's easier to find then let's put the render fly back to the film solver inside the velum cellar so if I select the villain cellar and I double-click the films all working the hive into it and I can apply different forces to it right now I don't really want to force I just want to change the rest position so there's something called a vellum rest blend so I want to blend the rest position so basically the rest position is the original position of the geometry which is it starts off flat so that's the original rest position but then I want it to inflate so if the inflated tourists rest position will be different it will it's blending just as how I did the blend shape at the shape of the torus blends the rest position needs to blend with it so I'm going to put down this rest Bund I'm gonna hook it up to the fourth output now this is asking me how how do you want to update those how do you want to update the rest blend well I want to update it every frame so each frame the source well I want it it's on the salt level I modified the shape of the torah's on the salt level so for source I once saw what's up this is where I choose the out rest note that I put down this one the out rest and it's the for the mode I want blend just go and let's just see what happens it's not inflating our blend shape inflation like the way that I've inflated the Taurus with the blend shape is not taking place because we have the inflation happening at frame 50 and this is like 70 frame 75 and it still doesn't look like like it still looks deflated so it's definitely not inflating so nothing's this isn't working now let's go back into the film solver in the villain rest blend note this constraint group is actually asking for more information in order for the velum solver to calculate the rest blending the rest positions blending it needs like how will it blend and needs more information needs for data we can pass in like the bending and the stretching so the a cloth usually like it either bends or it stretches we have neither of that we don't even have that available if I click this there's nothing here available so let's go back up in the villain constraint so this is the villain constraint that I put down so this output I hover my mouse over it it tells me it's the velum geometry output if I highlight this if I highlight this node all right let me delete this if I highly highlight this belem constraint note I'm gonna pull up the geometry spreadsheet now there's a lot of data being added here a lot of data attributes being added here if I highlight the torus before it was turned into a vellum geometry there wasn't as much data I'm gonna right-click this and put the spreadsheet here so this is the spreadsheet when it's just normal tourist geometry and the one on the left this one is the vellum geometry the spreadsheet of the jet villian geometry you get a very distinctive difference is that there's a drop down here so this vellum Jean tree has a lot more data than the previous geometry the normal tourist geometry not only does it have more attribute data it has a drag normal drag tangent mass P scale has a lot more attribute data but it also has different a lot more different types of data so there's a fella Dom tree constraint geometry and collision so we're staring at the villain geometry right now let's look at the constraint geometry vertices primitives so there's a lot more data here on the primitives for the constraint geometry in collision geometry if I go to points these points are the points of the two that I put down and hooked up into this collision geometry so that's what this is what I wanted to show you so I'm just gonna close this one so I don't need that one I'm gonna put no so this is the output this is the output of this film constraint node from the villain geometry so I'm gonna call this is I'm gonna right click this and I'm looking a look at this spreadsheet so the one on the right here is just the vilem geometry the note that I put down here I'm gonna select this this is the villain constraint that we're seeing the spreadsheet over here what do you see well first of all what's different this villain geometry null node does not have a drop down there's no drop down here this one has a drop down because this one is a vellum geometry it is actually it's still in the villain world the one the null here that we have here is outputting just the geometry data so it's not a complete geometry object anymore we don't have the constraint information we don't have the collision information so we don't have that drop down anymore this drag normal drank tangent mass P scale is identical to the velum object that we had before over here when we have vellum geometry selected this geometry spreadsheet is identical to this so I'm just gonna close this for one second and I'm going to show you another one I don't know so this is the constraints the middle output here is the constraint constraint geometry so I'm gonna right click this null and I'm gonna choose spreadsheet so I can have it float floating over here select the villain geometry and I want to see the spreadsheet that's the one on the left the spreadsheet of the constraints is it's very different from the villain geometry constraints we don't have a drag normal-dry tangent mass piece girl instead in the primitives we have a dampening ratio rest length rest length origin stiffness select primitive of the velum geometry we don't have anything under the primitives here that's because this drop down I have filmed geometry selected now if I change this to constraint geometry ah there it is there's all my attribute data so what this drop-down does it basically selects what you which data type that you want to see from these three endless there's three different types of geometry data that you can view the villain geometry constraint and collision which is the three outputs and three inputs in this velum node basically you can view what's coming out of this villain geometry no there was just this no lie put down here or the constraint which is the middle output coming out of here and if I put a null here into the collision output I'm gonna close this I'm going to open another spread select the villain constraint and in the drop down here I'm gonna select collision geometry turn it into points over here and turn it into points over here so now we have the same we're looking at the same attribute data spreadsheet data so that's what this drop-down does it simply asks as you because the velum object is rather complex there's many types of data to view so they put down side effects put down a drop-down box inside Houdini so you can view the different data types the reason I mentioned this lets change us to constraint geometry in the primitives now I don't have the bend and I don't have the stretch if we come to the bellum constraint over here under the stretch section so I'm going to scroll it police now there's a stretch section and there's a bend section there's a output group I can actually output the stretch group so I want to check this now spreadsheet has updated it has updated with the new group section with the stretch and I'm gonna check this as well the Ben section as well I'll check that now there's another new group to bend so I want this to be i'll put it as part of the geometry spreadsheet data now this is useful when we come into here so let's go back to our villain inside our velum solver in here in the velum rest blend if I click this now sorry I think I have to re sim this we cook this let me cook this one more time now let me go back into this let's like this click this now we have a bend and stretch available so we need yeah we actually need both of them so I'm going to select both of them and I'm going to recoup the simulation one more time okay I'm starting to see in flight just a teeny bit here and it's suddenly there's like a big reaction here like this but this still doesn't inflate all the way not to not what I expected it to do so let's go back up let's go back to the filling constraints I'm gonna make the bend a little more stiff because I want it to actually the inflation to be more exaggerated so I'm gonna put 0.75 and I'm gonna try it again recoupment play it okay so we're starting to see something so let me just rewind the timeline just a bit so 50 was the frame that I start inflating the Taurus and look what happens here it's slow it doesn't fly so we see a little bit more inflation let me just pull this down so we have more realistic zoom in a bit so it does start to inflate but I still want a more exaggerated I wanted to actually you know flame to the regular size of the Taurus to what it would begin was so I wanted to be a little more so I'm gonna lower the dampening ratio a little bit so somewhere along the line while I was doing this example I changed the default I believe I changed the default parameter value of the stretch so let me just like this let me revert this back to the default value you right-click this and revolt revert to default so this was the default value and I'm gonna revert the stiffness back to the default value right click revert to defaults okay I wouldn't try again still not getting there in the velum solver so I was like the velm saw her in the advanced max Excel acceleration I want this to be I want the inflation the velum Solomon to work at a more accelerated force I want them lated Taurus to inflate at a more exaggerated effect so instead of 30 I'm going to put a hundred so I'm gonna replay the simulation so let's play there we go so it inflates there so that was a more a lot better effect that I wanted to be bladed Taurus sort of pushes its way out of that little small hole over here so it fell into this small corridor between the tube and the ground and it sort of pushes its weight out of it it had enough pressure from the inflation that was generated by the blend shape and it pushed its way out so that's what I wanted now you might be thinking so we're done not the velum solver has a different kind of file caching you don't use your normal file cache like this well even if you drop it down you might be wondering like which one do i plug it into there's like three outputs so that's the reason why the velum solver doesn't use the file cache it has its own file caching it's called them the limb IO now if you put this down you'll see that it has three inputs and three outputs as well so let's hook this back let's hook this up put the render flag here and let's take a look so it's it's identical to the file caching our normal file caching like what we have used to right here except we have an option to how we want to store it we can just store the jump geometry so that's this one over here that's this node over here that's this output over here or we can store the parameter and the constraints so this store is everything now where do you want to store it this is just like how we use the file cache this is exactly the same thing I'm gonna take this out the hip name because I have multiple files as I go through these tutorials you can keep that in I'm gonna check load from disk because I wanted to automatically load when after it's file cache and I'm gonna save okay so now it's saved now let's just play it once let's rewind this so I'm playing off the file cache oh and we don't need this anymore I only put that there for it just to show you so let's select the velum IO and I'm gonna just play well so this is a lot faster so I'm gonna check the real time toggle so it doesn't play too fast so we have our inflating tourists we're still not done velum also has a post processing node so velum post you'll see a post processing not make the simulation look a bit more pretty do a bit of post-processing on the geometry nice enough so you can render so let's throw this down not some tussle but the render like here now we have a few options here we can extrude my thickness I actually don't need this because this option would be more useful if you're doing like a cape and you want to 3d print it out or something that involves that needs a thickness it will just make your fellow beyond tree thicker so I don't need that rain for this for this simulation because the torus is not being punctured it's not it's a solid geometry it's not a plane so I don't really I do want more subdivisions in a high resolution so for the subdivisions I will choose Campbell Clarke and I'm gonna increase this by 2/3 now the best thing about this post-processing is that it's very fast the simulation is done this is this happens afterwards so if I put the subdivisions here notice that this has become a lot more dense as compared to what it was over here let me put the render flag here before the post-processing now you can see this is very low topology afterwards now this is a lot better topology it is no different ok I'm just gonna play it for you once and then I'll show you something else look how fast this is and look how smooth the geometry is putting the post-processing here is very fast it's very optimized I'm gonna put any more flag here and I'm gonna show you something I'm gonna put a subdivision here in between I'm gonna subdivide the regional tourist put it back to frame 1 the original tourist is low apology if we subdivide it at the beginner then we won't really need the post-processing right because all I'm using post-processing here was to make it higher resolution was to raise the resolution so if I subdivide it at the beginning I don't really need it so let's make three subdivisions and let's put the render flag on the volume sulfur right here and recoat the simulation this is a lot slower compared to what it was how it was running at the beginner sure it looks a lot great during the cook but you don't really need that there's a lots are you so here's the inflation happening and also the parameters that we have set up in the constraints and the villain users have now need to be modified so the subdivision on the tourist that I put this this one right here I'm gonna highlight it this red this red node here the subdivision red that I put down has now affected the velum simulation as well because the parameters I have set in the constraints are no or God enough are not strong enough to inflate it anymore and the simulation takes a lot longer to cook as opposed to putting a vellum post-processing and then doing doing the subdivision afterwards it's a lot more optimized that way because if you ever you you cook your you want the simulation to cook as fast as possible the post-processing if you ever change your mind one day if your old baby I don't need that mini subdivision or I want more subdivisions you won't have to re-cook the entire vellum simulation you can just use the post-processing and just adjust it because the post-processing is a lot faster and you have your simulation file cache using the villa my own as opposed to putting a subdivision at the beginning this is a lot slower so I'm just going to ignore the subdivision rewind it now because we had of Bella my own we had a catcher here I don't have to even read cook it the example I showed you before was I did it's not something I file cashed I have the previous one file cache which is awesome so this is how efficient it is cool I'm puttin out here and this is good for a render film simulations can be set up in the soft level like how I demonstrated in this video but vellum can also be used in the.net I'll demonstrate how to set up a vellum simulation in the.net contacts in the next video this video got way too long so I needed to cover the vellum dump netsim in another video I'll upload the different Houdini files I used to generate the animations you see all over this video and I'll also upload this Houdini project file that we've been creating throughout this video links in the description thanks for watching and sticking to the end
Info
Channel: bubblepins
Views: 42,359
Rating: undefined out of 5
Keywords: houdini, sidefx, vellum, vellum sim, cloth sim, vellum simulation, cloth simulation, balloon simulation, rigid body, houdini vellum, houdini vellum cloth, houdini vellum tutorial, houdini vellum masterclass, houdini vellum constraint, houdini vellum cloth tutorial, houdini tutorial, houdini cloth, houdini cloth tutorial, houdini rbd, houdini cloth sim, vellum in houdini, houdini vellum inflate, houdini beginner
Id: h0iAAY8Zpq0
Channel Id: undefined
Length: 37min 0sec (2220 seconds)
Published: Mon Oct 07 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.