[Unity 2D] Sprite
스프라이트(Sprite)
- Sprite는 텍스쳐이며, 2D 그래픽 오브젝트이다.
- 유니티에서 이미지 파일을 사용하기 위해서는, 스프라이트로 변환해야 한다.
- 변환 방법
- 그림파일 선택 -> Texture Type -> Sprite (2D and UI ) -> Apply
스프라이트 모드(Sprite Mode)
- 스프라이트는 Single, Multiple, Polygon의 3가지 타입이 있다.
- Single
- 한 개 파일에 하나의 스프라이트 Multiple
- 한 개 파일에 여러개의 스프라이트
- Polygon
- 이미지 파일과 같은 4각형뿐만 아니라, 원 삼각형, 오각형 등의 모양을 스프라이트로 지원
픽셀 퍼 유닛(Pixels Per Unit)
- 픽셀(Pixel)
- 컴퓨터 그래픽에서 점으로 표현되는 하나의 단위이다.
- 가로세로가 104 * 104 이미지 파일은 104 pixels * 104 pixels을 의미한다.
- 픽셀 하나는 색상을 나타내며, RGBA 값으로 나타낸다.
- RGB는 빨간색(Red), 녹색(Green), 파란색(Blue)에 투명도(Alpha) 값을 사용하여, 색상을 표현한다.
- 유닛(Unit)
- 유니티에서 사용하는 단위이다.
- 화면에 격자(Grid) 문양이 있다.
- 가로세로 하나의 사각형이 1유닛이다.
- PPU(Pixels Per Unit)
- 1 유닛에 대응하는 Pixel의 수를 나타낸다.
- PPU의 값이 100이라면, 1 Unit(1x1)에 100 Pixels(100x100)으로 표현된다.
메쉬 타입(Mesh Type)
- 스프라이트는 메쉬(Mesh)를 기반으로 이미지를 보여준다.
- 메쉬는 컴퓨터 그래픽스에서 물체의 형태를 구성하는 Vertex, Edge, Face 등을 가지는 데이터이다.
- Mesh Type은 Full Rect와 Tight 두 가지 타입이 있다.
Full Rect
- 이미지의 크기와 동일한 형태로 스프라이트를 렌더링한다.
- RGBA를 기반으로 투명 영역을 포함하는 사각 영역 전체를 렌더링 한다.
- Full Rect로 그린 영역은 대각선의 큰 선(Edge)을 포함하는 영역 전체를 표시하고 있다.
Tight
- 스프라이트의 투명 영역을 제외하고, RGBA를 기반으로 일정 영역을 렌더링한다.
- RGB로 표시된 흰색 영역에 선들로 연결되어 있는 모습으로, 투명한 부분을 거의 제외한 모습이다.
여유공간(Extrude Edges)
- Mesh Type과 연관이 있다.
- 렌더링 할 때 가장자리의 여유 공간을 길이로 나타낸 수치이다.
- Tight로 설정하고, Extrude Edges의 수치를 증가시키면, 각 영역을 기준으로 투명 영역을 더 많이 포함하는 Edges로 변경되는 것을 확인할 수 있다.
- Full Rect에서는 전체 영역을 렌더링하므로, 영향이 없다.
피봇(Pivot)
- 스프라이트의 기준점이다.
- 스프라이트를 회전하면, 피봇을 기준으로 회전한다.
멀티 스프라이트(Sprite mode - multiple)
- UI에 사용할 이미지들을 하나의 그림파일에 저장하여 관리한다.
- 2D animation은 여러 개의 이미지를 순차적으로 보여주어, 이미지가 움직이는 것처럼 표현하는 것이다.
- 2D animation에 사용할 이미지 파일들을, 하나의 단일 파일로 관리하는 경우가 많다.
- 이러한 기능을 가능하게 하는 것이 스프라이트다.
필터 모드(Sprite - Filter Mode)
- 유니티에서 이미지를 불러서 사용하게 되면 뿌연 상태가 지속되는 경우가 있다.
- 이럴때는 필터 모드를 확인하자
- 안티 얼라이징 그래픽 보간 처리를 하지 않기 위해 Point (no filter)를 선택한다.
- Filter Mode 종류
- Bilinear : 이중 선형 보간으로 필터링
- Trilinear : 삼중 선형 보간으로 필터링
- Point (no filter) : 필터 없이, 오리지널로 보여준다.