Procedural 3D animation and VFX software by SideFX, built around a node-based workflow.
Tips โ
TIP
A dotted line in the network editor means it's referencing a certain node (e.g. no extra particles will be added - check with MMB).
Handy Nodes โ
| Node | Description |
|---|---|
geo | Geometry container |
Assemble | Create packed primitives from groups or pieces |
Connectadjacentpieces | Create constraint geometry between adjacent pieces |
Peak | Translate points along their normals |
Creep | Deform geometry across a surface |
Shortcuts โ
Navigation โ
| Action | Shortcut |
|---|---|
| Toggle render view | Shift R |
| Split window | Alt [ / Alt ] |
| Close window | Ctrl W |
| Dashbox | Ctrl D |
| Focus | Ctrl Alt S |
Viewport โ
| Action | Shortcut |
|---|---|
| Create | C |
| View mode | V |
| Select everything | N |
| Toggle quad view (orthographic and perspective) | B |
| Selection group | Enter then 9 |
Network Editor โ
| Action | Shortcut |
|---|---|
| Group nodes | Shift Z |
| Merge nodes | hold Shift click multiple outputs, hold Alt click to merge |
| Switch between workspaces | N |
| Create duplicate | hold Alt drag |
| Create referenced duplicate | hold Ctrl Shift Alt drag |
| Switch input wires around | Shift R |
| Connect nodes with drawn line | hold J |
Organizing
| Action | Shortcut |
|---|---|
| Notepad | Shift P |
| Underlay | Shift O |
| Line out | L |
| Wiring style | Shift S |
| Create re-route | hold Alt |
| Align selected nodes | Shift A |
MPlay โ
| Action | Shortcut |
|---|---|
| List shots | Alt L |
Task Operators โ
| Action | Shortcut |
|---|---|
| Cook node | Shift G |
| Dirty node | Shift D |
| Dirty and Cook node | Shift V |
General โ
| Action | Shortcut |
|---|---|
| Switch inputs | Shift R |
| Select | S |
| Scale | E |
| Rotate | R |
| Translate | T |
| Handles Tool | Enter |
| View mode | Spacebar |
| Snapping pie menu | X |
| Wire only | Q |
| Wire over shaded | Shift W |
| Parameters | P |
| Cut wires | Y |
| Enlarge parameter box | Ctrl E |
| Color nodes | C |
| Perspective | Spacebar then 1 |
| Front | Spacebar then 3 |
| Sticky note | Shift P |
| Network overview | O |
| Go up in node hierarchy | U |
| Clean up the network / layout all | L |
| Full screen | Ctrl B |
| Focus on object | hold Ctrl click on geometry |
| Zoom in/out | Alt RMB |
| Graph editor | V |
| Network Box | Shift O |
| Change node shape | Z |
| Home | G |
| Display options | D (in viewport) |
| Transformation mode | M |
| Render selection view | hold Shift drag |
| Place key | hold Alt click |
| Remove key | hold Ctrl click |
| Open external (word/VEX) editor | Alt E |
| Split viewport | Spacebar then B |
| Grow selection | Shift G |
| Shrink selection | Shift S |
| Make font bigger | Ctrl + |
| Make font smaller | Ctrl - |
Context Types โ
| Context | Description |
|---|---|
| Object | Object type nodes in an Object type folder. Build transform constraint hierarchies. Geometry type Object nodes contain SOP nodes. |
| SOPs | Surface OPerators โ geometry nodes inside an object folder. Used to construct and modify geometry (polygons, volumes, etc.). |
| DOPs | Dynamic OPerators โ simulation/solver nodes. Read in geometry from SOPs and pass data into DOP solvers. |
| SHOP | SHading Operators โ materials representing a shader to apply to geometry. |
| VEX | Vector Expression Language โ custom language loosely based on C/C++ and the RenderMan shading language. Not an alternative to scripting, but a smaller, more efficient language for writing shaders and custom nodes. |
| VOPs | Vector OPerators โ wrappers around VEX code snippets. Used for shaders, geometry, volumes, pixels, and more. |
| CVEX | Context-agnostic Vector Expression Language. Replaced all VEX-specific contexts โ generalized language that works anywhere in Houdini. |
| COPs | Composite OPerators โ used in image compositing operations. |
| ROPs | Render OPerators โ create render output dependency graphs for automating output and triggering external processes like rendering. |
| CHOPs | CHannel OPerators โ create and modify raw channel data from motion to audio. |
Add-ons โ
| Name | Description |
|---|---|
| Supercharged R7 | GUI & Workflow Enhancements |
| MLOPs | Machine Learning Plugin for Houdini |
| GSOPs | Gaussian splatting in Houdini |
| Modeler | Fast and intuitive polygonal and subdivision mesh editing |
| SDFM | Free, open source SDF Modeling Toolset |
HDAs / OTLs โ
Operator Type Library (or Houdini Digital Asset library)
| Name | Description |
|---|---|
| qLib | A collection of tools |
| BoomBox | Fracturing and art directing RBD sims |
| Wrinkle Deformer | OpenCL wrinkle deformer |
| Auto Rig Lite | Auto Rigger |
| BoxCutter | BoxCutter Demo Houdini |
| DASH | Quality of Life utilities package |
| IPOPs | Geometry AOVs for Karma CPU & XPU |
| Asset Handler | Generate HDAs with thumbnails & copy external files |
| Material Builder | Karma MatX Builder |
Expression Functions โ
VEX Snippets โ
Remove Points by ID:
c
if (rand(@id*ch('seed'))>chf('ratio'))
{
removepoint(0,@ptnum);
}Create vector based on relative location from point 2nd input:
c
vector a = point(0, "P", @ptnum);
vector b = point(1, "P", 0);
@v = (a-b);
@v *= chf("mult");Point normals outward:
c
vector a = set(0,0,0);
@N = normalize(a + @P);Change particle size in LOPs โ in Primitive, select "All Geometry Primitives" and tick "Run on Elements of Array Attributes":
c
@widths = ch("pscale_mult");Pipeline โ
Files in the packages folder.
Preferences โ
json
{
"env": [
{ "HOUDINI_USER_PREF_DIR": "P:/Houdini__HVER__" },
{ "HSITE": "P:/Houdini" },
{ "HOUDINI_DESK_PATH": "P:/Houdini/desktop" }
]
}ImageMagick โ
First, download ImageMagick. Then add to your packages:
json
{
"env": [
{ "PDG_IMAGEMAGIC": "C:\\Program Files\\ImageMagick-7.1.1-Q16-HDRI\\magick.exe" },
{ "PDG_FFMPEG": "C:\\Program Files\\ImageMagick-7.1.1-Q16-HDRI\\ffmpeg.exe" }
]
}Pipeline references:
Assets โ
Python โ
Resources โ
Learning Platforms & Courses
General
Applied Houdini
VFX
CG WikiVFX
Convert hipnc to hip filesVFX
Getting Started With HoudiniVFX
Houdini BlueprintsVFX
Houdini ResourcesVFX
Houdini SchoolVFX
HoudiniSimonVFX
Jake Rice BlogVFX
John Kunz WikiVFX
Kate XagorarisVFX
Konstantin MagnusVFX
Nick TaylorVFX
Nitzan TregermanVFX
ParticlesVFX
PixelfondueVFX
Rohan DalviVFX
The Vault ManualVFX
Theory AcceleratedVFX
ToadstormVFX
VFX brainVFX
Houdini CookbookVFX
Tutorials
2D animation
VFX
Animating CharactersVFX
Apex rigVFX
Blooming flowersVFX
COP QuicktipsVFX
Creating a CGI CrystalVFX
Creating Lightning with VEXVFX
Crystal Fluorite in Houdini 20.5VFX
Draw geo and material modificationVFX
Generating folder structuresVFX
How to Create Organic TexturesVFX
Integrating a Road into a HeightfieldVFX
Intro to Houdini Volumes, Clouds, and Volume VOPsVFX
Intro to SolarisVFX
Labs project Dryad BiomesVFX
MultiShot WorkflowsVFX
PathSequencer - The Easiest Way to Instance & RetimeVFX
Procedural RocksVFX
Procedural racetrack toolVFX
Process Multiple Objects with TOPSVFX
Product ProceduralizationVFX
Project PegasusVFX
Rig fur dude with KineFXVFX
Simulate Paint SmearingVFX
Solar Eclipse (Dune inspired)VFX
SOP QuicktipsVFX
SOPs to COPs to KarmaVFX
Spiral skinningVFX
Terrain HandbookVFX
TOPsVFX
TOPs MasterclassVFX
UnwrappingVFX
What I Found (CHOPs)VFX
Export Houdini KineFX Rigs & BlendShapes to BlenderVFX
Using op-expressions for more efficient workflowsVFX
Poly morph between objectsVFX
Trendy transitionsVFX