Houdini 101/How Houdini works
How Houdini works
Modelling in Houdini consists of creating dataflow procedures. So, for instance, if you want a line, you don't draw a line. Instead, you create a dataflow procedure to draw a line. Such procedures take the form of networks of nodes.
Networks consist of nodes organised into a hierarchy and linked up using wires. There are two types of nodes: operator nodes and container nodes. Operator nodes do stuff, while container nodes are limited to containing operator nodes. The hierarchy of nodes is created using container nodes. Inside each container node, there may be one or more operator nodes and also other container nodes, all wired up together to achieve some result.
Cooking is the process of driving information through the networks, from the outputs of operators to the inputs of operators to which they are wired, to create and animate the scene. By default, cooking is interactive, so every time you make a change, all affected nodes will be re-cooked.
The hierarchy of nodes is just like a folder system on the computer. You can navigate the hierarchy using paths, like this:
/a/b/c. In this case the path starts at the root, indicated by the first
/. There is a container called
a, which contains another container called
b, which contains a node (could be either an operator or container) called
c. You can also use relative paths, using
.. to mean go up one level, and
., meaning the location where I am now. For example, the container of
b, so if you are at
c, you can point to it's container like this:
A nodes container is called it's parent. The nodes inside a conatiner are called its children. All nodes have exactly one parent. Container nodes can have zero or more children, but operator nodes cannot have any children.
There are many different types of containers for gathering together operators that do many amazing things. The top-level containers (immediately after the first
/) have fixed names that cannot be changed. The naming in Houdini is very distracting at first, but you get used to it. These are:
- OBJ network
- contains geometry containers (called Surface Operator Networks or SOP Networks) which in turn contain the actual geometry in the scene, created using surface operators
/part Particle Operator Network, or POP network contains operators for creating particle systems.
/img Compositing Operators Network, or COP network contains operators for manipulating 2d pixel data.
/out Rendering Operators Network, or ROP network. contains operators for rendering
/dynamics Dynamics Operators Network, or DOP Network contains operators for creating dynamics systems
/shop : Shading Operator Network, or SHOP Network contains operators for shading and materials
/ch : contains operators for manipulating graphs /vex : contains some very advanced stuff