Exporting keyed blend shape anims for SceneKit with FBX_DAE fails

Anonymous

Exporting keyed blend shape anims for SceneKit with FBX_DAE fails

Anonymous
Not applicable

We're using Maya to produce some characters for use in Apple's SceneKit.  Our workflow is to export as .dae (COLLADA) files with Maya 2018.2's built-in DAE_FBX exporter, then load into SceneKit in Xcode (9.3).  Our basic models and blend shapes are exported correctly for the most part and are directly usable in SceneKit.  -- this part is great.  However, any keyed blend shape animations do not load.  All the animations on the transform that I've tested work fine.

 

I created a new project and isolated this down to the simplest possible scenario.  I created a very simplistic Maya project with 1  blend shape.  Then I did a simple animation on that blend shape.  Then exported to dae.  Then FAIL.

 

My software versions are:

- Maya 2018.2 (Cut ID: 201711281015-8e846c9074)

- Xcode 9.3 (9E145)

- macOS High Sierra 10.13.4

- iOS 11.3.1

 

On the Maya side of things, I've tried several variations on the creation/export process:

- Tried "remove single key" checkbox (with and without)

- Tried "bake animation" setting in export window

- Tried checking and unchecking "Deformed models" and "blend shapes"

- Under the DAE_FBX export window, I've tried with and without "Single Matrix" checked.  Regardless of this setting, the transform animations work either way, but the blend shape animations do not.

 

I eventually thought this would probably be a SceneKit bug on Apple's side, so I filed a bug report and a case for developer tech support.  After some back and forth, they came back stating that it is a bug in Maya's exporter.  After reading through their response as well as the COLLADA spec and doing numerous other tests, I'm inclined to agree.

 

They wrote:

 

cube-blend.dae contains a blend shape animation but the target syntax is incorrect: pCube2-lib-morph-weights(Weight_0_0). This is an exporter issue (we tried to import this file in Modo [can’t open it] and Cinema4D [loads correctly but with no animation]).

 

The COLLADA spec seems to indicate that the target name having parenthesis for any purpose other than array/range index is invalid.

 

At this point I'm really hoping for a workaround.  Or a full fix.  Or any sort of workflow that actually works.

 

I tried importing into Cinema4D and had the same result as the Apple tester.  I also tried Khronos group's OpenCOLLADA COLLADAMaya exporter with Maya 2017, but that has other issues.  I've tried with 2017 Update 5 and 2018.2.  Trying 2018.3 in a moment.

 

Does anyone have a solution or a workflow that is usable?

 

The full demo Maya project, demo Xcode project, and descriptive videos are here:

 

https://bitbucket.org/drewster77/scenekitimportedanimtest/src/master/

 

I'm also attaching the Maya project and the generated .dae file.

 

Thank you!

 

 

EDIT:

I'm having technical issues uploading the files, so I'll link them here for now:

cube-blend.ma

cube-blend.dae

cube-blend.mov

0 Likes
Reply
2,128 Views
10 Replies
Replies (10)

Anonymous
Not applicable

We're using Maya to produce some characters for use in Apple's SceneKit.  Our workflow is to export as .dae (COLLADA) files with Maya 2018.2's built-in DAE_FBX exporter, then load into SceneKit in Xcode (9.3).  Our basic models and blend shapes are exported correctly for the most part and are directly usable in SceneKit.  -- this part is great.  However, any keyed blend shape animations do not load.  All the animations on the transform that I've tested work fine.

 

I created a new project and isolated this down to the simplest possible scenario.  I created a very simplistic Maya project with 1  blend shape.  Then I did a simple animation on that blend shape.  Then exported to dae.  Then FAIL.

 

My software versions are:

- Maya 2018.2 (Cut ID: 201711281015-8e846c9074)

- Xcode 9.3 (9E145)

- macOS High Sierra 10.13.4

- iOS 11.3.1

 

On the Maya side of things, I've tried several variations on the creation/export process:

- Tried "remove single key" checkbox (with and without)

- Tried "bake animation" setting in export window

- Tried checking and unchecking "Deformed models" and "blend shapes"

- Under the DAE_FBX export window, I've tried with and without "Single Matrix" checked.  Regardless of this setting, the transform animations work either way, but the blend shape animations do not.

 

I eventually thought this would probably be a SceneKit bug on Apple's side, so I filed a bug report and a case for developer tech support.  After some back and forth, they came back stating that it is a bug in Maya's exporter.  After reading through their response as well as the COLLADA spec and doing numerous other tests, I'm inclined to agree.

 

They wrote:

 

cube-blend.dae contains a blend shape animation but the target syntax is incorrect: pCube2-lib-morph-weights(Weight_0_0). This is an exporter issue (we tried to import this file in Modo [can’t open it] and Cinema4D [loads correctly but with no animation]).

 

The COLLADA spec seems to indicate that the target name having parenthesis for any purpose other than array/range index is invalid.

 

At this point I'm really hoping for a workaround.  Or a full fix.  Or any sort of workflow that actually works.

 

I tried importing into Cinema4D and had the same result as the tester.  I also tried Khronos group's OpenCOLLADA COLLADAMaya exporter with Maya 2017, but that has other issues.

 

Does anyone have a solution or a workflow that is usable?

 

The full demo Maya project, demo Xcode project, and descriptive videos are here:

 

https://bitbucket.org/drewster77/scenekitimportedanimtest/src/master/

 

I'm also attaching the Maya project and the generated .dae file.

 

Thank you!

0 Likes

sean.heasley
Alumni
Alumni

Hi @Anonymous

 

Thanks for the in depth post on this!

 

While I don't have SceneKit to personally test this, I'm going to pass this along to our developers so they can take a look at it and let me know if this is indeed and issue that needs to be fixed and/or if there's a workaround available.

 

 

0 Likes

Anonymous
Not applicable
Awesome - I really appreciate that.
0 Likes

Anonymous
Not applicable

Hi Sean,

 

Do you have any update from developers on this item?  Or is there a better way to get it the needed attention?


Thank you so much,

Andrew

 

0 Likes

sean.heasley
Alumni
Alumni

Hi @Anonymous

 

No update yet. I do have it logged with our development team as an issue and when they get back to me with an update I'll be sure to let you know!

 

 

0 Likes

mattGFNMV
Community Visitor
Community Visitor

3 months later... facing the same issue. Any update on this?

0 Likes

sean.heasley
Alumni
Alumni

Hi @mattGFNMV

 

The devs have reproduced this and are working on it but I can't say which update or when a fix will be implemented.

 

I just ask that you please be patient and keep an eye out for future updates/releases of Maya and their patch notes so you'll know the second we officially have its solved and release a fix!

 

 

0 Likes

Anonymous
Not applicable

Any updates from the Devs? I am going through the exact issue!

0 Likes

sean.heasley
Alumni
Alumni

Hi @Anonymous

 

At the moment there aren't any changes I can disclose but I'll update when that changes.

 

 

0 Likes

Anonymous
Not applicable

Same issue. Note to all: in my experience, the developers don't really fix many things. Every person for themselves I guess.

0 Likes