Morph target object upload as an FBX won't morph

I’m new to playcanvas. How can I get an FBX upload which includes an animation and a morph target object to work. The animation works fine but the base object and morph object gets loaded as a single object/entity. How do I get the morph to work in playcanvas? Is there an option in Editor??

This is a work in progress, I currently have the base object dissolved out.

https://playcanvas.com/editor/scene/673061

So, I forked your project and downloaded your Peel-7.fbx model.
Apparently the Morph/blend-shape animations aren’t getting uploaded to PlayCanvas. There was talk that this feature would be implemented in the engine over a year ago, but it obviously isn’t yet.

My advice, after looking at your model, would be to skin the model to a skeleton and perform your animation via a skeletal mesh. Will work, but is a bit time-consuming.

Thanks for the info will look into the option you suggested

I know it’s a big pain and not the answer you were probably looking for.
But, here’s the question thread with some of the developers:

https://github.com/playcanvas/engine/issues/179

Maybe you can contact willeastcott and get a better answer.

Morph target support for FBX upload is still not well tested (although, if I recall correctly, the data should be there when the model is converted on upload).

One thing I do know is that the glTF loader supports morph target loading. And the engine plays those back just fine.

Drag this:

Into this:

https://playcanvas.github.io/playcanvas-gltf/viewer/

1 Like

Hi, is this current status on this still?

Or is there morph target support for FBX uploads now?

There’s morph target support now.
We have some issues with importing morph normals from fbx it seems … but positions work well.

aha, weird. we’re trying two paths here

  1. Import the asset as FBX. No animations ever came in. would you have an example file with an fbx with morph targets? Perhaps morph targets could still be there without any animation present?
  2. Second path would be to import a GLB file, and I tried the Loader code from this project: Loading glTF GLBs | Learn PlayCanvas

However I’m having some problems starting the animation. Not sure how to go about to do that from there. File loads fine though.

One more strange thing: The GLB we exported loads fine and plays with morph target in this viever: https://playcanvas.github.io/playcanvas-gltf/viewer/ But not in this one: PlayCanvas glTF Viewer where it gives an error:

image

What’s the difference?

MorphTwist.zip (116.4 KB)
I believe this fbx when imported imports morph targets. I think I then downloaded the converted glb into PlayCanvas glTF Viewer and that worked - the fbx does not have animation, but you get a slider for morph target and it works.

This viewer is old one based on older tech and not being up to date with the current engine: PlayCanvas glTF Viewer

This is the new one. PlayCanvas glTF Viewer
Are you able to shader the glb file that gives you the error in the new viewer?

1 Like

Hi, thanks for looking into this.

I added the fbx in your zip to playcanvas, and the following assets are generated:

Where is this morph target slider you’re mentioning? component on the entity when added to hiearky? On the asset inspector? I can’t see it anywhere.

The slider was mentioned in the viewer section … that’s where you find it. You can either download the glb file (model, not animation). Or you can click on Open in Viewer in the inspector of test.glb. Slider is in the viewer on the left bottom.

maybe also look here [SOLVED] Morph / shape blend animation not playing - #5 by mvaligursky

Great, seems both the Cube twist and my model does show morph target slider when I click “open in viever”.

Now to the final question then, How do I start this “animation”?

With your model FBX, does it have an animation? If so, it should be a case of adding an anim component and playing the animation.

If you don’t want to add the complexity of a state graph, you can use this script in the project to make it a bit easier: Animation without State Graph | Learn PlayCanvas

That’s what I was hoping for too. But it seems there is no animation. However, there is morph target. The target should be animated in Blender according to the animator, but perhaps it’s not translating properly.

When I import the twist cube in the Editor, it generates one glb with the model, and one with the animation. But I’m not sure the animation effects the morph weight.
But I believe the fbx I linked from another thread animates both the meshes as well as morph.

The animation of the Twist is not connecting in the viewer at least. If I try to import the fbx you mention from the other thread (online_ex.fbx) it will give these assets:

However, if I choose the glb and press open in viewer to have look I get this error:

Yep we’ve notice this issue as well … it used to work … we’ll investigate. It seems the generated glb in some cases is not valid. Perhaps try this to convert fbx->Glb, I had good susccess with this.

https://github.com/facebookincubator/FBX2glTF (manual: https://developers.facebook.com/docs/sharing/3d-posts/glb-tutorials/#convert-from-fbx)

@slimbuck seems to suggest the generated glb is only invalid if hierarchy import is enabled … try to disable it and test the glb that generates. We’ll investigate the problem.

I created an issue to track this https://github.com/playcanvas/editor/issues/596