
1. Vertex (정점)
물체의 가장 기본 단위인 점
2. Polygon (폴리곤)
물체를 이루는 최소 면 단위, Unity에서는 삼각형(Triangle)이 기본
3. Mesh (메시)
여러 폴리곤이 모여서 구성된 하나의 물체
Tag와 같이 오브젝트를 분류하는 방법
Unity의 LayerMask는 총 32개의 레이어를 사용할 수 있다.
int 자료형이 4byte = 32bit 기 때문에
0번부터 31번까지 총 32개의 bit로 레이어값을 가진다.
ex)
레이어 0 = 0000 0001 > 1 << 0
레이어 2 = 0000 0100 > 1 << 2
레이어 7 = 1000 0000 > 1 << 7
예전에 바람의나라를 따라 만들 때 맵 데이터에
1, 2, 4, 8, 16, 32, 64 와 같은 값이 있었는데
그때는 그냥 숫자조합이구나 하고 넘겼었는데
지금 생각해보면 2진수를 10진수로 표현한 방법이란걸 깨달았다.
예로 들어 맵에 13이란 값이 있으면 1 + 4 + 8 = 13 이라
0, 2, 3 레이어가 포함된 것이다.

카메라 컴포넌트의 Culling Mask에서 그릴 레이어들을 선택하거나
오브젝트의 레이어값을 변경할 때 인스펙터창에서도 변경할 수 있지만
비트 시프트 연산자 (<<) 를 사용해 코드로 지정할 수 있다.
1000 0000
| 0000 0001
= 1000 0001
// 레이어 0, 5, 6을 포함
int layer = (1 << 0) | (1 << 5) | (1 << 6);
레이어를 중첩할 때 사용하고 둘 중 하나라도 1이면 1이 된다.
~ 1111 0000
= 0000 1111
// 3번 레이어만 제외하고 나머지를 모두 포함
int layer = ~(1 << 3);
비트를 반전시켜 제외할 레이어를 지정할 때 사용된다.
1000 0000
& 0000 0001
= 0000 0000
// 특정 레이어가 포함되어 있는지 확인
int layer = (1 << 0) | (1 << 6);
bool hasLayer = (layer & (1 << 6)) != 0;
특정 레이어가 포함되어 있는지 확인할 때 사용하고 둘 다 1일 때만 1이 된다.
int playerLayer = LayerMask.NameToLayer("Player");
gameObject.layer = playerLayer;
이름을 자릿수(int)로 반환하는 함수
카메라가 렌더링한 결과를 일반 텍스처처럼 사용할 수 있게 해주는 기능
게임에서 미니맵, 거울, CCTV 같은 곳에 사용된다.