View Full Version : maya 2013 referencing alembic

06 June 2012, 04:26 AM

I've been playing around with Maya 2013 for a bit, especially with Alembic caching. I really love how fast and reliable it seems to be, but there is a small problem when I try to use it in my existing pipeline.

I want the animators to be able to reference a character into their scene, animate it, and then export each character into its own Alembic file. This hasn't been a problem so far; I wrote some quick tools to do this automatically for each character. Importing the caches back into the scene is no big deal, though of course the objects lose their materials and render layer assignments.

What I tried doing was to create a "cache" version of the character that had the materials and render layers pre-applied. I created this by exporting a dummy Alembic cache of the character in bind pose, then importing that cache, then applying all the materials and deleting the original character.

The goal with that method was to be able to then reference in the character, and just switch the file path that the AlembicNode is looking for. The shape names are exactly the same, the only thing that's changing is the path that I'm looking for. Unfortunately, this doesn't seem to work when referencing is involved. Once I reload the reference (updating the Alembic path doesn't seem to actually change where Maya is looking without reloading), material assignments get jumbled (not randomly; the material mismatch always seems to be the same for each object), as well as the coordinates of a few of the objects being messed up, almost like a double transformation. I verified that this only happens when referencing; if I import this "cache" character and then manually change the AlembicNode's file path, it works normally (though I have to re-open the scene in order to do this).

Interestingly enough, when I import one of these Alembic caches into Houdini, the same weird transformation problems happen there, too. Some objects just aren't in the right place at all.

Does anyone have any input on this? I've gotten this exact sort of pipeline to work just fine with Maya's default geometry caches, but geocaches are incredibly slow compared to Alembic.

06 June 2012, 07:07 AM
I am not familiar with the "character reference" you are talking about, but from my experience with Alembic caching and Houdini Alembic, I never had a problem with geometry not loaded correctly. Could you give a simple example of something that could showcase the kind of issue you are having?

BTW, what Alembic caching you are talking about? Just export/import Maya scene into Alembic file format, or the gpuCache?

Since both gpuCache and Houdini Alembic come with the source code, have you gotten the chance to take a closer look?

06 June 2012, 06:53 PM
Importing Alembic files is not a problem. It works exactly as it's supposed to. Unfortunately, it doesn't include shading information. I am using regular Alembic caches; GPU caches bake illumination and are not useful for what I need.

All I want to be able to do is to change the Alembic file path on the AlembicNode, on a referenced object. This way, I wouldn't have to re-assign materials every time I import a new cache. I need the objects to be referenced in order to function correctly with the rest of the pipeline. The main problem so far is that I can't seem to update Alembic data on a referenced object... if I use the "connect" method then nothing happens, and if I just change the file path on the AlembicNode (the AlembicNode in this case is included in the referenced object, pointing to a simple dummy cache) then the material connections get scrambled.

Unfortunately I am not a real programmer and my experience is limited to MEL and Python. I don't know nearly enough C++ to start digging around in the source code.

06 June 2012, 07:15 PM
I could do the digging for you if you can give me an example. Otherwise you could also submit your problem to

I'm very familiar with Houdini Alembic code, but again I need an example to see the issue you are having.

06 June 2012, 08:40 PM
Sorry for any confusion; I've managed to avoid the error by making sure the DAG hierarchy of the object I'm importing to is exactly the same as the one I'm exporting from. I'm guessing because the node order became very slightly different, it caused the problems I mentioned earlier. Thanks for your help.

06 June 2012, 09:11 PM
Cool. Yes for the swapping feature of Alembic, it's VERY important the hierarchy is exactly the same.

CGTalk Moderation
06 June 2012, 09:11 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.