Joy of Vex
A 20 day program, each day aiming to be between 5 and 30 minutes plus exercises.
Introduction
There's a few stages to learning Houdini; getting into nodes and proceduralism is one, dynamics is another, vops is another. But the one that can seem the most daunting is learning vex.
This series of lessons is designed to make it less scary. It's not for total Houdini beginners; the lessons move fast and assume you know about geometry attributes, sops, and have a general understanding of how to get around Houdini. It's also not a complete coding course for vex, that's way too big a task to deal with in 20 short lessons.
Instead, this series aims to be like a phrasebook for learning a foreign language. You won't be a fluent vex master in 20 days, but the lessons cover what I use vex for in 80% of my work, and will allow you to follow along with more complex vex examples you might find elsewhere. I provide some links to other resources at the end of this series.
Special thanks to Grant Inouye for his incredible eye with proof reading, and endless patience with beta testing.
Update Jan 2023: Video!
Peter Arcara of Sidefx has provided an amazing resource, and recorded himself going through the entire Joy of Vex series on his Houdini Hangout stream. There's pros and cons to video tutorials vs text tutorials, the best option is to have video and text, Peter recorded what I never had time to do. Can't thank you enough Peter!
Youtube playlist: https://youtube.com/playlist?list=PLTXmnikJEYnBtSfn4LwKx5vpopwrInp18
The days
- JoyOfVex01 basic assignment, component assignment, arithmetic manipulation
- JoyOfVex02 length and distance functions, animate with @Time
- JoyOfVex03 clamp and fit, waves
- JoyOfVex04 chramp, using on attrib components, on time, on reranging outputs
- JoyOfVex05 modulo, more arithmetic tricks (quantising), but show that often a chramp is easier (eg stepped chramp);
- JoyOfVex06 point wrangle vs prim wrangle vs detail wrangle, user defined attributes
- JoyOfVex07 using the other inputs on wrangles, do things to geometry based on other geometry
- JoyOfVex08 noise, various types, how it can be scaled, vector vs scalar noise, why you might use vops here instead
- JoyOfVex09 dot and cross product, fake lighting combing normals to a surface, vector maths primer
- JoyOfVex10 relpointbbox
- JoyOfVex11 if statements
- JoyOfVex12 nearpoints, arrays
- JoyOfVex13 for loops (ties nicely into arrays)
- JoyOfVex14 creating geometry, deleting geometry, debugging vex
- JoyOfVex15 copy sop, simple instance attributes (pscale)
- JoyOfVex16 copy sop, midweight instance attributes (scale, N)
- JoyOfVex17 copy sop, orient, quaternions
- JoyOfVex18 intrinsics
- JoyOfVex19 primuv, xyzdist
- JoyOfVex20 pointclouds, further learning
- VexCheatSheet glossary of vex prefix types, common vex attributes