Intro to COP's in Houdini 17.5
Howdy guys! Houdini is such an amazing and deep software package making it at times hard to learn. But once you begin to understand the different contexts inside of Houdini you begin to realize the vast amounts of tasks you can accomplish. In this article we are going to cover some of the basics of using COP's inside of Houdini.
So you are probably asking yourself, what is this COP's thing you are talking about. If you are new to Houdini, you have been mostly focused on using SOP's, or "Surface Operators" for most of your work. Which is great! Using SOP's is one of the best ways to begin to learn how to use Houdini, and is where you'll spend most of your time anyways.
COP's on the other hand is not some type of Law Enforcement feature in Houdini, it stand for "Compositing Operators". Meaning it deals with Compositing images together. Much like Nuke or Photoshop. But what a lot of game developers using Houdini don't realize, is you can use it to create textures for your games.
Now, I can hear it already...some of you might say....you cant beat Substance Designer or Substance Painter, and I agree with you 100 percent! I would never replace my texturing pipeline with just COP's. But what I want to do is show how we can use COP's in our everyday Houdini workflows so we don't have to jump out of Houdini to create basic textures. I also want to begin to cover how we can go about using COP's in our Houdini Digital Assets, so they can be used inside of the Houdini Engine, in Unity 3D.
So lets take a look at how we begin to use COP's. By default we create COP's networks within the Img context in Houdini. This is found in the context selector found in the Network Editor.
This will put us into the Compositing world, where we can begin to build COP's networks. Notice that Houdini automatically generates a new "Image Network" for you. Inside of an Image Network is where we build our COP networks. Just like in the "OBJ" context, we build "Geometry" nodes to build SOP networks, we build our COP networks inside of Image Network. Before we dive inside of the Image Network to begin learning about COP nodes, we need one more Panel open for us to work within.
The next Panel we need open is the "Compositing View". This is where we will be able to view the results of the COP networks we build, so it is very important to have open when working with COP's. Navigate to the "Scene View" tab and hit the little plus button next to it. This will enable us to create a new panel of the type we are looking for. In this case we are looking for the "Compositing View".
Click the "Compositing View" to add that panel to our UI. You should now see the panel seen in the image below.
When completed you should also notice that Houdini has taken us into the Image Network node for us. You can always get back to the root of the "Image Context" by hitting "U" on the keyboard. This will take you out of a node. Conversely you can hit "I" to ump into a node. This is a great way to navigate when working with Houdini networks.
OK, so lets focus on creating a very simple COP network. Lets say I want to import an image and blur it some, then export out the blurred version of the image. Sounds easy enough, and it is! With COP's we only need 3 nodes and we can create a procedural image processor, while very basic, it shows the beginnings of possibilities.
To import an image into COP's we need to use the "File" node and to create one, put your cursor over the network editor and hit the "Tab" key on the keyboard. This will launch the Node Selection Popup. With that open, start typing in the work "File", the List of avaiable nodes will begin to get filtered out with every later you type. This is much easier than trying to have to remember all the nodes in all the different categories.
Hit "Enter" on the keyboard and a new File node will be created. Notice that the "File" node comes with a default Pic and that it shows up in the "Composite View". Pretty cool!
Navigate up the "Parameter Editor" and change the "File" parameter to point to a file of your choosing. Once that is loaded it, lets move our cursor back down to the "Network Editor" and hit the "Tab" key again to launch the Node Selection Popup. Begin to type the word "Blur" into the popup so we can place a blur node in the "Image Network".
Take the output from the "File" node and put it into the input of the "Blur" to process the image through a blur filter. Then click the "Blue" display flag on the "Blur" node to display the results of the blur in the "Composite View". See how easy it is to apply Photoshop like filters to our images without having to leave Houdini! Super awesome! This means we can do a lot of texture within Houdini itself before we need to jump into Substance Designer or Substance Painter.
At this point, let's say I am happy with the results of my network and I want to export this new texture out to a file I can use in my game engine. What we need to do is place down a "ROP File Output". Now...you might be asking yourself...what is "ROP's" and just how many different types of contexts are there in Houdini? The answer to that is, quite a few, which makes learning all of Houdini very difficult, but once you learn how SOP's, COP', ROP's, and DOP's work you will be able to master just about any of the other contexts. So I would say focus on those four when first learning Houdini. I would Start with SOP's and ROP's, then move onto COP's and DOP's.
So a ROP type stands for "Rendering Operator". This is great because what we want to do is render or export out the processed image. In this case "Rendering" is synonymous with "Exporting".
Create the "ROP File Output" node and connect it to the Blur node as the Blur node has the final result we are looking for.
So before we export out the blurred image, we need to set a couple of the parameters to something different. The first is the "Valid Frame Range". This should be set to "Render Current Frame", as we only want one image, we aren't rendering out an entire animation.
The Second parameter we need to set is very important because we need to tell Houdini where we want to export or render the image to, on our computer. So set the location of the export to somewhere you'd like, making sure to explicitly type out the file format, and hit the "Render" button!
If everything went well you should see an image in the folder you selected. If not make sure you type the format of the image. In the example I used ".png". You can type just about any image format type and Houdini will automatically convert the image into the correct color space for you.
With that we are done! We have now taken a look at how to begin to use COP's within Houdini! This was just a very basic example but in only three nodes we were able to import and image, blur it and save it out to a new file. Pretty cool stuff!
In future posts we will talk about different techniques and quick tips but keep an eye out for a YouTube series I will be making around how to use COP's within HDAs and specifically for game development! Thanks so much and talk to ya guys in a bit! :-)