맵을 만들때 타일도 물론 존재하지만 그 안에서 움직이는 애니메이션이나 특정 이미지를 그릴 때 테투리를 자동으로 표시하고 싶을 때 구현하는 것이 있다.
이들의 구현하는 방법은 간단하다.
여기서 다룰건 2가지 가 있는데 Animated Tile과 Rule Tile이다
Animated Tile : 타일을 애니메이션으로 움직이고 싶을 때 여러 이미지로 하나의 타일로 움직이게 할 수 있다.
인스펙터에 이런 구조가 되어 있는데 Number of Animated Sprites를 4로 설정하고 움직이는 캠프파이어 이미지를 불러와서 적용했다.
Minimum Speed, Maximum Speed : 초당 몇번 반복할건지 두 값 사이에서 랜덤으로 설ㅈㅇ
StartTime : Time.DeltaTime만큼의 몇부터 시작할건지
StartFrame : 시작할 때 몇 프레임부터 움직일건지
Collider Type : 이건 물리적인 상호작용을 할 때
Sprite는 스프라이트 모양을 마스킹 해서 콜라이더를 적용하고 Grid는 그려진 사각형 격자로 콜라이더를 적용한다.
Flag : 이건 물리적이나 애니메이션을 한번만 실행하거나 일시정지할 때 쓰이는 것 같은데 많이 사용하지 않는 것 같다.
Rule Tile : 타일을 그릴 때 이어지거나 끊어진 이미지가 있으면 다른 이미지로 변환하는 역할인데 인스펙터에 들어가면
이런 구도가 나오는데.
먼저 Default Sprite는 타일을 그릴 때 특정한 타일이 이어지지 않거나 아무런 작용이 없을 때 설정하는 스프라이트이다.
다음으로 Tilling Rule에서 위에 Number of Tilling Rules의 값을 원하는 수치로 설정하고(결과처럼 16을 지정하였다) 항목마다 불러올 스프라이트를 열고 바둑판에서 같은 타일이 이어질때 그 스프라이트로 바꿔준다.
예를 들어 이 타일은 왼쪽과 아래쪽이 같은 타일이 있고 위쪽과 오른쪽에 같은 타일이 없으면 이 타일을 그려달라는 설정을 추가했다.
그리고 가운데에 다른 모양의 마크가 있는데 클릭하면 이 타일의 대칭, 회전을 설정할 수 있다.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
불러온 타일 그대로 출력 |
불러온 타일 오른쪽으로 회전 |
불러온 타일 좌우 대칭 |
불러온 타일 상하 대칭 |
불러온 타일 상하좌우 대칭 |
불러온 타일 왼쪽으로 회전 |
다음으로 Tile Rule을 Tile Palette로 가져다 놓으면 타일을 사용할 수 있는데 에셋에 생성한 Tile Rule파일을 Tile Palette창에 끌어다 놓기만 하면 된다. 동그라미 친 곳이 타일 룰을 끌어다 놓았다.
아래는 Tile Rule로 사각형 그리기를 사용하여 그렸다.
그리고 Tile Rule이 특이한 점은 랜덤 생성과 애니메이션도 가능하다. (Output메뉴에서 설정할 수 있다)
먼저 랜덤생성부터 보면
20%의 확률로 tiles_12 또는 tiles_13이 출력되게 설정한 것이고
애니메이션에서 사이즈를 3으로 한 뒤에 움직이는 바위를 3장 가져오면 움직일 수 있다.
그런데 노하우가 생긴게 모래와 바다간에 모서리를 보면 커브로 굽어진 타일이 보이는데 이건 어떻게 구현하면 좋을까?
우선 4방향을 이어주고 타일에 맞게 첫번째 타일의 우상단에 타일이 없다면 이 타일을 그려달라고 설정하면 위의 그림대로 그려진다.
by 스파르타 코딩클럽
'개발 TIL' 카테고리의 다른 글
7/5 부트캠프 개발 TIL (보스몹 구현) (0) | 2024.07.10 |
---|---|
7/4 부트캠프 개발 TIL (Debug의 최적화) (0) | 2024.07.09 |
7/2 부트캠프 개발 TIL (타일맵 콜라이더) (0) | 2024.07.05 |
7/1 부트캠프 개발 TIL (프로파일러) (0) | 2024.07.04 |
6/28 부트캠프 개발 TIL (Sprite Atlas) (0) | 2024.07.03 |