Skip to content

Commit 353d6d3

Browse files
committed
call skinned mesh export from inside export mesh
when a skinned mesh renderer component is found
1 parent 8563aed commit 353d6d3

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

Assets/FbxExporters/Editor/FbxExporter.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1192,17 +1192,11 @@ protected int ExportComponents (
11921192
fbxNode.SetTransformationInheritType (FbxTransform.EInheritType.eInheritRSrs);
11931193

11941194
if (!alreadyExported) {
1195-
Debug.Log ("here: " + unityGo.name);
1196-
11971195
ExportTransform (unityGo.transform, fbxNode, newCenter, exportType);
11981196

11991197
// try export mesh
12001198
bool exportedMesh = ExportInstance (unityGo, fbxNode, fbxScene);
12011199

1202-
if (!exportedMesh) {
1203-
exportedMesh = ExportSkinnedMesh (unityGo, fbxScene, fbxNode);
1204-
}
1205-
12061200
if (!exportedMesh) {
12071201
exportedMesh = ExportMesh (unityGo, fbxNode);
12081202
}
@@ -2001,11 +1995,15 @@ bool ExportMesh (GameObject gameObject, FbxNode fbxNode)
20011995
} else {
20021996
var smr = defaultComponent as SkinnedMeshRenderer;
20031997
if (smr) {
2004-
var mesh = new Mesh();
2005-
smr.BakeMesh(mesh);
2006-
var materials = smr.sharedMaterials;
2007-
bool result = ExportMesh(new MeshInfo(mesh, materials), fbxNode);
2008-
Object.DestroyImmediate(mesh);
1998+
var result = ExportSkinnedMesh (gameObject, fbxNode.GetScene (), fbxNode);
1999+
if(!result){
2000+
// fall back to exporting as a static mesh
2001+
var mesh = new Mesh();
2002+
smr.BakeMesh(mesh);
2003+
var materials = smr.sharedMaterials;
2004+
result = ExportMesh(new MeshInfo(mesh, materials), fbxNode);
2005+
Object.DestroyImmediate(mesh);
2006+
}
20092007
return result;
20102008
}
20112009
}

0 commit comments

Comments
 (0)