*본 글은 Unity 6를 기준으로 작성되었습니다.
Sprite Shape란?
2D 환경에서 자유롭게 곡선 형태의 경로를 만들고, 해당 경로를 따라 스프라이트 이미지를 배치할 수 있게 해주는 기능.
쉽게 생각하면 스프라이트(이미지)를 내가 원하는 형태로 가공할 수 있도록 도와주는 툴입니다.
Unity 6에서는 Sprite Shape가 기본 제공 되지 않기 때문에 Package Manager를 통해 설치하여야 합니다.
Unity Registry 선택 -> Sprite Shape를 검색 -> 오른쪽의 Install을 눌러 설치해줍니다.
(저는 이미 설치된 상태라 Remove로 뜹니다.)
설치 이후에 Hierarchy창에서 우클릭 하면 Sprite Shape가 추가된 것을 볼 수 있습니다.
Closed Open 두가지 종류가 있습니다.
Closed : 시작 부분과 끝 부분이 붙은 Sprite Shape를 생성합니다. 주로 땅, 연못, 섬 등 하나의 덩어리를 만들때 사용합니다.
Open : 시작 부분과 끝 부분이 붙지 않은 Sprite Shape를 생성합니다. 주로 길, 다리 등 연결되지 않은 하나의 긴 선을 만들때 사용됩니다.
실제로 생성해보면 위와 같이 확연한 차이를 볼 수 있습니다.
우리는 하나의 땅을 만들어야 하니 Closed로 생성하도록 하겠습니다.
생성한 Sprite Shape의 Inspector 창을 보면 Profile을 할당해야함을 알 수 있습니다.
Profile은 우리가 실제로 사용할 Sprite와 해당 Sprite를 어떤식으로 사용할지를 정의하는 설정파일입니다.
생성하면 자동으로 기본 Sprite Shape Profile이 들어가는데 우리는 직접 원하는 버전을 사용할 것이므로 Sprite Shape Profile도 하나 생성하도록 하겠습니다.
Project 창에서 우클릭하면 Sprite Shape Profile을 생성할 수 있는 창이 나옵니다.
눌러서 하나 생성해줍니다.
해당 Sprite Shape Profile을 눌러 Inspector 창을 보면 여러 옵션이 있는 것을 볼 수 있습니다.
각 설정은 아래와 같습니다.
Use Sprite Borders : Sprite의 9-Slice Borders 설정이 있을 때 경계 처리에 사용할 지 여부
-> Sprite의 테두리가 늘어날 수 있는 영역으로 인식되어 더 부드러운 연결이 가능함.
Fill
Texture : 해당 Shape의 중심을 채울 Texture를 설정
Offset : 채워진 Texture의 수직 위치 오프셋을 조정하는 슬라이더
Angle Range : 360도를 기준으로 Sprite가 어떤 각도 구간에서 사용되는지를 보여줌.
파란색이 현재 설정된 각도 범위
Start / End : 적용될 각도 범위 값 설정
Order : 여러 각도 범위가 겹친 경우 우선순위
Sprites : 해당 각도 범위에서 사용할 Sprite 리스트
-> 리스트에 넣은 순서대로 이어붙여서 경로를 구성함.
Corners(각 코너, 꼭짓점에 들어갈 Sprite 설정)
Outer Top Left | 바깥쪽 외부 좌측 위 |
Outer Top Right | 바깥쪽 외부 우측 위 |
Outer Bottom Left | 바깥쪽 외부 좌측 아래 |
Outer Bottom Right | 바깥쪽 외부 우측 아래 |
Inner Top Left | 안쪽 내부 좌측 위 |
Inner Top Right | 안쪽 내부 우측 위 |
Inner Bottom Left | 안쪽 내부 좌측 아래 |
Inner Bottom Right | 안쪽 내부 우측 아래 |
글로만 적으니 이해가 잘 되지 않을 수 있어 간단한게 만들어 보면서 추가적으로 더 설명하겠습니다.
우선 땅의 외곽선을 이룰 Sprite 하나를 찾습니다.
저는 그림판으로 직접 그려봤습니다 ㅎㅎ 녹색은 잔디, 갈색은 땅이라고 생각하면 됩니다.
해당 이미지를 Unity에 넣고 Inspector창에서 옵션을 바꾸어 줍니다.
Texture Type : Sprite
Sprite Mode : Single
Wrap Mode : Repeat
변경한 이미지를 Sprites에 넣으면 아래와 같이 Sprite Profile이 변경됩니다.
**해당 Sprite Profile을 반드시 앞서 생성한 Sprite Shape에 할당하여야합니다.
얼추 어떤 느낌인지 감이 오시나요?
우선 모서리까지 모두 쓰는 경우 꺽이는 부분 때문에 이상하게 나오는게 있어서 해당 Sprite Editor를 열어 아래와 같이 가운데 부분만 쓰도록 수정해줍니다.
그러면 아까 안 채워졌던 부분이 좀 괜찮게 채워진 것을 볼 수 있습니다.
중심부를 채우기 위해 새로운 이미지를 만들고 해당 이미지도 Inspector에서 전 이미지와 똑같은 설정으로 변경해줍니다.
그리고 Sprite Shape Profile의 Fill - Texture 항목에 할당하면 우리가 원하는 땅모양의 이미지로 만들어집니다.
이제 제법 땅 모양 같죠?
이걸 실제 게임에서 쓸 수 있도록 우리가 크기를 조정해줄 시간입니다.
Hierarchy 창에서 해당 Sprite Shape를 선택하고 Inspector 창을 보면 Sprite Shape Controller에 Edit Spline 버튼이 있는 것을 볼 수 있습니다.
이걸 누르면 Scene 창에서 해당 Object에 작은 점들이 생긴 것을 볼 수 있는데 이걸 드래그 하면 모양이 변하는 것을 볼 수 있죠.
선 안에서 두번 클릭하면 새로운 노드가 생기니 참고하셔서 내가 원하는 모양의 땅을 만들어 보시면 됩니다. :)
오늘은 이렇게 Unity에서 제공해주는 Sprite Shape를 이용하여 땅을 만들어 보았습니다.
다음에는 Edge Collider 2D 등을 사용하여 실제 땅처럼 콜리전을 추가해보도록 하겠습니다.
'Engine > Unity' 카테고리의 다른 글
유니티 DataBase 연동하기(MariaDB) (4) | 2025.07.28 |
---|---|
Unity에서 csv 파일 읽어오기(엑셀, 메모장) (2) | 2025.07.08 |
Unity에서 JSON 사용하기 (1) | 2025.07.07 |
Unity Coroutine (0) | 2025.02.20 |
Unity Drag & Drop (0) | 2025.02.19 |