Taylor Petrick


About Me

Not Specified


My Tutorials

obj-image Intermediate
PDG Partitioner Nodes
obj-image Quick Tips
Work Item Attributes

Recent Forum Posts

creating multiple mp4 files from flipbooks with ffmpeg top Feb. 23, 2021, 12:35 p.m.

Are you able to attach a .hip file with your current setup? You'll need to use a partitioner before the FFMPEG node in order to group all of the frames from the same wedge index together. For example, using either a Partition by Attribute using the "wedgeindex" attribute, or a Wait for All with the "Split by Attribute" field set to "wedgeindex".

Setup a work_item as failed in a python script top in-proces Feb. 23, 2021, 12:31 p.m.

The cookSubItem API function was added in a very recent build of 18.5 and is specifically for working with batches, not regular work items. You can raise pdg.CookError("message") to cause the script to fail for a particular work item with a message.

Alternatively, if you're just trying to use the Python Script to validate some attributes or files on a work item, you may be able to use the Error TOP instead. That node will let you write an expression that conditionally creates either a warning or error message, at either the node level or for a specific subset of work items. If you're using it to create a work item failure, the failure message is stored as a string attribute on the item and the work item is marked as failed.

Top geometry inside of a sop network woes Feb. 23, 2021, 12:25 p.m.

TOP graphs have the same limitations as the rest of Houdini. They're not able to cook nodes in parallel unless you're using a compiled block and Invoke TOP, so the HDA Processor node in TOPs cooks out of process in order to run the work items in parallel. That means the TOP scheduler will spawn a separate Hython process for each work item in the node to cook the HDA, which incurs a bit of overhead. If your asset cooks very quickly, then most of the time will be spent spawning process instead of doing useful work.

You can enable batching on the HDA Processor node to group the work items together, so that multiple items are cooked in the same process. Or, you can make use of the new Services features to create a pool of Hython processes that get reused (https://www.sidefx.com/docs/houdini/tops/services.html) instead of recreated for each work item. This removes most of the overhead from spawning a process per work item, but still requires that PDG communicates information to/from a separate process to cook the asset. You'll need to add a service in the Tasks -> PDG Services menu as described in that doc pages, and enable it on your HDA Processor using the Service parms on that node (https://www.sidefx.com/docs/houdini/nodes/top/hdaprocessor.html#service).

Using my own .hda, I didn't get any errors in your file. What errors are you running into, and which build of Houdini are you using?