alembic problems

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
  07 July 2012
alembic problems

hello all,

i am having some extreme problems with alembic. this will be kind of a long post, but i hope i include all necessary details.

to begin with, i am working on a windows box, maya 2012 with the service pack which includes alembic.

i am having a huge problem with alembic because it only seems to correctly store information for geo if the geo has its shape node changed (skeleton, deformers, etc). if an object has its transform node changed (trans, rot, and scale) alembic does not cache the verts correctly, or not at all.

here is an example of my situation.

i have a character walking in the animation file with controls etc. i decide to parent a book to the right hand as the character walks.

i go to my lighting file, import the alembic cache for the character and it is fine. i import it for the book and the book does not move at all.

i also have a scene where a character moves some blocks around. they are all moved by controls using trans and rot. i cache it out, apply it to my lighting scene geo, and no movement . . .

i have also noticed when using the character, it MUST move or it will not cache. for one scene i had like 20 background characters. so the animator moved them into place and posed them, but there was no animation. cached them out, cache had not effect. but if i go to the main control of these 'static' characters, key frame it at say frame 0, and do a +=.001 to the trans channel at the last frame and key it again, and then cache it, the cache works fine.

this is extremely frustrating so far. i am terribly disappointed in alembic at this moment.

i would love for somebody to tell me how dumb i am and point out what i am doing wrong so i can make objects that are transforming only cache out correctly.

thanks so much for any advice. again, i am on a windows box, maya 2012 service pack that includes alembic.

" . . . the essential in life is invisible to the eye, one can only see rightly with the heart." (The Little Prince)
  07 July 2012
Try this...

I think the assumption of alembic not working comes from the idea that all the caches are only storing the world space transforms and not the chain of transforms up to the leaf level object.

I would think it's explained by the fact that there was no animation data on the book, it was simply parented to another moving object. Try putting the book at the root level in your scene and then parent constraining it to the hand, then when alembic bakes it out it should give you what you need.

Hopefully that should work.

  07 July 2012
heya thanks much for the reply. i might not have been clear enough when i was explaining. any props that move with the character, are parentconstrainted to something such as the character's wrist controller etc. goofed up if i said they were parented, i meant parentconstrainted.

basically, i have used several publishing/caching systems before. i am used to creating a cache, reapplying the cache to matching geo in another scene, and have the object move accordingly. i am not having this experience with alembic.

but again i am using maya 2012 with the service pack and windows. maybe some people will speak to that.

thanks for any advice.

" . . . the essential in life is invisible to the eye, one can only see rightly with the heart." (The Little Prince)
  07 July 2012
I'll start by saying I never used alembic before 30 mins ago, after reading your post. And I'm using maya 2013, so things may be different.

Ok, so I tried caching some animated and some static objects and some objects that are constrained to animation control handles. Everything worked the way I expected, and it makes me think you maybe misunderstood hominid's advice.

If your book is in a hierarchy and you constrained a group at the top of that hierarchy to your character's hand, and then you selected the book geo (not the group) and did "Export Selection to Alembic", then you would need to check the "worldspace" options in the export options.

It is true that alembic does not cache verts if the object is not deforming. The alembic cache can store also transform and other attributes, hierarchy and all kinds of other stuff as well as point data.


edit: Also, it seems you are trying to apply the alembic cache to existing (matching) geo in your scene. As far as I can tell, alembic caches store the geo too. You can populate your lighting scene with your alembic cache (which includes the geo). Later you can "import" the cache to update to new versions of your animation, but the way you do the import needs to be considered due to the way the "merge" option works.

Last edited by djx : 07 July 2012 at 12:51 PM.
  07 July 2012
When I tried to bake out animation of child objects, one of my animator friend showed me how to bake key from one of graph editor's menu. It's under the curve menu I think. You'll have to unparent the object afterwards to prevent double transformation.

I'll ask him about the detail tomorrow if I see him.
  07 July 2012
when maya start check your alembic version, if its the 1.0.0 i'm afraid you gonna have some problems. in 2013 i guess they use the 1.0.4 which is the last version ! it has less problem that would justify why Djx hasn't meet the same pb as you do.

you have this very active google group on alembic!forum/alembic-discussion

it will be the best place to ask some help.

in your case i would only see 2 solution if you're stuck with 2012.
- use the pluggin given by the official alembic team and not the autodesk one (you will have to compile it by yourself ...)
- use the FBX format to export your animated mesh.
  03 March 2013
Just in case someone else needs to resolve this, there is a simple way around it, even in Maya 2012 with the older Alembic plugin.

Sometimes depending on how the rig was set up in Maya I've run into issues like this. What I've done to get around it is to duplicate the offending geometry, parent it to the world and then use a Blend Shape to transfer the rig animation to this new copy. The trick is to make sure to go into the option box and choose 'world' for the new blend shape node when creating it. Not something you generally do for characters, but it works in this case as whatever is driving the deformation, whether it's simple parenting, lattices, skinning etc will all get transferred to the new mesh which has no hierarchy/coordinate issues.

Effectively you are turning transform level animation into shape level animation if it is a case of a mesh just being parented rather than deformed. The copy with the world space blend shape will cache out fine no matter what is driving the original.

  03 March 2013
Thread automatically closed

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.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 06:49 PM.

Powered by vBulletin
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.