private void GeneratePreviewObject()
{
#if UNITY_EDITOR
DestroyPreviewObject();
spriteRenderer.enabled = false;
previewObject = new GameObject();
Selection.activeGameObject = previewObject;
previewMF = previewObject.AddComponent<MeshFilter>();
var mr = previewObject.AddComponent<MeshRenderer>();
previewObject.transform.position = spriteRenderer.transform.position;
previewObject.transform.rotation = spriteRenderer.transform.rotation;
previewObject.transform.localScale = spriteRenderer.transform.localScale;
previewMF.mesh = GetMesh();
if (previewMaterial == null) {
previewMaterial = new Material(Shader.Find("Unlit/Transparent"));
}
mr.sharedMaterial = previewMaterial;
mr.sharedMaterial.mainTexture = spriteRenderer.sprite.texture;
meshVertices = previewMF.sharedMesh.vertices.Select(x => spriteRenderer.transform.TransformPoint(x)).ToArray();
Undo.RegisterCreatedObjectUndo(previewObject, "Generate Preview Object");
#endif
}