Skip to content

Commit c1545e4

Browse files
committed
start adding skinned mesh export test
1 parent 2d244ca commit c1545e4

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

Assets/FbxExporters/Editor/UnitTests/ModelExporterTest.cs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,5 +377,58 @@ private void CompareCameraValues(Camera camera, Camera fbxCamera, float delta=0.
377377
Assert.AreEqual (camera.nearClipPlane, fbxCamera.nearClipPlane, delta);
378378
Assert.AreEqual (camera.farClipPlane, fbxCamera.farClipPlane, delta);
379379
}
380+
381+
[Test]
382+
public void TestSkinnedMeshExport(){
383+
var fbxPath = "Cowboy/3D assets/Cowboy/cowboyMidPoly(riged).fbx";
384+
385+
// add fbx to scene
386+
GameObject originalFbxObj = AssetDatabase.LoadMainAssetAtPath("Assets/" + fbxPath) as GameObject;
387+
Assert.IsNotNull (originalFbxObj);
388+
GameObject originalGO = GameObject.Instantiate (originalFbxObj);
389+
Assert.IsTrue (originalGO);
390+
391+
// export fbx
392+
// get GameObject
393+
string filename = GetRandomFbxFilePath();
394+
ModelExporter.ExportObject (filename, originalGO);
395+
GameObject fbxObj = AssetDatabase.LoadMainAssetAtPath(filename) as GameObject;
396+
Assert.IsTrue (fbxObj);
397+
398+
var originalSkinnedMesh = originalGO.GetComponentInChildren<SkinnedMeshRenderer> ();
399+
Assert.IsNotNull (originalSkinnedMesh);
400+
401+
var exportedSkinnedMesh = fbxObj.GetComponentInChildren<SkinnedMeshRenderer> ();
402+
Assert.IsNotNull (exportedSkinnedMesh);
403+
404+
Assert.IsTrue (originalSkinnedMesh.name == exportedSkinnedMesh.name ||
405+
(originalSkinnedMesh.transform.parent == null && exportedSkinnedMesh.transform.parent == null));
406+
407+
// check if skeletons match
408+
// compare bones
409+
var originalBones = originalSkinnedMesh.bones;
410+
var exportedBones = exportedSkinnedMesh.bones;
411+
412+
Assert.IsNotNull (originalBones);
413+
Assert.IsNotNull (exportedBones);
414+
415+
Assert.AreEqual (originalBones.Length, exportedBones.Length);
416+
417+
Debug.Log ("bone count: " + originalBones.Length);
418+
419+
for(int i = 0; i < originalBones.Length; i++){
420+
var originalBone = originalBones [i];
421+
var exportedBone = exportedBones [i];
422+
423+
Assert.AreEqual (originalBone.name, exportedBone.name);
424+
425+
Debug.Log ("bone name: " + originalBone.name);
426+
427+
// compare transforms
428+
/*Assert.AreEqual(originalBone.localPosition, exportedBone.localPosition);
429+
Assert.AreEqual (originalBone.localRotation, exportedBone.localRotation);
430+
Assert.AreEqual (originalBone.localScale, exportedBone.localScale);*/
431+
}
432+
}
380433
}
381434
}

0 commit comments

Comments
 (0)