개발 TIL

7/3 부트캠프 개발 TIL (타일 룰, 애니메이션)

HJTL 2024. 7. 8. 20:05

맵을 만들때 타일도 물론 존재하지만 그 안에서 움직이는 애니메이션이나 특정 이미지를 그릴 때 테투리를 자동으로 표시하고 싶을 때 구현하는 것이 있다.

 

이들의 구현하는 방법은 간단하다.

2D 메뉴의 Tiles로 들어가면 항목들이 나온다.

여기서 다룰건 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 스파르타 코딩클럽