SideFX Houdini - Mystic Tower - Procedural Modelling part01

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey guys welcome on the new side-effects Houdini tutorial it's been a while and things are moving a lot of my site but still trying to find time to give hopefully what is some valuable information on my youtube channel also now I will be releasing some bonus videos on patreon so adding a link in the description if you'd like to contribute so today I want to talk about the creation process of my latest personal project mystic towers it was a fun little challenge using Houdini's procedural power and the rendering engine v-ray I will walk you through different techniques I used to achieve it and there will be of course some extra tips and tricks for patreon subscribers so the advantage of Houdini for this type of asset is that it gives you the flexibility to change any feature like the number of steps into the stairs and runt of columns brick shapes position of the doors window at any moment also it's a great way to make sure your model can be fractured so maybe at some point we will just play with these towers and shoot some cannonballs at them we'll see but today I wanna show you how to set up the main shapes like the stairs doors railing supports which is the foundation of this tower so without further ado let's dive in let's get started with a tube geometry I'm gonna increase the height and copy this parameter that we're gonna reference into the center why divided by 2 so the geometry stay on the ground perfect now if we change the height it's adapting perfectly let's switch the primitive type to polygon suite let's apply a red color to this node because it's the most important parameter we need and let's create a line so this line is going to be the spiral so I'm adding a point node and the great thing about this point is that it contains different preset of expression that allow us to do different things and in our case there is the wide line to election that basically convert a simple line into a more complex model of hellix so let's increase the amount of point into their line and we start to CD Alex could increase the turns to see the spiral going and we want a constant radius so let's flatten this curve like so and let's copy the height and we're gonna reference that into the height of the line great so let's merge those so because of that it's now possible to tweak just this parameter it's going to affect the spiral we would like also this height to affect the amount of turns that passed relative reference divided by three it can be whatever we want depending on the spacing that you need and yeah in there let's also past the radius so now it's probably following or tuba and yeah I'm dropping a poly wire just to show you guys what is looking okay so we're gonna do some shaping on that stuff we need to extend it so the first thing is we need to group the first and last points and so the first one is always zero we're gonna call that extend and let's add a group by range so this nut will allow us to group the last point that's at the group title point and invert wrench so group name is gonna be extend and we're gonna need a union with the existing group this way we still get or point zero part of the group and we're gonna drop a copy to point and we're gonna copy this line basically like so so we're gonna isolate just the extend group so let's blast everything but the extent points like so and we're gonna change the direction to direction to one and X and let's merge those so as you can see we need to orientate the line properly so we're going to drop a poly frame said the tangent named as the normal okay so that's pretty cool so the direction now should be straight so we didn't have flatten that using an attribute triangle and type at n dot y equal zero this way every normal is flat so can I do an attribute transfer and you can just transfer the normal so now those pounds are inheriting the normal of the polyframe so right now the lines are affected by the new normals let's just set the direction in one in z so looks like we need to reverse the last point though so I'm using an attribute for angle and let's group the point one it will affect only the point one so we're gonna type at n multiplied equal minus one so which is the same thing and writing at n equal at n multiplied by minus 1 so let's project these points so I'm gonna create a null here and let's set the method to minimum distance and we need some points on this line so good every sample and let's merge the Ray okay so I'm gonna set it little color for these points now if we change the length it's gonna follow properly the tube okay let's move those clean the graph okay we got to a proper extension and we got three primitive ideally we'd like just one primitive for the old spiral so I'm gonna maybe try with the shoes as you can see it's just merging the points but not the primitives what you need is a poly path and let's enable the connect endpoints and now we just have one primitives if we check out the spreadsheet we have 0 while before we have 0 1 2 into the primitive number okay let's resemble that to get a uniform flow of points sweet so that could be a good base now we're going to merge that with the original cylinder alright time to work on the stairs so I'm gonna drop a transform and scale those points to define the width of those steps so let's first Center the pivot which till our CX CY cz and let's copy the scale X and pass it as relative reference in scan Z so that we make sure it's consistent and let's merge those two lines now we can just drop a skin and it's going to make some polygons for us so perfect let's merge that actually and we're gonna use a facet to detach all the different polygons like so so I'm gonna drop the primitives now and enable do transformation and scale Y at 0 it's not changing because I think gasp angle was too high again so let's reduce that and now every steps is working individually so that's pretty fun in all case we just need to tweak the scale and yeah let's probably extrude those so now we can work on the height of the steps alright if you're familiar with my previous tutorials you know that I like to apply a green color for the most important parameters so different sample would be to define the amount of steps these transform here the scale X would be for the width of the steps so let's apply green color and now it's time to work on the railing so I'm going to exfoliate shrewdest this line and I'd like it to go in this direction in Y so this will define how thick is the base of the railing so let's keep going we're gonna fully extrude that and increase the distance so in a negative way this time let's output back and also front group so that we can work with this front group so I'm dropping another poly extrude and I'm calling this extra front and now you can notice if we insert some polygons in there then again we need the front group let's call it X right front to just to make it different and we're gonna call it into this new poly extrude extrude from to the group and decrease the distance so that now we are carving this rail so let's reverse the normal when it's blue it means they're normal and reversed so let's fix that and it's looking good so I'm gonna drop a transform just to adjust the position real quick in why something like that would work so I'm gonna apply a color this would be the width as you can see so this would be the height or thickness whatever you want yeah so I'm actually gonna drop a knoll I usually like to keep everything organized dropping some no so that would be output stairs that would be output I don't know main shape all right so we're gonna work on the second part of the railing so in this elixir that we're gonna need to expose the side group and let's blast the side group extra side okay and we can isolate the top face so I'm gonna call that top let's disable that and enable the normal and let's tweak the spread and goes and actually the normal in this case since they're your reverse we should aim at minus one and let's bless the top so now we basically isolated the top okay could I do a little inset just to remove some of the thickness that we have on all original rail and let's actually just uncheck output side now we can do another poly extrude and that would be the height so doing a transform extrude front and global and increase the translate Y so let's reverse the normal again and actually we need the same value of transform that we had so let's copy the transforming past its value as relative reference and now they can move together okay so reversing the normal now everything is clean gonna call this one output railing Center something like that okay so it's getting in good shape as you can see if we start changing the height everything's following properly it's important sometimes to like try that and see if there's something going on if nothing's going too crazy okay so in that case seems fine okay I'm gonna create a null here and let's call that output main path just to keep everything organized and I'm gonna add a recent poll actually and we're gonna work on the supports the support of the stairs so we're gonna decrease the amount of point we don't want something too dense for those and yeah let's actually use a copy to point so this would be the point template and let's just drop a box to test so that box is too big and let's increase the Z scale all right so to orientate those properly we need the poly frame and tangent name as normal and this time we let's change the style to primitive centroid so looks a bit funky but we're gonna copy the this attribute wrangle that was flattening the normal so I'm gonna rename it properly put a color just to remember it's an important note so I'm gonna pull it just after Tapley frame and now it's working properly on the details we need to adjust the pivot of the box so I'm gonna do the trick with the divide it by two and since we are tweaking the uniform scale we also need to copy the uniform scale parameter and multiply it at the end and let's reverse that and seems to work pretty pretty well I think let's see so that's gonna be output support stairs okay so happens to be two bit wide let's reduce that and yeah that would do the trick I guess so could probably translate this guy a little bit that it's not so stuck inside the stairs yeah something like minus 0.2 times all right okay you get the idea also we could feel the stairs so I'm gonna use a poly extruder after the skin in a separate branch something like that let's output back reverse normal and merge this leaf with the steps yeah something like that I think will do the trick just so we don't see the inside of the stairs okay let's actually apply some colors and rename some nodes so that would define the amount of supports fun stuff though this one would be the thickness of the center rail yeah so let's cool it with and that one would be the height okay it's time to work on the door so I'm gonna drop a line and I'm gonna increase the amount of points of course and let's transform that so what we gonna do is do some shaping on that stuff we're gonna use actually very simple instead of the points just so we can get the curfew attribute and let's do the import point can I get the first input point position and the second input and mix those together so as you can see we change the bias work and let's bind the curfew attribute so we are bringing the curfew attribute and let's tweak it with a REM parameter set it to spline you're dealing with floats so the names gonna be shape now if you start changing the ramp look it's gonna affect the points so that's pretty fun one thing though let's just smooth that with a b-spline interpolation now we can work with a poly extrude to extrados point and it's gonna be the frame of the window so actually let's transform extras front in global and the scale to zero that would be defining the main shape of the door sweet so this would be controlling how round is the top of the window basically okay so we're gonna put extrude that to give some thickness and we will use that to boolean the main shape but before that we need to define the position of each door so we're gonna use the spiral to define those points so we're gonna actually use a delete node and just keep the base of the spiral like that I'm using the bounding box to delete everything but this section and that's a very simple actually from there I'm going to isolate the middle of this sex so I'm gonna call this group middle and the past relative reference the resemble segments so the expression is going to be at Pt Nam which is the point number divided by two this way if you increase the segments you still end up with the middle point all right so from here I'm gonna use a delete and keep everything but in the middle point okay let's make some room maybe you're gonna move this here and let's drop a copy to point now we're gonna copy your line again and this line we get a compare this line with the spiral and check for intersection so just making sure that the height is the same denver-based shape as you can see it's crossing the spiral at multiple intersection so we're gonna use an intersection analysis to extract the points between this line and the spiral like so so I'm basically copying my door shape now the thing is that the pivot of my door is not exactly at the right place so I'm gonna use the expression dollar weiming and - why me in here to move the object at the center of the grid so now I can scale this down and actually I'm gonna move this back here I figured that might be a bit more simple to merge with the with the main shape so I'm adding a boolean and now that would be connected into the main shape so maybe this one would be closer and the Sagami input tool or copy door so we need to move those doors a little bit so we make sure that they are intersecting we were geometry and actually we're going to also add divide on this stuff on this main cylinder and add some division in why so I'm using the pricker polygons to add some segments and basically we can extract the normal and copy it onto all points that the doors got the proper orientation okay so attribute transfer again and let's transfer just the normal and now if we disable and enable we see they got the proper orientation they are following the circle okay so that's right let's move this here and let's check out we got all the little doors so that's pretty cool alright let's add a bit of height I'm gonna rename that poly extrude height something like that that's looking a bit taller I think I'm gonna add some thickness to this wall that could help its output back and reverse normal sweet so flat shaded let's try to see how it looks if we play with the height of the tube yeah so as we can see the door is gaining constructed as the height goes up that's a bit weird ideally we would like the door to appear only when the tube reach a threshold of height so we will probably set this up in our video for now we're gonna keep moving and actually we're gonna load geometry a custom geometry for the stairs support so we're gonna replace this geometry instead of a basic cube and let's make sure to pack an instance it to optimize no scene I'm going to orientate properly this little guy so the scale is also be too big in my case right doesn't look too bad let's compare it looks like I need to rotate this shape okay so it still to be compared to my box so reduce that all right let's just plug it and see how it looks yeah I think that would do the trick now quickly also add some detail on the railing so I'm gonna move these a little bit and in here we basically gonna copy the stairs support set up and we're gonna add some more boxes yeah something like that and probably make them higher and taller and we're gonna bully in those shapes so let's make sure that it's crossing the geometry properly so when I need to move a little bit this cube so something like that okay we got a couple of things to fix first we don't have enough boxes I think we should try to feel a bit more the rail something like that and probably decrease the size X yeah so we got more repetition and also that's output back on this body extra height so that we have a closed volume and it is where the boolean is working fine so I'm gonna use a transform on the bottom rail this time and we're gonna move it on top of the center rail so to do that I'm passing there's relative reference the height of the rail Center so now it allow us to basically do another boolean another layer of bullying on to our boxes and when we do the second pauline it's gonna create some more interesting lines I think yeah something like that if we compare before after looks a bit cleaner little detailed but well okay let's connect the proper inputs so it's pretty basic but it gives you the right idea of procedural thinking and if you subscribe to my patreon well my first video is about showing how to detail this rail so doing some extra operation and little different workflow instead of using a standard copy two-point I'm basically using a copy stamp and using a stamp function to drive the inclination of the pattern so that it's keep following the spiral in a nice way otherwise all the pattern looks straight so that's a little detail that helps selling the look so I'm actually showing in the tutorial how to make those shapes and setting up the banking attributes to derive this stamp function alright so we'll end up with something like that otherwise I'll see you in the next video that's it for today guys thank you for watching I hope it's been useful let me know in the comments if you have any question and as usual if you liked consider subscribing and click the belly button so you make sure you won't miss the next video I'm also preparing some viewer content so a lot of cool stuff coming see you guys next time
Info
Channel: Adrien Lambert
Views: 37,144
Rating: 4.9755244 out of 5
Keywords: sidefx, houdini, tutorial houdini, tutorial procedural modelling, indian tower, mystic tower, procedural art, houdini beginner, houdini introduction, houdini for artist, houdini environment, houdini heightfield, vray for houdini, chaosgroup vray, tutorial houdini rock, tutorial houdini bricks, tutorial houdini stairs, tutorial houdini basics, adrien lambert, adrien lambert tutorial, tutorial houdini modelling, adrien lambert patreon, tutorial 3d, technical art, techart
Id: afHVjiNeH7A
Channel Id: undefined
Length: 25min 36sec (1536 seconds)
Published: Sun Jul 05 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.