 Welcome back. Okay, so I actually wanted to take a quick break here and show you guys how to put in the debug number So when we are going through and you know setting all these overrides For these particular things It's really helpful to actually have you know the prim number hovering, you know right above the actual, you know cabinet area that way you're not constantly having to try to remember This is zero. This is one. This is two three four and so on and so forth It's it's nice to have a quick reference. So that's what I want to actually hook up And you know I was looking at this and I think that I'm gonna add just another separator there For these guys it really helps it just kind of keep it clear that this is you know all these parameters belong to this particular override The single separator wasn't doing it for me all right, so Let's go and get this all sorted out. So What I want to do is put a number, you know, that represents the prim number right here But I want to actually put you know some real geometry up here So it's easy for you to identify which thing you're trying to override All right, so I am going to do an object merge node up here And this one is going to get this sort one node now You could do that you could just drag it up that over. It's always good practice to put in an old node And we'll just put in cab Out cab trims I already use that so Now it'll add a one to it. So there we go. I'm gonna not put that in for the transform object I'm gonna drag and drop that in for the object one there All right, cool. So now we can work with just this stuff. So What I want to do here is Set the set an attribute to the actual prim number. So let's do that first So I'm going to drop down a wrangle node here So let's do that. We'll call this set prim ID And then inside of that wrangle node all we got to do Let's just Well, now let's put it on the primes here. Yeah, I'm gonna say I at ID is equal to I Wanted I at ID there we go is equal to at prim num All right, so now we just start storing the ID because the prim nums might change here after we start to process the geometry here All right, and then I'm gonna do an attribute promote and I'm gonna promote this ID down to points the reason for that is Because when I use the add node It'll actually blow away that particular ID value if I keep it on the Primitives, all right, so now I'm gonna do an add node here and I am gonna delete geometry keep points and we're gonna do by group And we're gonna do groups of end points, but we need to do the sort by x. I believe it is Or why let's do the sort Here All right, so let's do a sort by y Yeah, so I want to get these top rooms because basically I want to find a point right in the middle of each one of these Primitives and then just move it up a little bit and copy a you know a number to that particular point All right, so we saw all our IDs. That's great. And then I'm gonna do a wrangle node I'm gonna get rid of all the primitives that are at the bottom of this bounding box here. So Let's go to Let's go to prims. Yeah, let's try it prims first here. Let's do a vector Boxman is equal to our get be boxman So we'll get the lowest point out of all this geometry And so we just put in zero for that. That's the first input And we're gonna say if at p is equal to boxman Dot y then let's remove you because you are the bottom Primitives are gonna say remove prim on the zero say at prim none and one to remove all associated points and We'll actually do like maybe we'll do less than or equal. Oh, I did happy happy dot y is equal to This guy right here if I can do it. There we go. All right, there we go So now I'm left with just the top ones up there, which is great So at this point now we can do a carve And the car makes it really easy to get a point right in the middle. So if I just do point five here and Then set it to extract. I'm left with these points are here And you'll notice that they're not ordered or anything like that and we also Looks like we lost the ID value as well Over here. And so we still had it when we're up here So let's just do an attribute transfer You can always do this with a wrangle note too, but this will just make it easier There's just a debug thing anyways So let's just hook this up And we'll just transfer the ID and you can see now we have the proper IDs there So you could actually go and do a sort node now at this point and Use that attribute. So do a point sort and then we'll do it by attribute and then you just do by ID Another ordered right so now it was zero one two three four hours before it was all over the place So sort nodes super handy for a lot of things Cool. All right, so with that all done, let's loop through each point now. So let's do a for each point And so for each point I want to take that ID value and I want to promote it to a detail attribute Just because it's going to be it'll make it easier for us to Access it inside of a font node. So now on a per point basis. We have the ID over here So I can drop down a font node now And write a little expression in here for the text and so to do that we do two back ticks And then we do a detail and we want to get the information from this particular node. So I'm going to call this get ID So now we just do dot dot forward slash get ID and the attribute we want to get is that ID attribute and Zero just because it's a single number there. So now if I look at my font node go before Super cool All right, so in the font node, let's put this down like point two five and level detail all the way down the bottom I just want a really simple Geometric version of this and then let's use a match size node and Just situate it so it's sitting right on the grid perfectly cool, so then we can use a copy of points note and Wire those two guys in Now if I were to look at this at the end here and you can see now we have these numbers That represent the primitive numbers So it makes a lot easier for us to set our overrides with this information All right, I think I'm gonna make it a little bit smaller. Let's actually template our prop here and Take a look. Let's see what the size. Yes way too big there one thing we could do is Move it up a little bit based off of the Count of the counter. That's which is all we done here so the counter height so we copy this parameter and On the origin we can just move actually we need to do it after the match size Let's just do it down here once we're done doing all of them. We'll just put it all down here So let's paste our reference into there and let's multiply it by some like three Or maybe two point five That way it's sitting always sitting just a bit above the counter. I Think those numbers are a little big for my tastes. Let's do one five Yeah, that's better Cool. So the other thing we're going to need in our interface is the option to turn that on and off I don't want that always there So let's go and get a toggle and I'm just going to drag and drop that right above my overrides And we're going to call this our cab Debug num toggle Like so We'll say show debug Numbers Very cool, and we'll just default it to zero, which is great And now all we need to do The very bottom here is put down a switch node and a null node So put the null node in for the first input the number is in for the second input We'll call this debug switch And we'll just copy this parameter from our controls And paste it into that switch node So now I have control over whether or not they're being displayed or not It'd be cool to also colorize these. Let's give it some color So I'm going to give it kind of uh indie pixel reddish orange Yeah, it looks pretty cool. You can also give it some alpha as well So to do that, this is all vertex alpha I'm just going to call this alpha You just do a at Uh capital a alpha is equal like 0.5 something like that Yeah, so now they're you know Slightly transparent which makes them feel even more debuggy All right, so let's do a null node and we'll call this Out debug numbers or just nums Yep And let's include it with the final assembly. So let's add another slot And uh, let's just drag and drop This guy into there Very cool. So let's take a look at that Yeah, so, you know, it's just a quality of life thing just makes it easier for end users Whoever's using your hta even yourself to quickly identify which override you're working on So now you come into your overrides here and uh Say like oh, yeah, so that's three. So I want to add, you know, even more drawers to that one or Less drawers kind of thing Cool, and then you can just turn it off when you're ready to bake it down to an actor Or static mesh All right, so that's what I wanted to show in this video. Let's keep moving forward