// 頂点の位置をセットする. public void setVertexPositionsToSprite(Sprite2DControl sprite, Vector3[] positions) { MeshRenderer mesh_render = sprite.GetComponent <MeshRenderer>(); MeshFilter mesh_filter = sprite.GetComponent <MeshFilter>(); mesh_filter.mesh.vertices = positions; mesh_render.enabled = false; mesh_render.enabled = true; }
// UV をセットする. public void setVertexUVsToSprite(Sprite2DControl sprite, Vector2[] uvs) { MeshRenderer mesh_render = sprite.GetComponent <MeshRenderer>(); MeshFilter mesh_filter = sprite.GetComponent <MeshFilter>(); mesh_filter.mesh.uv = uvs; mesh_render.enabled = false; mesh_render.enabled = true; }
// スプライトに頂点カラーをセットする. public void setVertexColorToSprite(Sprite2DControl sprite, Color color) { MeshRenderer mesh_render = sprite.GetComponent <MeshRenderer>(); MeshFilter mesh_filter = sprite.GetComponent <MeshFilter>(); int div_count = sprite.getDivCount(); Color[] colors = new Color[div_count * div_count]; foreach (var i in System.Linq.Enumerable.Range(0, div_count * div_count)) { colors[i] = color; } mesh_filter.mesh.colors = colors; mesh_render.enabled = false; mesh_render.enabled = true; }
// 정점 위치를 획득한다. public Vector3[] getVertexPositionsFromSprite(Sprite2DControl sprite) { MeshFilter mesh_filter = sprite.GetComponent<MeshFilter>(); return(mesh_filter.mesh.vertices); }
// 정점 위치를 설정한다. public void setVertexPositionsToSprite(Sprite2DControl sprite, Vector3[] positions) { MeshRenderer mesh_render = sprite.GetComponent<MeshRenderer>(); MeshFilter mesh_filter = sprite.GetComponent<MeshFilter>(); mesh_filter.mesh.vertices = positions; mesh_render.enabled = false; mesh_render.enabled = true; }
// 스프라이트에 정점 색을 설정한다. public void setVertexColorToSprite(Sprite2DControl sprite, Color color) { MeshRenderer mesh_render = sprite.GetComponent<MeshRenderer>(); MeshFilter mesh_filter = sprite.GetComponent<MeshFilter>(); int div_count = sprite.getDivCount(); Color[] colors = new Color[div_count*div_count]; foreach(var i in System.Linq.Enumerable.Range(0, div_count*div_count)) { colors[i] = color; } mesh_filter.mesh.colors = colors; mesh_render.enabled = false; mesh_render.enabled = true; }
// 頂点の位置をゲットする. public Vector3[] getVertexPositionsFromSprite(Sprite2DControl sprite) { MeshFilter mesh_filter = sprite.GetComponent <MeshFilter>(); return(mesh_filter.mesh.vertices); }