How to export a scene with Shape Keys Animation?
How to export the scene correctly and what format should I choose to be able to open this scene in any 3D editor, like Maya or Houdini?


What you need is the .abc Alembic file format which is a production standard. Blender does not support it as of 2.76b but it is planned for some future release.

There are also other formats (.FBX, .PC2, .DAE, .OBJ sequence) how to transfer animations but they are pipeline/software specific - will not be as general as Alembic. But they should be tried first anyway.

We will care only about the final vertex animation - which is general for armature deforms, cloth, soft-body simulations, rigid-bodies etc. The vertex count needs to be constant - it won't work on particles. We will use .MDD NewTek's Point Cache with a static .OBJ to export the animation out of Blender into Houdini.

In UserPreferences under Addon in section Import/Export make sure .mdd and .obj are enabled. Go to first frame of your animation and export your object as .obj and export the animation range you want as a .mdd vertex animation. Blender has Z as up, Houdini has Y up, also keep vertex order pls:



If you don't have Houdini then download it for free (Apprentice licence). There is also an Indie licence for $200.

Inside Houdini Import your .OBJ with File > Import > Geometry. Almost everything is done there inside a Node window. Double-click your object node to enter it (you will see a mesh node inside) and hit Tab to invoke a new node menu. Select Import > MDD and connect it below your mesh node. Select the new node and import the .mdd file into it:



The yellow black crosshatch around the node should disappear. Click the blue eye icon of that mdd node to view it's results and play the animation.

To export this animation into Alembic we will use another node to render the animation into a file. Jump back to object level with AltLeft Arrow and add a ROP node (Tab > Managers > ROP Manager). Enter the node (double-click on it) and add a Alembic node (Tab > Scene > Alembic). Select the node, set it's parametres (file path, change from single-frame to frame-range) and render the animation into a file.



Getting animations into Maya can be also done as exporting a .PC2 PointCloud and converting inside Maya to .MC Maya Cache file format. You do this with a MEL script:

cacheFile -pc2 1 -pcf "C:/input.pc2" -f "mayaCache2" -dir "C:/" -format "OneFile";


Just change the file paths.

Then you import the .MC file inside Maya.