 Howdy guys, IndiePixel here, and what I wanted to do in this video was give you at least my five steps to learning Houdini quickly. All right. I get a lot of people asking me, you know, how did you learn Houdini? How long did it take you? And honestly, I'm still learning, you know, parts of Houdini because it is so vast. There are things that just kind of pop up, you know, in the new versions they add, you know, new tools and plugins and stuff like that. It's a constant learning process, but to go from zero to hero, as they say, it took me about, I would say a year and a half to learn Houdini, to be completely proficient and start using it actually on, you know, productions and stuff like that. That being said, I was using it on and off and learning it on and off. So it really comes down to how much time you have to dedicate to learning it. But what I wanted to do throughout this video is give you my five steps, five steps that you can actually follow to make it a little bit easier because I find often that a lot of people, you know, will start with, you know, the fancy VFX and destruction and stuff like that. Wow. That's really cool. A really good way to start learning Houdini is to use these five steps, in my opinion. So without further ado, let's get into those five steps. Step one, the user interface. As with all software packages, they all have different user interfaces and it's highly recommend to get comfortable, at least with the interface before you start to dive in and try to do anything more complex. I know it's not the most exciting thing in the world, but it's a necessary step and it will definitely make your learning adventures a lot easier. All right, so a great resource to use for this step is to go up to the side effects Houdini docs and go to the basics and to user interface. In here, they give you a list of all of the windows and panes and buttons and shelves and stuff like that that are available inside of Houdini. All right, so I highly recommend going through each one of these and just getting a feel for what they do. Okay, so what we can do is we're going to do a quick run through here. So this is the basic layout in Houdini. When you first pop it open up here, you have the shelves. All right, and inside of this, these built in shelves here, you have a bunch of the default tools. All right, so all these tools allow you to create stuff. So to create a box, you can click on the button over there and you'll notice that you get this wireframe, this red wireframe box. If you just go and click, what it'll do is it will create a box for you. The next thing that is really useful to learn inside of Houdini when you're first starting out is to also learn navigation. So how to navigate the scene view right here. Okay, so the best way to do is to hold down the spacebar and use the left mouse button to rotate, middle mouse button to pan it around, and the right mouse button to zoom in and out. All right, very cool. So you notice that my cursor is currently set to a pointer. When I hold down the spacebar, it turns to a hand. This means I can rotate and tumble and zoom in and out. When I let go of the spacebar, I'm in a different mode. All right, and that's definitely another thing that you should start to understand what mode you're in. There's quite a few different modes for editing the points and geometry of these particular objects. If you want to get out of that mode, you can simply come over here to this toolbar and hit the view. And you'll notice now I don't have to hold down the spacebar. The cursor has changed to that hand. All right, so learning the user interface, how to navigate, and how to just work with the nodes is a good first step. All right, so let's move on to the next step. Step two, start with SOPS. Now, you might be asking yourself, well, what is SOPS? All right, well, in Houdini, it works with these different contexts. And SOPS actually stands for surface operators. Okay, and what we are in currently, because we're at this OBJ level right here, we are currently in that SOP context. So inside of SOPS is where we create all of our geometry that then gets fed to all the other different contexts. And this is why I think this is probably one of the more important things to start with inside of Houdini, because it really is the start of all your projects. You're going to go create some geometry. You're going to go and create some particle effects or destruction. You're going to need geometry to start with all that stuff. Okay, and so basically what we do is we come over here to this network view over here. And what we can do is we can go and hit Tab and drop down a geometry node. All right, and inside of that geometry node or that SOP node, we can go and create another box. All right, so instead of using the shelf this time, I'm just using the network view and just dropping down nodes. This is probably one of the most powerful things inside of Houdini, because it basically allows you to procedurally generate models. All right, by hooking up all these nodes together, what you can do is you can create a procedure of steps that create your model, but you never lose any of the data upstream or downstream. You can always go back to a different node and change some parameters and it will all re-cook the whole network. All right, so it's procedural that way. So I highly recommend starting with SOPs, getting comfortable with all the nodes that are available in the SOP context. All right, so by using the Tab menu, we can get access to all of the nodes that are available. So getting comfortable with some of the core ones first is highly recommended. You'll start to move into more of the advanced nodes as you get more comfortable with it. All right, so that is step two, start with SOPs. Step three, attributes, groups, and components. All right, so for each one of these geometry objects that we're creating, in this case our box right here, what we can do is we can add attributes to them. Now, if we go and we pop open the geometry spreadsheet, which is open by default with the default layout here, you can see that we have a bunch of attributes sitting on all of our points. All right, so these are the components of our model. We have points, we have vertices, we have primitives, and we have the detail component. Okay, and on each one of these components we can add our own attribute. So to do that, we would go and drop down and attribute create node, like so. All right, and we would wire in the box and we turn on the blue display flag, so we take the network down to this next step right here. And for this attribute, what I want to do is I want to put it onto one of these components. And you can add as many attributes as you want to all of these components. Now, that does actually have a performance impact, I guarantee you you most likely won't run out of memory adding, you know, hundreds and hundreds of attributes. So what I'm going to do is I'm going to create this new attribute and I'm going to call this my underscore adder. All right, and currently it's set to the point class or component. All right, so if we go over to our point component display, you can see we have this new attribute. And if I were to go and change that value, you can see I'm adding an attribute. Now a really cool thing about this is we can go and we can create an attribute randomize. So let's just do that. There we go, attribute randomize. And we can plug in the attribute create node. And from there, what I can do is I can create a random attribute. And this time let's just put it on the primitives so we can play around with the other components. All right, so what I'm going to do is I'm going to call this random adder. Like so. And there we go. And I just want to have it in one dimension. Currently it was set by default to three dimensions. Very cool. Okay, so the next thing on our list, now that we've gotten through components and attributes, we can also start to learn how to group geometry. I highly recommend learning and getting comfortable with all the group nodes. So to group, the most basic node is just the group node. So we just drop down a group node right here. So what I'm going to do is I'm going to give this group a name. Now what I've gone and done is set the default to use this dollar OS string. If I get rid of this, I would put the group name right here. So I'll call this my group. And inside of this group, I want to group some sort of components. So let's say I want to group one of the faces or primitives on this particular box. What I'm going to do is enable that base group and I'm going to type in zero. And you'll notice that one of the faces or primitives is selected. All right. If I were to drop down another group name and call this my group B. So let's do underscore B. And I put in, let's say primitive one and two. I don't have two of those. And what's really cool is you can promote these particular groups. All right. So we can take these groups and we can transfer them or promote them as they say in Houdini from primitives to let's say something like points. Or drop down the group promote node. What I want to do is I want to take my original group. Let's just say we do my group B and I want to convert it to points. You can see now the points that were included in those primitives are now selected. All right. And lastly, before we move on to step four, what I want to do is show you this little guy right here. So this little window allows you to go and see your groups. All right. And you can use this little cog wheel right here to switch from the different display. So in primitives, I have the face zero. And for points, I have my group B. There we go. Cool stuff. So let's move on to step four. Step four, Vops and Vex. Okay. So at this point in your learning journey with Houdini, you're pretty comfortable with the UI. You've learned how to create geometry using SOPs, and you've learned how to manipulate the geometry using attributes, their components, and grouping particular parts of the geometry. The next logical step in learning Houdini is to get into Vops. So to do this, we're going to drop down a point VOP node. So I'm going to drop down this guy right here. And we're going to feed in the output of this group promote node into our point VOP. Okay. And what I want to do is I want to take all the points that were put into group B here, or my group B, and I want to manipulate them somehow. All right. So what I need to do in this point VOP is I need to utilize that group that we created. So I'm going to say this node can only work on my group B, which are points. So we're going to run over all those points. And to make this really simple, we are just going to do a simple translation. Okay. So let's do something like add, I don't know, one unit to each one. One unit to each one of those points in group B in the Z direction. Okay. So what I want to do is I'm going to drop down a vector to float. Okay. And I'm going to take the P position. So in here, what we're doing is what we're visually programming a little operation where we are utilizing VOPs or vector operators. Okay. We're using VOPs to manipulate the geometry using code, but we're not actually having to write any code. So we can visually program our operations this way. So what I want to do is I want to take the current position, the X, Y, Z position of every single point. Okay. And I want to feed it into this vector to float node. And what that does is it splits it out into X, Y, and Z. So now I have each one of those components. So if we come into the geometry spreadsheet over here, go to points, we have our X, Y, and Z. And what I want to do is add one to the Z direction. Okay. So to do that, all we really need to do is drop down a constant. So I'm going to say constant, like so. And we'll set the value to one. And we'll add. So now I want to drop down an add node. So I'm going to take the current Z value here. We're going to add on one, like so. And then what we need to do is we need to package all this information up back into a vector so we can feed it into the final position or that new position that we just created. So what I'm going to drop down is a float to vector. So we can go from three floats to a vector. And I'm going to wire in the X. I'm going to wire in that Y and then the Z. And then we're going to take that output from our float to vector node and put it into our P position. Very cool. So now you can see that we've moved all those points that are in my group B. We've moved them over one. And we can go and change this value to whatever we want. Very cool. All right. So what we can do is we can also utilize something called VEX. So if you aren't into coding, I highly recommend that you just stick with the VOPs. But if you do want to start to code, what we can do is we can do that same exact operation but with an attribute wrangle. So we're going to drop down an attribute wrangle node over here. And I'm going to take the output of that group promote and put it into that attribute wrangle. Now, this is where we write our VEX code. So these are called the vector expressions. And what we want to do is we want to basically add on one to our Z component. And this is really easy inside of VEX. All we need to do is we say at P dot Z plus equals one. And we need to give it that group. So let's have it work only on those points. And you can see rather than laying down these four nodes, I wrote a single line of code. And what's really cool is we can actually create parameters that we can tweak. So we can say offset. So CHF creates a float channel. All right. And then all I need to do is hit this little button right here to create that slider. And now we have a slider to go and change those point positions. So we're modifying our vectors, our point positions. Cool. So that is point VOPs or VOPs. And that is VEX. So let's move on to the last step, step five. Step five, digital assets. One of the most powerful concepts inside of Houdini is the ability to create digital assets. All right. These are referred to as HDAs or Houdini digital assets. With digital assets, what we can do is we can bundle up our networks into a reusable module, if you will. All right. It allows us to create tools without having to do any sort of programming. Let's say you're doing a task over and over and over, like in Maya or Max or even inside of Houdini. Well, inside of Houdini, what we can do is we can take all those steps, usually created with all the nodes here and these networks. We can take all those steps and we can bundle them up into a digital asset. So in this case, what I've done is I've created a really basic box generator. I know it's not very sexy or anything like that, but we created it. So I'm going to call this the box generator. Okay. Well, I can right click on that node now and I can say create digital asset. Okay. And I'll just go give it a name like so. And I'll just hit accept, save it to the default OTAILS folder that's located in your documents folder. I'm going to hit accept and we'll destroy all of our spare parameters and we'll get this type properties window. Well, with this type properties window, it allows us to modify the UI of our digital asset. You'll notice that this now looks different from this geometry node. And it's got this pink little locks, which means that we're currently editing it, but we don't have any input. This is now a tool. It's an HDA. Okay. And what we can do is we can go and we can hide all of its default user interface by hitting invisible like so. All right. And we can start to promote parameters that we created inside of our tool in our network here. So let's say I want to go and I'll just change the size and maybe we will just promote this offset value. So I'm just clicking on that parameter and dragging into that existing parameters view. You then hit apply and accept. And there we go. So now I have it at the top of my node. All right. We can go and change the size to and it will all still work appropriately. What's cool about this now is I can hit the tab menu. All right. And if I go to digital assets, you can see I have this box generator here. So now I've just created another box. It does exactly the same thing. So imagine now creating more complex tools that takes care of tasks that you do over and over again. You can use these to create whole models and it's really the foundation when you go and start learning the Houdini engine for Unreal or Unity. All right. So that's digital assets and the final step at this point. You pretty much mastered the core fundamentals of Houdini. So I highly recommend learning Houdini in those steps as it will just make it a little bit easier. Try to stay away from learning some of the Dopp networks like destruction and particles and volumes. Dopp stands for dynamic operator. It'll only just confuse things when you're first learning. I highly recommend starting with Sops, learning about attributes, groups, components, move on to Vops, Vex, and then finally learn how to make HTAs. And then once you feel comfortable with all that, move on to all the other contexts. OK. Thanks so much and I'll talk to you guys soon.