Obeida Zakzak
ObeidaZakzak
About Me
Houdini Pipeline Supervisor @ TAT Studio
EXPERTISE
Technical Director
INDUSTRY
Film/TV
Connect
LOCATION
Toulouse,
France
WEBSITE
Houdini Skills
ADVANCED
Digital Assets | Hair & Fur | VEX | Python
INTERMEDIATE
Cloth | Solaris | PDG
Availability
I am currently employed at TAT Studio
Recent Forum Posts
Day 4 | Architecture | Image March 4, 2026, 4:42 p.m.
Architecture

How to create a Quick surface material through Python Nov. 20, 2025, 12:10 p.m.
Usually this kind of modified nodes are created using scripted Shelf Tools.
You can find these scripts inside .shelf files under
In the particular case of Quick Surface Material, the tool is written inside
Note that the call for
And if you want to check on how these toolutils libs are written, you can take a look at Python files under
You can find these scripts inside .shelf files under
$HFS/houdini/toolbarfolder.In the particular case of Quick Surface Material, the tool is written inside
ExtraLopTools.shelffile and has the following script : import loptoolutils node = loptoolutils.genericTool(kwargs, 'editmaterialproperties', nodename='quicksurfacematerial1') loptoolutils.createQuickSurfaceMaterial(quick_material_node=node)
Note that the call for
loptoolutils.genericTool()will not work if kwargs argument is note defined. So you either need to define kwargs argument, or create an Edit Material Properties LOP node and provide it in argument to call loptoolutils.createQuickSurfaceMaterial().And if you want to check on how these toolutils libs are written, you can take a look at Python files under
$HFS/houdini/pythonX.Ylibsfolder. Changing Position of Only One Point in VEX Nov. 12, 2025, 2:27 p.m.
fred_98
I am looking for a procedure that will affect only some of the points of the geometry but I do not know which points exactly and the index of the points are the result of some searching and other computations.
Supposing that you are able to get point numbers after your searching process, you can use get/set functions to modify a specific point based on it's ID/number :
// get point position based on a given ID vector position = point(0, "P", point_id); // adjust position position.y += value; // set the position "P" attribute on geometry only on the given point ID setpointattrib(0, "P", point_id, position);