Yann Drevon


About Me

Technical Director

Technical artist at Helix - Ubisoft Montreal


Recent Forum Posts

Camera Depth of Field not working in 18.0.416 / Motion Blur June 17, 2020, 12:15 p.m.

Hi friends,

I am trying to get motion blur from an animated camera, my objects are statics, only the camera is moving. I tried layering differents nodes in different way, but I didn't succeed.
I can't help but thinking that it is simple, do you know how I can achieve it ?

This is my layering inside LOPS:

Thanks a lot !


Geometry attributes inside TOPS May 26, 2020, 11:55 a.m.

Is your tags attribute a string array? It looks like there's a bug with the geometry import and that attribute type – I'll get it fixed ASAP.

Hi Taylor,
My tags attribute is a string array.
I did a work around, instead of a string array I put my tags in a single string seperated by a coma, In TOPS I did a split() in python to filter the string and get all the tags in an array.

But I be glad to know if you do a fix for that !



Geometry attributes inside TOPS May 25, 2020, 10:01 p.m.

Your node has the “Create Work Item For” parameter set to “Piece Attribute Value”, which means that each work item represents a piece of geometry with multiple different points/prims in it. That geometry is stored in the file displayed in the work item attribute panel, so if you want to access the geometry directly from a Python Script TOP you'll need to load the file in your Python code. The work item doesn't contain the geometry itself, it's just a reference to some geometry with summary information about the contents of the geo.

Many TOP nodes run their tasks out of process (HDA Processor, all ROP Fetches, etc), either on the farm or as child processes of the Houdini session. One of the use cases for the Geometry Import is to cache data from a local SOP node so that it can be loaded by an out of process job on the farm.

If you're importing one primitive per work item, then the work item copies the attributes for that primitive to the item's attributes. If you're importing a potentially large chunk of geometry consisting of multiple primitives, the attributes for each individual primitive are not copied onto the work item. To do that the work item would need to have array attrib with a size matching the number of primitives, for each attribute being copied. That's possible to do and there's an existing RFE for it, but it's not yet implemented.

Thanks a lot for your answer.
You helped me understand a bit better how TOPS works.

I have been doing a workaround to achieve my goal.
IN SOPS I do another loop with all my assets in which I blast all but one primitive of each asset.
I then call this result into TOPS with a `geometry import` and all my geometry attributes are imported as work item attributes.
I finally do an attribute copy to transfert those attributes to my other geometry import containing all my assets.

Works fine, but it seems that my `tags` attribute is not going into TOPS. I can only suspect that is because it is an array…

What do you think ?

Thanks for your help