Мои заметки. Создание меша из Polygon Collider 2D (Unity)

» опубликован
Пишу сюда некоторые наработки. В целом для себя, но кому надо, можете брать.
Скриптецкий:
public PolygonCollider2D collider;

	private MeshFilter filter;
	private Mesh mesh;
	private CombineInstance[] combine;

	private void Start()
	{
		filter = gameObject.GetComponent<MeshFilter>();
		combine = new CombineInstance[collider.points.Length];
		mesh = new Mesh();

		filter.mesh = Figure();
	}


	private Mesh Figure()
	{
		int size = 0;
		for(int index = collider.points.Length-1; index > 0; index--)
		{
		if(index-1 > 0) combine[size].mesh = Triangle(collider.points[0], collider.points[index], collider.points[index-1]);
		size++;
		}
		mesh.CombineMeshes(combine, true, false);

		return mesh;
	}

	public Mesh Triangle(Vector3 one, Vector3 two, Vector3 three)
	{
		Mesh mesh = new Mesh();
		mesh.vertices = new [] {one, two, three };
 		mesh.triangles = new [] {0, 1, 2};
		return mesh;
	}

 

Просмотров: 380

Комментарии пока отсутcтвуют