You need to log in to create posts and topics.

alembic workflow - Maya to Houdini


I'm concidering rendering our short film in houdini with redshift. Does anyone have some good tips and tricks to make the alembic export import process as smooth as possible?

One problem I had was that it takes forever to export the animation when the geo is split up in seperate exports. I did this to make it easier to apply shaders in houdini. I read somewhere that you could tag geo in maya with a shop_material attribute that defines a shader, but I didn't get that to work. Any info on that and how to use it with prism would be much appreciated.

Then, how about splitting the geo in houdini, is there an hda for that perhaps. I was thinking maybe there was a way to tag each vert/point in maya with the name of the geo, and then run a for loop in houdini and split by name... Is that how you would go about it?

PS: I'm talking 30+ characters and about 40 shots, so I need to automate as much as possible, and make it easy to export, and easy to update in Houdini - again any ideas and suggestions are very welcome! Thanks

When you import an alembic file in Houdini you get one primitve for each maya object. On the alembic node there is an option to create a group for every object in the alembic file. Then you can use a material node to assign different materials to different groups. Or you can use a split or delete node to isolate specific groups.

If you import the alembic through the Prism State Manager, the option to create a group per object is set automatically.

I never tried to tag geo before importing it into Houdini. If someone has tested that I'd be interested to here about experiences with that.

But why do you want to render everything in Houdini? Is the Redshift integration in Houdini so much better than in Maya?

Thanks Richard, didn’t know about the groups.

There are so many reasons, but I think all in all it is mainly because I like houdini a lot more than Maya, especially for shading, scattering, effects. So I just thought since I have to do some if the effects in houdini, I could just as well render it there as well. The redshift integration is about the same I would say, Maya might be a bit more stable.

I found this

might be the solution. Although it would be more elegant to only use Prism for exporting.

Quote from Magnus on 7. December 2018, 9:14

... it is mainly because I like houdini a lot more than Maya...

I can absolutely understand you 😉

Great tool you found there. But in the video I couldn't see how the material information was transferred. I guess he had a shop_material attribute on the maya objects, which he didn't show in the video?

I haven't tried to put prim attributes on objects in Maya and exporting them with Prism as alembic. Maybe it already works by default. Would be worth a test. Otherwise it should be easy to add to Prism since the mgeo-exporter seems to be open source.


btw: Congratulations to the Emile award 🙂

I think you can export attributes with obj and alembic, but Maya's integration is quite poor, so it's not that easy - at least that's what I heard.

mGeo exports .geo and .bgeo so I guess he wrote some kind of custom exporter? Those are houdini file-types right?

Yes, he is appending the shop_materialpath, you can see a detailed walkthrough in this video:

There are a bunch more on his Vimeo channel.

Thanks a lot, it was a ton of fun 🙂

I tried installing mGeo today, but couldn't get it to load in maya.

From the github description:


  1. Copy folder pw_mGeoExporter to the PYTHONPATH folder
  2. In ScriptEditor execute code:

import pw_mGeoExporter


Is he referring to the pythonpath in the maya env file? I tried appending the path to the folder were I saved script, to the PYTHONPATH variable in the Maya env for maya 2017. Does that sound like the right way to go about it?

Yes you should be able to modify the PYTHONPATH environment variable in the maya env file. Or you can place the tool in any existing folder, which is in the pythonpath variable. Since the last update Prism adds a project folder to that path, so you can place the tool in \00_Pipeline\CustomModules\Python

When you download the .zip file from github and extract it, you get this file: pw_mGeoExporter-master\

The indicates that the current folder can be treated as a python module and the parent folder is the module name, which you can import from a python console. Rename the parent folder from pw_mGeoExporter-master to pw_mGeoExporter and it will work. In case you place it in a Prism project you should have this hierarchy: \00_Pipeline\CustomModules\Python\pw_mGeoExporter\

Then you can execute in maya:

import pw_mGeoExporter

I just tested it in Maya 2018. I got a few minor errors but I could use the tool to export a file.

In the video you posted he didn't created the shop_material attribute in maya. He set a prim group in his tool during export, so that all objects with the same maya material are in the same prim group. In Houdini he creates the shop_material attribute based on the name of the prim group. That's a really interesting way to do it, but unfortunately it doesn't export as alembic files.

In the Maya alembic export settings there is a section for custom attributes, but I haven't managed to get them working. But it looks like it can pick up attributes from the maya channel box. My Maya skills are a bit rusted, but I try play around with it a bit in the next days.

Hi Richard,


Thank you so much for the explanation! It work now, and it's awesome!!

I had so many thoughts about how to use this with prism, again decided to do a recording.  Please excuse my rambling 😀

I wrote the developer a mail and asked under what kind of license his tool is released. But it looks like a great addition so I added it to the feature idea list. In a past project I used alembic to transfer objects from Maya to Houdini and we had no major issues with UVs as far as I remember.

I'm not sure if I understood everything regarding the sets and tags, but you can export and import selection sets with the State Manager already. I haven't thought about any details how to integrate this tool into Prism, but it's good that you already have some ideas for that.

I just found out that the UV issue was related to the flattenUV sop in houdini 17. However I think I read somewhere that bgeo is a lot more optimized than alembic and runs better in houdini (which makes sense I guess...)

That's great, I don't know why I thought it wasn't possible to export sets... I'll make a geo set for each asset from now on. If we get the exporter working (or makes it possible to add similar data to alembic) I will name shaders the same in maya as in houdini so it can be applied automatically by name.

Did he write you back by the way?