728x90
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | using UnityEngine; using System.Collections; public class CreatePoly : MonoBehaviour { public Transform[] pos; // Use this for initialization void Start () { Create(); } void Create() { GameObject poly = new GameObject("Poly"); Vector2[] uv = new Vector2[pos.Length]; Vector3[] ver = new Vector3[pos.Length]; MeshFilter meshFilter = poly.AddComponent<MeshFilter>(); MeshRenderer meshRenderer = poly.AddComponent<MeshRenderer>(); Mesh mesh = new Mesh(); for(int i = 0; i < ver.Length; i++) { ver[i] = pos[i].position; uv[i] = new Vector2(0, 0); } mesh.vertices = ver; mesh.uv = uv; mesh.triangles = new int[] { 0, 1, 2, 0, 2, 3, 0, 3, 4, 0, 4, 5, 0, 5, 6, 0, 6, 7, 0, 7, 8, 0, 8, 1 }; mesh.RecalculateNormals(); meshFilter.mesh = mesh; } } | cs |
vertices에는 좌표 uv에는 텍스쳐에 맵핑하는 좌표가 들어가지만 매핑할게 없기때문에 생략한다.
그리고 triangles에서 폴리곤을 정해주는데 0번1번2번 vertices를 합쳐서 삼각형을 만드는식으로 원하는 방식으로 넣어주면 mesh가 만들어진다.
'언어 > Unity' 카테고리의 다른 글
[Unity]마우스클릭으로 Collider만들기 (0) | 2018.02.05 |
---|---|
[Unity}RayCast (0) | 2018.01.31 |
[Unity] GUI 만들기 (0) | 2018.01.29 |
[Unity}Nullable (0) | 2018.01.25 |
[Unity]List사용 (0) | 2018.01.24 |