2D 타일맵 추가 기능을 사용하여 애니메이션 타일 만들기

페이지 업데이트 :
페이지 생성 날짜 :

검증 환경

윈도우
  • 윈도우 11
Unity 에디터
  • 2021.3.3f1
입력 시스템 패키지
  • 1.3.0

이 팁의 전제 조건

이 팁에 대한 설명의 전제로 다음 설정이 미리 이루어졌습니다.

이 팁의 전제 조건은 무엇입니까?

지도 자료의 대출에 대해서

아래와 같은 사이트에서 빌려온 것입니다. 위의 한 행만 사용됩니다.

애니메이션 타일 정보

맵칩을 사용하는 게임을 할 때, 그 자리에서 멈춰도 폭포의 흐름이 움직이는 모습, 불이 깜빡이는 모습 등 움직이는 맵 칩을 자주 볼 수 있습니다. 구현 방법은 다를 수 있지만 Unity에서는 애니메이션 타일을 통해 구현됩니다.

MapChips의 많은 애니메이션은 일정한 간격으로 여러 MapTips 사이를 전환하여 움직이는 것처럼 보입니다. 픽셀 단위로 처리하여 애니메이션되는 것과 텍스처 좌표를 변경하여 애니메이션되는 것도 있습니다. 이번에 할 애니메이션은 맵 칩을 전환하여 얻을 수 있습니다.

애니메이션 타일에 대한 MapTips 준비

이번에는 다음과 같은 맵 칩을 준비하고, 맵 칩을 바꿔 파도의 움직임을 애니메이션화합니다.

애니메이션 타일에 대한 MapChips 분할

프로젝트를 생성한 후 방금 생성한 MapChip을 프로젝트에 넣고 나눕니다. 여기의 해결 방법은 타일맵에 대한 설명과 동일하므로 이미지만 게시하겠습니다.

아직 타일 팔레트에 추가할 필요가 없습니다.

애니메이션 타일 추가

프로젝트에서 Create -> 2D -> Tile -> Animated Tile을 선택하여 추가합니다.

이름은 무엇이든 될 수 있습니다. 다른 곳에서는 이 이름을 사용하지 않습니다.

생성한 애니메이션 타일을 선택하여 인스펙터를 전환합니다. 이 직사각형 프레임으로 분할된 맵 팁을 드롭합니다.

타일을 개별적으로 드롭할 수 있지만, 분할 소스를 드롭하면 분할된 맵칩을 대량으로 등록할 수 있습니다.

맵 팁을 추가하면 이미지처럼 보일 것입니다. 그렇지 않으면 애니메이션 타일 만들기가 끝납니다.

타일 팔레트에 추가

타일 팔레트를 만듭니다. 타일 팔레트 탭이 없는 경우 메뉴의 "창 -> 2D -> 타일 팔레트"에서 표시합니다. 팔레트의 이름은 무엇이든 될 수 있습니다. 게임을 만들 때 팔레트가 두 개 이상 필요한 경우 이해하기 쉽게 유지하세요.

타일 팔레트 설정은 Scenes 폴더의 새 SeaPalette 폴더에 만들어집니다. 폴더 이름과 위치는 임의로 지정할 수 있습니다.

타일 팔레트를 만들었으면 맵팁을 추가합니다. 일반 타일맵에서는 분할 맵팁을 배치했지만, 이번에는 애니메이션 타일을 배치합니다.

배치하면 칩이 하나만 표시되지만 애니메이션 타일의 경우 이만 있으면 됩니다.

MapTips(애니메이션 타일) 배치

타일맵과 마찬가지로 계층에 타일맵을 추가합니다.

타일맵(Tilemap)을 선택하여 뷰에 그리드를 표시합니다.

여기에 맵 팁을 배치해 보겠습니다. 팔레트에서 애니메이션 타일을 선택합니다.

보기에 배치합니다. 일반 맵칩과 다르지 않은 것 같습니다.

실제로 움직이지 않으면 애니메이션이 되지 않으므로 실행해 봅시다.

실행하면 맵팁이 1초마다 전환되고 애니메이션되는 것을 볼 수 있습니다. 이렇게 하면 프로그램을 만들지 않고 확장 함수만으로 MapTip 애니메이션을 쉽게 구현할 수 있습니다.

기타 설정

애니메이션 속도 변경

기본적으로 MapTip 전환 간격은 1초입니다. 예를 들어 0.5초마다 변경하려면 다음을 수행합니다.

계층에 추가된 타일맵을 선택하면 인스펙터의 타일맵 컴포넌트에 "애니메이션 업데이트 속도"가 있으며, 이 값은 여기에서 변경할 수 있습니다.

이 숫자는 "1 초에 몇 번 전환"의 숫자이므로 0.5 초에 전환하면 1 초에 2 회 전환되므로 "2"를 설정하십시오.

실행해 보고 애니메이션 속도가 변경되는지 확인하십시오.

각 맵 칩에 대한 애니메이션 시간을 랜덤화합니다

해변이나 폭포의 흐름과 같은 인접 맵칩에 대해 동일한 애니메이션 간격을 갖는 것이 더 좋지만 불의 깜박임과 같이 각 오브젝트의 애니메이션 시간을 변경할 수 있습니다. 이 경우 시간을 랜덤화하거나 시작 위치를 변경할 수 있습니다.

애니메이션 타일을 선택하고 인스펙터 하단에서 몇 가지 설정을 확인합니다.

Minimum Speed(최소 속도)와 Maximum Speed(최대 속도)는 초당 전환할 매수의 상한과 하한으로 지정할 수 있습니다. 배치된 맵 팁은 이러한 난수 중 하나로 애니메이션되므로 여러 맵을 배치하면 각각 다른 속도로 애니메이션됩니다.

예를 들어 최소값을 1로, 최대값을 2로 실행하면 임의의 속도로 애니메이션이 적용되는 것을 볼 수 있습니다.

그건 그렇고, 십진수 수준에서 무작위로 결정되기 때문에 같은 속도가 될 것 같지 않습니다.

"시작 시간"과 "시작 프레임"은 애니메이션의 시작 맵 팁 위치를 지정하지만 많이 사용되지 않는다고 생각합니다. "Collider type"은 처리 스토리가 다르므로 생략하겠습니다.

각 MapTip 유형에 대한 애니메이션 시간 설정

예를 들어, 1초마다 파도의 움직임을 전환하고 폭포의 흐름은 0.5초마다 전환할 수 있습니다. 이것은 앞에서 설명한 "최소 속도" 및 "최대 속도"로 설정할 수 있습니다. 최소값과 최대값을 다른 값으로 설정하면 랜덤이 되기 때문에 예를 들어 전환 속도를 0.5초로 설정하고 싶다면 최소값과 최대값을 2로 설정하면 모두 2배가 됩니다.