일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그랭소스
- 인디게임
- 핸드폰과 PC 블루투스
- 시리얼 통신
- 질문
- 강의
- 유니티
- 안드로이드
- 프로그램
- clicker
- 소스
- 과외
- 제작
- Source
- 초보
- Manager
- Game
- AR
- 프로그래밍 #코딩 #과외 #네카라쿠배 #따라하기 #코딩초보 #앱 #안드로이드
- Scene
- 클리커게임
- 뷰포리아
- jar
- 클리커
- 프로그래밍 언어
- 강좌
- Silly
- 2016
- 블루투스
- unity
- Today
- Total
실리의 프로그램 사이트
Unity Mesh에 대한 이해. 본문
Unity에서의 Mesh에 대한 이론을 조금 이야기 해보자 합니다.
일단 Unity Mesh에 대해서 유니티 레퍼런스에서 가져 왔습니다..
출처 : https://docs.unity3d.com/kr/current/ScriptReference/Mesh-vertices.html
Mesh.vertices
Description
정점(vertext) 위치의 복사본을 반환하거나 새로운 정점 위치 배열을 할당합니다.
메쉬에서 정점의 수는 정점 배열을 할당해서 변경됩니다. 정점 배열의 크기를 변경하는 경우에, 모든 다른 정점 속성(노멀, 색상, 접선, UV)도 자동으로 크기가 변경된다는 점을 주의하십시오. 정점을 설정할 때 메쉬에 정점 정보가 할당되지 않을 경우에, RecalculateBounds가 자동으로 invoke됩니다.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Update() { Mesh mesh = GetComponent<MeshFilter>().mesh; Vector3[] vertices = mesh.vertices; int i = 0; while (i < vertices.Length) { vertices[i] += Vector3.up * Time.deltaTime; i++; } mesh.vertices = vertices; mesh.RecalculateBounds(); } }
mesh에 대해서 찾아보면 위와 같은 레퍼런스를 보게 됩니다.
하지만 보고 나면 저게 머지 하는 분들이 있을 듯 합니다.
Mesh란 다면체 모양의 집합입니다. 아래 그림을 보시죠.
출처 : https://en.wikipedia.org/wiki/Polygon_mesh
저기 최종 다면체가 mesh라고 보시면 됩니다.
자 그러면 mesh를 어떻게 그릴 것인가하는 부분입니다.
그러면 Unity에서는 mesh를 어떻게 그려야 할까요?
자 이부분에서 의문이 살짝 듭니다.
여기서 유니티 레퍼런스에서 가져온 부분이 사용됩니다.
mesh.vertices = vertices;
vertices라는 것에 점을 만들고 점을 찍는겁니다.
자 그러면 점을 찍었으니 선을 이어야 합니다.
Unity에서는 triangle로 삼각형을 그릴 수 있게 해줍니다.
mesh.triangles = triangles;
자 위와같은 방식으로 하면 삼각형이 그려집니다.
그러면 저 삼각형을 여러개 이어 나간다면 한개의 mesh가 탄생하게 됩니다.
'Unity 강좌' 카테고리의 다른 글
뷰포리아를 유니티에 적용해보자(완료) (10) | 2017.02.15 |
---|---|
뷰포리아를 유니티에 적용해보자(2차 작업) (0) | 2017.02.14 |
유니티로 핸드폰과 컴퓨터간의 블루투스 통신을 해보자(2차 작업) (2) | 2017.02.13 |
뷰포리아를 유니티에 적용해보자(1차 작업) (0) | 2017.02.13 |
유니티로 핸드폰과 컴퓨터간의 블루투스 통신을 해보자(1차 작업) (0) | 2017.02.02 |