scripts

houdini, scripts, useful, vex

VEX: Point Pitch, Yaw, Roll


No Comments

matrix3 m = maketransform(@N,@up);@orient = quaternion(m); vector4 pitch = quaternion({1,0,0}ch(‘pitch’)); vector4 yaw = quaternion({0,1,0}ch(‘yaw’));vector4 roll = quaternion({0,0,1}*ch(‘roll’)); @orient = qmultiply(@orient, pitch);@orient = qmultiply(@orient, yaw);@orient = qmultiply(@orient, roll);

Read More

houdini, python, scripts

Python: Phyllotaxis


No Comments

node = hou.pwd() geo = node.geometry() # Add code to modify contents of geo. # Use drop down menu to select examples. from math import radians, sqrt, sin, cos numpoints = 200 angle = 137.508 cval = 0.2 for i in range(numpoints): theta = radians (i * angle) x = cval * sqrt(i) * cos(theta)

Read More

houdini, python, scripts

Python: Split Into Groups


No Comments

This little script for Houdini is one I’ve had knocking about and thought might be useful to throw out onto t’interweb. Select the node at which you want to split out the groups and it will create a bunch of blasts and OUT nodes to separate out per group. import hou selectedNodes = hou.selectedNodes() for

Read More

houdini, scripts, Uncategorized, vex

VEX: Bend Wrangle


No Comments

Taken from https://tosinakinwoye.com/2017/01/23/houdini-vex-snippets/ //Input is a line //Resample SOP on line for more points //Activate curveu attrib in resample SOP //Remap curveu to shape of bend @curveu=chramp(“ramp”,@curveu); float bamt = chf(“bend_amt”); //bend amount vector benddir = chv(“bend_dir”); //bend direction @P+= benddir * bamt * @curveu;

Read More

houdini, python, scripts

Houdini Python: Find/Replace Parameter Expression


No Comments

A little script to find/replace strings in selected nodes’, parameter expressions: import hou sel = hou.selectedNodes() dialog = hou.ui.readMultiInput(‘Find/Replace In Expression’, input_labels=[‘Find: ‘, ‘Replace: ‘,], buttons=("Find/Replace", "Cancel"), severity=hou.severityType.ImportantMessage, title=’Find/Replace’, close_choice=1) find = dialog[1][0] replace = dialog[1][1] if dialog[0] == 0: for n in sel: for parms in n.parms(): try: newString = str(parms.eval()).replace(find, replace) parms.set(newString) except:

Read More

houdini, scripts, vex

VEX: SOP Rotation


No Comments

f@speed = fit01(rand(@ptnum), ch(‘minSpeed’), ch(‘maxSpeed’)); float angle = (ch(‘angle’)+@ptnum)*@speed; vector axis = sample_direction_uniform(rand(@ptnum*ch(‘seed’))); @orient = quaternion(angle, axis);

Read More

houdini, python, scripts

Houdini Tip: Toggle Update Mode


No Comments

I often find that Houdini wants to cook at inconvenient times. To stop this you can enter Manual Mode which is located in the bottom right of the UI. To make toggling between Manual and Auto mode easier and quick it can be scripted and dedicated a hotkey. Googling brought up this feed http://www.vfxoverflow.com/questions/toggle-update-mode-in-houdini which

Read More

houdini, plugin, python, scripts

Houdini Tools Development: Version Up


No Comments

Having begun the switch to Houdini, I’ve been learning how to implement my Python knowledge into Houdini. My first tool is an incremental saver (something I find hugely important), which accounts for files that already exist and warns if a naming convention is not adhered to. This .zip contains the .py script, the code for

Read More