Reading arbitrary userProperties from .abc in Houdini

1,056 views
Skip to first unread message

Eddie Offermann

unread,
Jun 25, 2013, 9:59:22 PM6/25/13
to alembic-d...@googlegroups.com
Houdini's Alembic Geometry SHOP claims to be able to map userProperties to Mantra properties - but I can't seem to see these properties elsewhere.

For instance, I am assigning UUIDs to nodes in Maya - transforms and shape nodes all get their own. They are added attributes in Maya and appear in the abc file if I examine it with h5ls and h5dump. For instance, if I add an attribute "uuid" to a transform, the abc file will indicate the existence of "uuid.smp0" and "uuid.info" in the attributes for that transform's userProperties group. For instance at /ABC/box/.prop/.xform/.userProperties - same thing will be true for the boxShape geometry object at /ABC/box/boxShape/.prop/.geom/.userProperties in the uuid.smp0 and uuid.info attributes.

Has anyone tried communicating this arbitrary data between Maya and Houdini, and was it a solution through Houdini's packaged alembic support or through a custom plugin? I mostly just want to ensure that these attributes are preserved during round-trip which they are currently not but would of course like to access them in Houdini as well.


--
Eddie Offermann

Steve LaVietes

unread,
Jun 25, 2013, 10:09:13 PM6/25/13
to alembic-d...@googlegroups.com
The contents of arbGeomParams should be preserved going between Maya and Houdini. These have an expected structure (managed by the GeomParam classes) and can be faithfully expressed in both packages. The standard Maya Alembic writer supports them. (Maybe someone can chime in with the specific argument and attribute conventions.)

The structure of the contents of "userProperties" can be whatever you want and may not be easily preserved in all systems. While the Maya plug-ins do have some support for them, they come with fewer expectations of interchange.

-stevel



--
You received this message because you are subscribed to the Google Groups "alembic-discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to alembic-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Eddie Offermann

unread,
Jun 25, 2013, 11:58:15 PM6/25/13
to alembic-d...@googlegroups.com
Yeah - I'm getting them written out ok. The -uatp flag on Maya's AbcExport specifies the prefix for attributes that you want to include. I can inspect the values in the resulting file using various hdf5 tools, they're there in Maya when it is brought back in, but I'm not seeing them and don't seem to be able to remap them in Houdini though it's possible I'm just issuing the wrong syntax to reference the attribute: that's what I'm checking on really.

Working with Houdini 12.5.427 at the moment.
--
Eddie Offermann
imdb: http://www.imdb.com/name/nm2835373/
linkedin: http://www.linkedin.com/pub/1/B00/07B
fax: 215-565-3799 - phone: (323) 638-4VFX (323-638-4839) - cell: (407) 222-6590
s/v Thoreau's Idyll - 1968 Newport 20
s/v SoNice - 1959 Ackerman Newporter
"Go Confidently in the direction of your dreams. Live the life you've imagined."
                                                 --Henry David Thoreau
"Tell me, what is it you plan to do with your one wild and precious life?"
                                                 --Mary Oliver (The Summer Day)

Steve LaVietes

unread,
Jun 26, 2013, 12:54:26 AM6/26/13
to alembic-d...@googlegroups.com
When you use -uatp, you get "user properties". -atp is the equivalent for writing the data as a "arbitrary geometry parameter" (GeomParam).

I believe that Houdini is looking for "arbitrary geometry parameters" and not the more freeform "user properties."

-stevel

Eddie Offermann

unread,
Jun 26, 2013, 3:24:39 PM6/26/13
to alembic-d...@googlegroups.com
That was very helpful, Steve! I've also been emailing with Mark Elendt this morning offlist who had some helpful tips for mapping the userProperties to Mantra properties based on http://www.sidefx.com/docs/houdini12.5/nodes/shop/vm_geo_alembic - basically stealing use of a mantra property to expose the userProperty value.

Our experiments here at Mirada this morning were a success following your suggestion: The secret is to use the -atp flag from Maya as Steve LaVietes suggested (that ensures the attributes will be arbGeomParms where Houdini expects them) and then attach a "convert" after the "alembic" node under the shape we're interested in: we can then access the attributes there. There may be other ways and if you know any, we'd welcome variety! :)

We've been able now to round-trip these attributes from Maya to Houdini and back again successfully so I feel pretty good about that. We also believe currently based on limited testing that emitted instances of the geometry will successfully convey these attributes.

Reply all
Reply to author
Forward
0 new messages