public void UpdateWeightInspector(ISpriteMeshData spriteMeshData, string[] boneNames, ISelection <int> selection, ICacheUndo cacheUndo) { m_WeightInspectorPanel.weightInspector.spriteMeshData = spriteMeshData; m_WeightInspectorPanel.weightInspector.boneNames = ModuleUtility.ToGUIContentArray(boneNames); m_WeightInspectorPanel.weightInspector.selection = selection; m_WeightInspectorPanel.weightInspector.cacheUndo = cacheUndo; }
public void DebugMesh(ISpriteMeshData spriteMeshData, Vector2[] vertices, Edge[] edges, Vector2[] controlPoints, Edge[] bones, int[] pins) { var boneSamples = SampleBones(controlPoints, bones, kNumSamples); var verticesList = new List <Vector2>(vertices.Length + controlPoints.Length + boneSamples.Length); var edgesList = new List <Edge>(edges); var indicesList = new List <int>(); verticesList.AddRange(vertices); verticesList.AddRange(controlPoints); verticesList.AddRange(boneSamples); TriangulationUtility.Tessellate(kMinAngle, 0f, kMeshAreaFactor, kLargestTriangleAreaFactor, 0, verticesList, edgesList, indicesList); spriteMeshData.Clear(); verticesList.ForEach(v => spriteMeshData.AddVertex(v, new BoneWeight())); spriteMeshData.edges.AddRange(edgesList); spriteMeshData.indices.AddRange(indicesList); }