Starting in December, we will archive content from the community that is 10 years and older. This FAQ provides more information.
Hello,
I am using the fbx sdk to export a Maya-file (I wrote a script that executes in Maya using the python binding for the fbx sdk). When exporting meshes and the skeleton, everything looks perfect. But when I include the skinning to connect both, the meshes get stretched all over the place. I suppose I didn't understand correctly how skinning is encoded, either in fbx-files or in Maya. Can anyone help me?
So the algorithm to create the skinning works as follows:
1. For each Maya-node with the node-type 'mesh':
2. If the Maya-node has no Maya-skincluster: continue
3. Create new FbxSkin
4. For each influence-object (joint) of the Maya-skincluster:
5. Get points affected by influence (joint) and their respective weights
6. Create new FbxCluster
7. Set Link of FbxCluster to the (previously created) FbxNode corresponding to the influence (joint)
8. For each point affected by influence (joint):
9. Add ControlPoint to FbxCluster corresponding to the affected point and its weight
10. Add FbxCluster to FbxSkin
11. Add FbxSkin as Deformer to the FbxNode corresponding to the Maya-mesh-node
I appologize in advance if this is a stupid question, I am completely new to all of this. I also realize that the error could be in my (probably very bad) code. I just think its a little too much code to post on block, but I am happy to post anything you're interested in.
Btw I am doing all of this, because the Maya-fbx-export produces a file only Maya can open correctly. In every other program I tried the object was broken in some way. And specifically I am interested in opening the file in Blender and later on with the Assimp library.
Actually, using the Exporter that Maya provides should be the easiest way to generate FBX files. And since the main purpose of this format is the interoperability across applications, these files should be widely supported. If the files are not importing correctly into Blender or Assimp, it sounds like the issue may be on their side. Either they support only older version of the FBX file - in which case, you can always specify the desired version (FBX 2020 down to 2006) when exporting from Maya, or they have a limitation about what they expect to find in the FBX file. It may be worth reaching them to get the details about existing limitations.
If you still want to go with programming your own export, I suggest you take a look at the C++ samples of the FBX SDK as well to get more details how the FbxSkin is created (ExportScene01) /read (ViewScene).
Can't find what you're looking for? Ask the community or share your knowledge.