Mograph Liquids | Mark Fancher | OFFF HIVE

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] all right next up we've got mark fancher hey mark hey how are you thanks for having me again good to see you so tell us a little bit about yourself um i'm a senior motion designer at a place called already been chewed and we do mostly like motion graphics for products lots of shoes watches um sunglasses regular glasses you know you know sports related apparel stuff like that and um so i do most of the houdini work over there we're starting to bring on some more houdini people so it's been really cool to watch that part of our team grow and um in addition to that i also teach the uh stop being afraid of houdini course with mograph.com and so i do have a love of sort of connecting with other people and helping them learn how to do cool stuff in this software excellent very much needed yeah so what are you going to be talking about today so today um i put together a little presentation on a couple techniques that we used recently in production and i like to call them mograph liquids um because they're used in a mography sense they're more stylized than a true traditional fluid simulation they sort of lean pretty heavily on the vdb tool set and um just kind of fancy ways of you know working with geometry and sending it through volume building to kind of create these stylized liquids that aren't necessarily um they aren't necessarily uh actually simulated liquid behavior but they sort of look like liquids in the way that they behave so i thought it would be kind of a fun thing to just show some stops approaches to um generating liquid-like behavior very cool well let's jump in cool hello everybody my name is mark fancher and i'm here with a presentation on mograph liquids so mograph liquids are i call them low graph liquids because they're not really simulated they're actually just leaning pretty heavily on volume building in houdini um to create liquid-like uh behavior but just it's all in stops there's no simulation uh whatsoever so it's sort of more of a stylized approach to creating liquid-like behavior and i'll be going over a couple examples of that in a bit first i'll give you a little bit of my background i am a senior motion designer at already been chewed um i do mostly houdini work there but a little bit of c4d and a little bit of after effects as well i'm also the teacher of the stop being afraid of houdini course on mograph.com it is geared towards kind of creating uh you know you know bringing people who are more comfortable with cinema 4d into the world of houdini for um motion design um i'm a self-taught generalist with a very wide-ranging background that eventually led me to houdini where i have been full-time in houdini for the past four years and here's a look at my reel [Music] [Music] so [Music] so yeah most of those clips were actually um clips from my work and then i took for one personal project at the very end there but um it already been chewed we are a motion design studio based out of dallas texas and we do a lot of uh product launches in uh promo graphics and sports apparel brands um you know new balance shoes watches etc so we are a team of generalist specialists so while we're all kind of capable of doing a little bit of um a little bit of everything we all also do have an area that we focus on for example i focus on houdini but i can do a little bit of c40 in after effects um and you know our producer um mostly our producers mostly produce but they can happen and do look devin cinema 4d if we need help um with that so it is a kind of a nimble approach and it's uh it leads to a sort of collaborative and fun environment where we're all kind of wearing multiple hats but we all kind of focus and bounce ideas off each other and get creative with our uh projects so it's really cool this is the space kind of a cool creative space you can see we've got graffiti everywhere bricks wood um a basketball hoop and i was all kind of put together by my boss up here in the corner uh barton damer who is the creative or sorry the founding creative behind already been chewed itself and here is a look at the already been chewed reel [Music] so [Music] bye [Music] [Music] so [Music] cool so the first effect i want to go over is the liquid formation effect we did for persol um persol is a company that makes sunglasses and um let's just take a look at some of the clips from that project so here's the universe spot [Music] cool um and then the next spot that we worked on was a lens formation spot so let's take a look at that um and now there isn't really a liquid formation effect going on here but one thing that i love to do whenever i get the chance is do a side by side of these velocity fields along with the uh particle systems that they drive um because i always think that's kind of interesting look behind the scenes to see you know how the velocity field is built and what the final motion of the particles looks like after the fact so you can kind of get a little bit of a preview of that just a little tangent but uh back to back to the next spot which is the calligrapher spot which is the spot where we did the liquid formation technique now this first liquid formation actually is a uh simulation we use the um suction force uh we did flip fluids with the suction force to kind of get the first part of this to um form but then after the first formation occurs we move into a sop setup where it is this sort of mograph liquids that i'm talking about so you can take a look at that here [Music] [Music] cool so yeah the effect that we're really talking about is what you can kind of see here it's um you know we've got the bridge of the glasses we've got all these different materials and we needed to kind of bring them on in a liquidly liquid-like way so what we essentially did was come up with a volume building technique which uh kind of brings them on in a wobbly kind of i don't know how to describe it stylized liquid looking effect so i'll give a little bit of a demo of that right now in houdini so let's hop over there all right so this is the setup for that now we wedged through each different material in the object so we did you know the frames separately from the lenses separately from the bridge etc and then uh but more or less it occurs in three main sections so we first create some base motion a little bit of a wobble or a jiggle that kind of makes it feel like it's liquidy and it's kind of undulating around then we do sort of an intersection sort of a sdf boolean operation and then we use sort of the boundaries of that sdf boolean operation to create a mask for our smoothing of the sdf so let's start off with checking out what we did to get the base motion so essentially what i do is i'll just remesh the lenses in so that we get this triangular pattern because i'm going to pass a transition attribute through it and i find that it works better if this is a little bit more random than a perfectly quoted topology next thing i'll do is kind of choose a starting point for the transition so i'll roughly place i'll roughly place a sphere out in space near where i want it to start and then ray it onto the geometry and then use that position that that um sphere is a bounding object for our starting points which are fed into this transition uh asset that i built i feel like any good uh any i feel like building a nice transition attribute for yourself is a good uh rite of passage as a houdini person so i'd recommend anyone uh go ahead and do that but you can see more or less over these over this uh time frame we are transitioning we are creating this transition attribute that is going from zero to one and effectively acting as our mask for this effect to grow on so you can see it kind of going from blue to pink that is this ramp right here ramping on as the uh as the transition attribute grows from those points over that we grouped as our starting points across the rest of the frame so then the next thing that i do is i transfer those attributes back onto the original topology so that it's super so it's nice and high res and then i blur the attributes out a little bit which you can't really see in the color here because it's um it's just a little bit hard to see as color but when it comes to mixing positions together it is kind of handy to have these extra smooth um and blurred out transition attributes across our points so the next step here is to create sort of a wobbly-like behavior so if i kind of play this back you can kind of see that it's got this sort of undulation like liquid might have it if it was suspended in air and then to get it to land we just put it into a um we put it into a point wrangle here where we just look up the position of the um static frame and then we mix it with the position of the wobbling frame based off of that transition attribute so if i scrub through this you can kind of see it landing there just going to switch back to my presentation to get a closer look at that so here you can kind of see the geometry sort of landing into place as that attribute passes through it kind of goes from wobbly to landing into its final position like so um but that looks very regular so what we wanted to do was actually um do a apply a little bit of wobbly behavior to it so the way i do that is i send it through what i an asset i created called a spring solver and essentially what that does is it uh just hide that what that does is it um adds a little bit of jiggly behavior to it um to the motion so instead of it coming to a dead stop it kind of jiggles a little bit now i went over how to make this spring solver in my last hive talk um from uh about from about a year ago so you can um that should be on the side effects youtube channel or something like that but if you want more detail about that but yeah basically the spring is the spring solver just allows things to jiggle around a little bit instead of landing solidly so the way that looks is like so so you can see instead of it landing super hard it kind of has this nice like little um extra undulation to it as it's sort of getting to its final resting position but then once it does stop jiggling it is really fully resolved in that perfect sort of position of that frame cool so the um next thing we do is we then take this wobbly sort of behavior that we've created and we want to kind of bullying that off and the way we're going to do it is convert it into an sdf and do an intersection with our original geometry but what we need to do is we we need to actually sorry i misspoke what we need to do is actually create sort of geometry based off of where this falloff is happening to cut our lens apart and only reveal what has been transitioned to along this attribute so the way i do that is we take our input mesh again here and we just i just turned it into a density v to be density and then scattered points throughout it so now that i have these points i can actually assign a particle scale based off of that transition attribute so i tr so i transfer that transition attribute back onto the particles and then use this little wrangle here to control the p scale based off of that transition attribute and kind of ramp it on so if we take a look at these sprites you can kind of see how that looks you see that as that transition attribute passes through those points kind of grow on and uh if i were to do an intersection on this it would reveal where the glasses are starting to form and just to make sure that these points are moving along with our geometry i add a little bit of a i just tr i use a point deform to get that same jiggly behavior from our previous wobble onto this um particle uh this particle reveal that we're doing here so the next step in that is to do a vdb from particles and so you can kind of see that uh forming here vdb from particles kind of is is bringing on that shape but one thing that we don't really want to do a boolean an sdf intersection with this yet just because the ends of it are kind of particularly still they're kind of broken up and we kind of want to have a nice hard edge here so what we do is we smooth that off so you can kind of see that here if i um play this back you can kind of see that we get this smoothed sdf to cut our geo out and it's already starting to look pretty liquidy um with that cool so then the next thing that we do is we we convert our original wobbling geometry like this into an sdf and then we do a vdb combine on those so if we get those combined together you can see them that kind of looks like this so it's starting to look more liquidy by the moment but you can see here what we've got is um it sort of looks like a hard edge here it does look very booleany still because you can kind of see where that intersect the edge of where that intersection uh is here so what we want to do is actually um provide a little bit of additional smoothing but localize it to the area where this um sort of boolean edge is appearing and so we get a mask we can apply a mask to our vdbs by in a similar way we can create our mask for our vdbs using a similar technique to what we did up here when we created our intersection surface in the first place so what i did was i brought in the geo that we used to create the transition attribute and then i used it to create a density attribute and a p scale attribute but instead of the p scale attribute increasing with this transition now we're going to decrease it so you can see that with these ramps right here and so when i scatter points on that you can see them kind of disappearing as they go across that means they're basically just shrinking down to zero and then being deleted and if we do a sprite if i show the sprites on that you can see uh we've got very much larger particles here and that's because i want to have more of a taper between the smoothed and unsmoothed uh parts of that vdb so then what we do is a vdb from particles like so and that kind of gives us that the the area where our this is the sdf where the smoothing is going to occur and then i just convert that into a sdf into a fog and then in this volume wrangle right here what i do is i actually am just looking up its position in the sdf to add further fading around the edges so if i were to kind of turn that off you can see that it's kind of hard to see but um this is a little bit higher contrast but when we um look up the position of the density so it's gradually the further inside that this original sdf we go the higher the density and the more the masking is occurring and that gives us a nice little feather over here when we apply this as a mask so i did a little bit of a time delay so it's just kind of lagging behind our original reveal just a little bit and then i'm applying a reshape in a smooth so what the reshape does you can see here i'm actually enlarging the regions that are being masked off slightly just so that they don't get smoothed away if you smooth things too much they sort of just disappear so i wanted to add a little bit of volume around this leading edge so that it didn't disappear as quickly and then i apply the smoothing to it so if i turn that on you can see that we get this sort of kind of these edges sort of look um liquidy in in that way so if i turn off that reshape you can kind of see that it gets really pointy and we don't have as much of a gradation up there and up there it actually kind of works pretty good up there but in other areas you kind of want that because see how this gets broken apart right here so if we add the little reshape it does allow this to kind of remain intact and look liquidy a little bit longer before it lands in its final resting shape and then we convert that back into a polygon and we are left with sort of that transition so let's go take a look at that that's going to be over here this is the final deformation you can kind of see it building on in a liquidy way over here and then it sort of resolves jiggles and lands in its uh final uh in its final state so uh yeah that's kind of how that works the one downside of it is that this for this demo is a pretty low resolution version of this um just so that we can kind of get through the demo okay but um you know in production i actually had to do this at a pretty high resolution so that can be kind of a tricky thing to deal with um definitely takes a lot of resources but certainly very flexible in the end let's take a look at that spot one more time just to see it in action all right and for the last section um i wanted to go over this liquid extrusion effect that we did for a company called training mask training mask makes these um makes these uh masks that you wear while you're exercising that somewhat restrict the flow of oxygen to help you like improve your lung capacity and stuff and with kovid they created a version that had like extra filtration on the mask that you know will sort of protect you from you know covet or viruses or something um so let's just take a look at that [Music] spot [Music] [Music] cool so you can see um we had a bunch of cool effects that we did in there we had this liquid extrusion and you had this water droplet with surface tension evaporating into particles and a weave shot and if you had asked me which shot i thought would be the most complicated it would have been any of the ones except for the one that was the hardest it would i would have thought maybe the weave would have been harder or that the water droplet would have been harder but really it ended up being this one um because the challenge was kind of getting this sort of liquid-like behavior but also having these really hard you know chiseled edges around the geometry so let's just take a closer look this is this um is sort of a lower res render but i kind of bumped the lighting up just to get a better view of what the effect is actually doing so you can see here that we're pulling it out of this liquid and it kind of gets this nice tapered edge around the bottom this is sort of replicating an extrusion technique that you would see in 3d printing but it also still gets us these nice hard edges um around the geo again like the last example this had to be done at pretty high res so there is that to consider when working with um super high res bdbs is it can be pretty resource intensive but it ended up working for us so a little bit of background here's the inspiration for that kind of a thing it's a resin extrusion process so it's sort of a pool of liquid that a laser kind of burns a little um a laser kind of shoots up the bottom of it i think and kind of causes it to harden but as it's pulling the object out of the liquid you sort of get these nice kind of like curved edges um as if you know something was being pulled out of a super viscous liquid with a lot of surface tension cool um so initially we i was working with this in trying to make a simulated version of it and it the simulated version and looks pretty cool um i really liked how these little holes and pockets kind of opened up but what we ended up with was you know very with all the smoothing that needed to be done with it these edges around the um great ended up being super curved and not having very much definition so i thought to myself could we just not sim it and come up with maybe a way to do this with smoothing vdbs kind of like how we did in the last spot and that's where i remembered this document that i found on the internet from sony image works and it's this imageworks library level sets in productionspiderman3.pdf file and i'd i'd seen this a bunch of times and i looked at it and kind of had my mind blown by it but basically this document you can find it on the internet um is it's more or less how to be using level sets in production to create um these kinds of uh weird smoothing effects uh using uh sdfs and um you know we have sdfs in uh in houdini that would be you know our vdb tool set and stuff like that but basically the effect that they used was uh the the effects they used this for was for the sandman they have cool sequences involving the sandman intersecting with piles of sand and instead of just having the geometry intersect they wanted to have sort of a smoother transition so they this geometry blending section of this paper here they talk about you know having your sandman geometry and your pile of sand geometry and how they can kind of get a nice smooth transition by using uh this formula right here so the way this formula transfers over to uh vex it kind of looks like this basically what we want to do is we want to take what right here this says the max of a and b and you can see that in the c we're solving for c we want to take the max of a and b which is essentially a union of the two volumes we already have a union operation in our vdb so i just sort of left that out of my final equation here but um so i use the union of the vdb tool set but then i apply this formula here we want to actually create m raised to the beta times gamma so m is this the big old thing right here basically what we're doing is we're taking this alpha factor which is the filling filleting distance and b is the blending curve exponential and gamma is the size of the extrusion in the blending area um and i don't really know what all that i don't know really what all those variables stand for but i just plugged it in into these equations right here you know i just kind of copied what they had going on here and plugged it all in and started messing with the sliders and seeing if i could get an effect similar to what we had through trial and error i did have to do something like this which is instead of adding here i did add i did use a subtraction um and i'm not using absolute values on these uh on these little um variables right here and the reason is i think due to the fact that um sdfs maybe that they were using are measuring um positive values on the outside of the surface and negative or positive values on the inside of the surface and negative values on the outside of the surface whereas the vdb tool set is opposite it's positive values on the outside of the surface and negative values on the inside of the surface so it was sort of a trial and error for me but i came to this sort of conclusion at least in a sense that it worked for me i'm not sure if it's 100 right but it ended up working so that's kind of what you do sometimes um so let's take a look at a demo of that in houdini hop over to this one right here so here's a really uh basic setup of the basic version of this we've got our our geometry a which is this box and our geometry b which is this tube and basically what i do is i convert both of them into an sdf um like so but i'm giving them a decent amount of exterior band voxels and we need the extra exterior band voxels to be able to uh say you know how basically to cover the um regions that are going to be filleted so then what i do is i take a union of those two and then i create a blank vdb and use the union of these two to activate that region inside the vdb then using this activated region that i've created i used that then to further increase the activation region of our original sdf so you can see that a has its region activated larger and b as well has its region activated from just a little bit around it to a much larger space now i'm not sure if that step was necessary but i just did it anyways because um in the troubleshooting process it was just one of those things that i came that i came to and then all of those get fed into this volume wrangle and this is the same volume wrangle that we were just looking at in the in the previous slide and you can see here that when we convert that back into a regular uh without the volume wrangle it just sort of intersects and with the volume wrangle you get this sort of nice taper here and if i just mess around with the values you can kind of see if i go beyond a certain point with the alpha value it does just start dilating and i think that's because i would just need to increase my exterior band voxels if i wanted to make that go further but i can kind of increase the the distance of that extrusion and also i don't know it's this is where it gets confusing for me because beta almost seems like it's doing the the same thing but um i think gamma actually is controlling the curvature of that so if you go to super high values of gamma you can actually get it to bulge outward and uh like so so let me just crank beta back up to 10. and yeah you can see it's kind of more of a hill at that point um so we're actually able to get sort of more of a you know different kind of shapes at these intersections depending on values that um you want to use so uh you know for me if i just switch this over to maybe a taurus you can kind of see we get a different effect here but um for values that worked for me i think i had this at one ten and five yeah we kind of get like um a little bit more of a just a nice little taper between the two objects and you might be able to think like oh i could probably do that using um like smoothing or something um and you know i i think i initially tried to do it using smoothing um but you know if you're going to be doing a combination operation and then smoothing on all of your geometry you do kind of degrade the actual rest of the geometry now you could localize this using masks kind of like how i did in the previous example i think that i might have tried that at one point but knowing that this solution was out there and i had to figure out a way to do it i ended up just going that route for the final project cool so that's how that works and then now let's just take a look at a little bit of the behind the scenes of the training mask spot to wrap things up [Music] [Music] and that is all i got for this presentation thank you so much for watching and happy houdini everybody i hope to see you again soon
Info
Channel: Houdini
Views: 17,538
Rating: undefined out of 5
Keywords:
Id: lYu6ZYiNgyA
Channel Id: undefined
Length: 31min 41sec (1901 seconds)
Published: Mon May 10 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.