Houdini HScript
· Houdini MOC ·
Snippets
// animated texture frame numbering
path/to/texture/image_name_`padzero(5, clamp($F, 0, 120))`.exr
path/to/texture/image_name_`padzero(5, clamp($F+25, 0, 120))`.exr
// camera focus distance
vlength(vtorigin(".", "/obj/null1"))
vlength(vtorigin(".", opinputpath(".", 0)))
Common symbols
| % | modulus, remainder on integer division |
| && | logical operator AND |
| || | logical operator OR |
| >= | greater than or equal (Do not reverse the order – won’t work) |
| <= | less than or equal |
| < | less than |
| > | greater than |
| == | equal comparison |
| != | not equal |
| `` | backticks convert an expression into a string ie. ch(“../someparameter”) in the font node would print that verbatim, but putting this i backticks would give me the value |
| if | if (condition, then part, else part), example if ($F > 0, 1, 0 ) |
| ifs | as above but returns a string, for example ifs($F>1,”Hi”,”There”) |
| int() | integer, similar functions floor(), ceil(), round() |
| $F | frame number integer |
| $FF | frame number float |
| $CY | copynumber, local to the copy node so to get the information to a node above you need to stamp it to retrieve it you use stamp expressions |
| stamp | stamp(“../copy1”,”kermit”, 0) = stamp(node it is from, name you called the variable, default value just incase ) |