 All right, so now we've got our shape in place. Let's go and build out all the ramp geo. And this is basically gonna be split up into two parts because if you look at a lot of ramps, they have this metal piece called the transition down at the bottom of the ramp. And it's a good amount of space down at the bottom there. And so I need a way to split the curve that we've created with the shape into two parts. So let's go into Houdini and get all this stuff built out. Okay, so let's get the geometry built out for the ramp here. And this is gonna be split into two pieces. We're gonna have the transition down here. And then we're gonna have the ramp geometry. All right, so before we actually do that, let's go and promote some parameters for you so we can actually control it from our HDA. So I'm just gonna right click on this guy right here and open up my type properties window so I can start to populate the parameters here. All right, so a couple of things I want control over. I want control over the radius in X. So I'm just holding down ALT and then middle mouse clicking over the label here. And that allows me to promote those. You can also highlight the number and click and drag it using the left click, all right? And I'm also gonna get the, I don't think I need the divisions, but we definitely want the arc angle for this guy right here. So I wanna promote that guy, all right? So I'm just gonna leave these guys named up this way. And I wanna actually clamp the range for the arc angle here, all right? So I'm gonna clamp it between zero and actually zero would not make any sense. So let's do something like minimum angle of maybe 10, yeah. And then the max angle is gonna be 90 because anything over 90 for a quarter pipe would not be a quarter pipe, all right? So that's our max there. And our default is set to 90. Okay, so the channels here, this is how you set the default value that appears. All right, I think these guys are fine. We definitely don't want any negative values. So let's select both these guys and just put these to zero and clamp that. And you know, while I'm thinking about it, we probably don't ever wanna go to 0.01, I mean 0.0, all right? So we'll leave it at that and then we'll leave this guy open here. So all right, those guys are all set up, good to go. Let's hit apply and accept. So now we have access to our HDA parameters. If I hit U on the keyboard, I can come up here now and I can start to affect the shape of this, all right? So I can affect the shape of my actual ramp to get different angles and different radiuses, stuff like that. All right, cool. Let's dive back in. I'm gonna double click this guy and let's focus on getting this curve split into two pieces, all right? So what I'm gonna do is I'm gonna create a object merge node, all right? So let's drop down an object merge node and I'm gonna call this get shape. So I'm just gonna rename it get shape. And the reason why I'm doing this because I don't wanna have a really long and messy network that's all combined together. I'm gonna split this out into separate systems, basically our parts, okay? It'll help you just stay focused and a little bit more manageable when it comes to defining your networks here inside of Houdini. All right, so what we wanna do is we wanna select this object merge node and I wanna just click and drag this out ramp shape null node into that object one. And then I'm gonna turn off the import transform because we don't need to import any transform information. All right, so this node now actually has the shape in it. So if I put the display flag here, you can see we now have the geometry. So we've just effectively sent the geometry from the null node over here. All right, it's a really cool way to work. All right, so let's go and get this guy split up here. So what I'm gonna do is I am going to drop down a carve node. All right, so this carve node allows me to carve a curve. All right, you can see by default we have this first use parameter available to us. And if I move the slider, you can see this point is actually carving the curve into a smaller section. All right, and it goes from zero to one, which is perfect. All right, so I'm gonna use this to define the length of the transition for our ramp. All right, so what I wanna do is I'm gonna set this to something like 0.13. That looks pretty good. And I'm gonna keep both the inside and the outside. And what this is gonna do is actually gonna produce, if we come over here to our primitive number display, it's gonna produce for us two primitives, okay? So that's great because now what I can do is I can develop geometry for both the ramp and the transition geometry. So I'm gonna drop down a split node, okay? And I'm gonna feed in the result of this carve into that split node. And with that, what I can do is I can come up here into the group and I can give one of those primitive numbers to this guy and it'll split on that number. So if I put in a zero for the group, you can see we're left with just the curve for the transition area. This is awesome. And you'll notice that the split is actually splitting out both pieces of geometry, okay? So if I were to put down a null node here and then just use the alt, left click and drag to create a copy of that null node, you can see now I have access to both those pieces of geometry, all right? So it's sending it out the two different outputs there. So there's our ramp curve and our transition curve. So we'll call this out transition curve like so. And let's just copy that and we'll paste it over here. Let me do that one more time. All right, there we go. So we'll call this out ramp curve. Awesome, cool. And I'm also gonna go and change the styling of my wires at this point. I've been liking this style lately. So shift S on the keyboard allows you to change or cycle through the wire designs. Okay, cool. So let's go and get the transition all figured out here. So the first thing I wanna do, I need to get rid of all the points that are on the inside of this guy. So a great way to do that, I'm gonna use a group by range node. So let's get our group by range. There you are, okay? So I'm gonna feed the current curve into that and I'm gonna set my group type to points and I'm gonna call this ends or actually let's call this inner points. Yeah. So what I wanna do is I just wanna select all the points that are on the inside. Now what's great about this group by range node is it allows us to define a start and end. So if I put this start up to one and the end up to one, you can see now we've grouped just those inner points. Perfect. What I can do now with that information or with that group, I can actually drop down a blast node. All right, so I just hit tab and start typing out blast. So I'm gonna drop down a blast node and we are gonna blast away all those inner points. And this just leaves me with a nice clean line, which is great for our transition, okay? So let's go and get this guy finished up. I'm gonna go and drop down a sweep node here. All right, so let's drop down a sweep node and I'm going to, well, at least you'll notice by default you're gonna get this warning right here. So to get rid of that, we can actually utilize the built-in shapes now. The reason why you're getting this warning is because currently it's asking for the second input cross section. So any sort of cross section that you give to this second input here. I'm not gonna use that. I'm actually gonna just set this to ribbon. And you'll notice that we're getting a nice clean shape here. So one thing I wanna make sure that I do just to make sure that this geometry is always facing upright is I'm gonna come up to this construction tab here and then go to my up vectors and just make sure that my target up vector is set to the y-axis. All right, so this is always gonna point in y. Awesome, cool. So let's make this a little bit bigger. All right, so this guy is gonna be, let's say that's three meters currently. And you know, that's a pretty good size. We'll leave it at that for now. We'll probably end up making it bigger. Now I don't need all this extra geometry on the inside, at least not for now. So I'm just gonna go and hide that or just set the columns to one. And then the last thing I wanna do is I wanna generate some UVs with this guy. All right, so I'm gonna go to UVs and attributes tab here inside of the sweep node. And I'm gonna select the compute UVs. All right, so I'm gonna hit save just to make sure I saved my work. And then I'm gonna hit five on the keyboard and this is gonna take me to my UV view. Now by default, this particular construction of the UVs is normalized computed use and it also has the length weighted. In this case, I wanna actually get the real shape of the 3D model in my UV view. So I'm gonna turn off this normalized computed use and I'm gonna go into my UV seams drop down here and turn off the snap to U and V. And now we get the real shape of our model in 3D space and in 2D space or UV space, I should say. All right, so now we need to create the thickness for this guy. All right, so let's go and drop down a poly extrude node like so, cool. And what I'm gonna do for this to drop the front extrusion down to the world zero. So to do that, I'm gonna go to my transform extruded front and set the transform space to global and then just set the Y scale to zero and look at that, we now have some depth to it. What we need to do is we need to actually output that back and there we go. So now we have a solid shape, but you'll notice that we're getting this kind of, you know, really light or desaturated purple color. That just means that our model's reversed. If you actually hit D on the keyboard and you go to your optimized tab and then you turn on your removed back faces, you can see that our model is flipped currently. All right, so I'm gonna leave that on for now, but that's what that shading means, that darker purple shading. Okay, so let's go and drop down a reverse node. Awesome, and there we go. So now we've got our transition shape. Now, we don't really need to have this bottom piece. So if we go to this poly extrude node, I'm gonna not output the front and look at that. We now have a perfect piece of geometry that's great for our game. It's nice and optimized. And we've got all the UVs for it. So you'll notice that in the UV view, we've got this extra strip over here. So in the poly extrude node, if you come all the way down to the bottom, you'll notice that there's this texture coordinates option here and it's generating the unwrapped texture coordinates for the sides. So it's helping us generate all those UVs. So we're good to go. All right, so we probably wanna go and throw down a fuse node because there's points right on top of each other right there. Cool, so let's drop down a fuse node just to clean that up. And then finally let's go and create a group node to group all this geometry just so we can't access it later. So I'm gonna call this transition. Awesome. Well, it looks and that's looking pretty good. So let's actually give it some, you know, color. So I'm just gonna kind of simulate that it's some sort of like aluminum or something like that. Make it a little bit brighter, desaturated. Yeah, something like that, looks cool. All right, so let's go and drop down a null node. That's one of our first system. So we're gonna call this out transition like so. Awesome. And then let's go and take care of our ramp geometry now. So let's go into our ramp and it's gonna be kind of the same process. So let's go first and create a sweep node. All right, this new sweep node in Houdini 18 is very powerful. It does a lot of work for us. Now we actually used to have to do manually beforehand. So I'm gonna drop down this sweep node, hook it into our ramp curve here. And turn on the display flag for it. And then I'm gonna set the surface shape type to ribbon. Now you'll notice that it's not going to be oriented correctly. So we need to go to that construction tab and set the up vector to the Y axis. And that'll give us what we're looking for. All right, so at this point, this is where we should actually add a consistent width for our ramp width because currently we're controlling it here and we're also controlling it here for the transition. So let's open up our type properties window for HDA. Okay, so I'm gonna open that guy up. And what I'm gonna do is just put in a separator just to separate the angle stuff from all the width stuff here. And let's go and drag out this width value. So I just click and drag on the width value and just pulled it over there. Okay, awesome. Yeah, and let's also promote this columns. So I'm gonna set this to something like three. And I think let's go into the channels here and set that to three as well. So that's the default, all right? Yeah, I think that's gonna work out well for us. So for the width, we definitely don't want to have anything smaller than 0.5 or half a meter. And we can make this, let's say up to 10. So that's gonna be our range for this guy. All right, so I also wanna assign this particular value, this slider value to this sweep node right here. So one way you could do that. All right, there's a lot of ways. We can come in here and just type out ch and then two quotation marks and dot, dot, forward slash. And then we could look for this internal name called width. All right, so let's start typing out width. There we go. And now it's connected. Well, at least we got a warning here. What is this saying? It says bad parameter reference. So let's actually type that out again. All right, so let's get this hooked up here. So forward slash and I want width. And it doesn't look like it's actually there yet. That's because I haven't hit apply. So let's hit apply. That actually commits those parameters now. So we're gonna say width and there it is. And then end our quotation mark. So we need to do the same thing for our column. So we'll say ch and two quotation marks, dot, dot, forward slash. And let's get our call S. So that's that guy right there. All right, and there we go. So now, apply and accept when I control the width. Now from my HDA, it also controls that transition geometry. So perfect. And as well as the columns. All right, so now we've got our ramp geometry all set up and ready to go. Let's go and drop down a poly extrude node because I wanna create that side geometry. All right, so we're gonna go and do the same thing that we did for the transition geometry. I'm gonna come over here to the extrusion front transform and we're gonna do the transform extruded front. And I'm gonna set the transform space to global. All right, so we just drop in global space or world space here. So I'm gonna do a scale of zero and Y. And look at that, we now have geometry for our ramp. All right, so let's go and output the back. We don't need the front. All right, and then what we need to do is we need to reverse all that geometry just like we did for the transition. And that gives us our ramp geometry. How cool is that? So I also don't need this geometry on the back here. So one way we can get rid of that is to drop down a group node, all right. And we're going to look for all faces that are basically pointing in negative Z, okay. So I'm gonna call this backs like so. I'm gonna turn off the base group. I'm gonna keep the group type on primitives there. And we're gonna do keep by normals. In this case, I wanna test to see if you're pointing in negative one. So I put negative one in for Z right here. And then I just set the spread angle down to zero. And that finds exactly those. So now we can use a blast node. So I'm gonna drop down a blast node here like so. And we're gonna blast away all the back geometry. That leaves me with the exactly the geometry that I want left. Okay, so let's give this some UVs as well. So let me hit save on the keyboard. Good practice to get into. So we're gonna come back to our sweep node for our ramp geometry. We're gonna go to UVs and attributes and compute the UVs. And we're gonna turn off normalized computed use and also turn off our snapping. All right, so I'm gonna hit save again and hit five on the keyboard. And you can see now we have geometry for our ramp. But what we need to do is you're actually gonna clean this up a little bit, all right? So if I were to use the UV visualize node currently, so UV visualize, it's a side effects labs tool. All right, so we're gonna go and look at this. You can see that our UVs are all stretched and that's not gonna be good for us. All right, so what I wanna do, I'm gonna actually set this down to something like two so we can see it a little bit better. So what I wanna do is inside of my poly-extrude node, I'm gonna go and output the side group. So we're gonna check on this, not the back, we're gonna do the side. Let's do the side here. And now that I've got that, what I can do is I can drop down an UV unwrap node. All right, so we're gonna do UV unwrap and I'm gonna drop that down like so, turn on the display flag for that guy and we're gonna do the group of extrude side. All right, so you'll notice if I hit five on the keyboard again to go back to my UV view, you can see that we've got just the sides nicely UV mapped. All right, so now if I were to take a look at my UV visualized node, we've got beautiful UVs. I will take care of all the textile density stuff here in a little bit, but that's what I'm looking for at this point. It's just nice and clean UVs for the sides. All right, cool. So with that, we're good to go. Let's go and create a group node and I'm gonna call this ramp. All right, so this is the ramp geometry and let's give it some color as well. So let's create a new color node here and we're gonna give this color that's kind of like a wood color. All right, but a little bit brighter. Usually this type of wood is a little bit brighter. It's got a very distinctive look to it. All right, well, it's pretty good. I'm gonna turn off all my point display. Well, actually leave the point display on but I'm gonna turn off all the point numbers and the primitive numbers there. Cool, so we're good to go. We got our UVs, we got our group setup, we got our color setup. I'm gonna create, or I'm gonna duplicate this null node by holding down alt and left clicking and dragging, all right? And then let's go and rename it. So this is gonna be called OutRamp. Like so, and we now have our transition. So I hold down control and then click this little pink flag here. We can see both geometries at the same time. All right, so we're on our way to creating our skate ramp. All right, so I'm gonna close out the lecture there and in the next lecture we're gonna go and build out the coping, I think, is the next step. Thanks so much.