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

My Talks

obj-image HIVE
AutoBake: Automated Groom Animation Pipeline for Feature Film

Recent Forum Posts

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 $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);

VEX: Get Path of Node Connected in Input 0? {[SOLVED]} Nov. 4, 2025, 4:19 p.m.

I am not aware of a specific VEX function that does this task based on input number. If you create some spare parameters you can take advantage of Hscript in parameter expressions as it has the deticated functions you are looking for :

- Node name
opinput(".", 0)

- Node path
opinputpath(".", 0)

Now, to read this in VEX snippet, you can evaluate parameter channels :
string node_node = chs("node_name");
string node_path = chsop("node_path");