public BlendshapesConfigForExport GetExport(Transform startXform) { BlendshapesConfigForExport export = new BlendshapesConfigForExport { skinnedMeshRendererPath = Utils.GetPathForTransform(startXform, skinnedMeshRenderer.transform), blendShapeCount = blendShapeCount, blendshapeNames = blendshapeNames, blendshapeWeights = blendshapeWeights }; return export; }
public void Import(Transform startXform, BlendshapesConfigForExport import) { skinnedMeshRenderer = Utils.GetTransformFromPath(startXform, import.skinnedMeshRendererPath).GetComponent<SkinnedMeshRenderer>(); blendShapeCount = import.blendShapeCount; blendshapeNames = import.blendshapeNames; blendshapeWeights = import.blendshapeWeights; }
public static bool CanImport(BlendshapesConfigForExport import, Transform startXform) { Transform t = Utils.GetTransformFromPath(startXform, import.skinnedMeshRendererPath); if ( t == null ) return false; SkinnedMeshRenderer skinnedMeshRenderer = t.GetComponent<SkinnedMeshRenderer>(); if ( skinnedMeshRenderer == null ) return false; if ( import.blendShapeCount != skinnedMeshRenderer.sharedMesh.blendShapeCount ) return false; if ( import.blendshapeNames != null && import.blendshapeNames.Length > 0 ) for ( int i=0; i<import.blendShapeCount; i++ ) if ( false == import.blendshapeNames[i].Equals(skinnedMeshRenderer.sharedMesh.GetBlendShapeName(i)) ) return false; return true; }