[Unity] 룰 타일 (Rule Tile)

Learning 

When: 1학년 7월 7일

 

How:

학기 초에 팀플을 하면서 룰타일을 조금 써봤지만 거의 다 친구의 도움으로 만들었기에 수업에서 다시 배울 때 제대로 기억나지 않아 공부하게 되었습니다.

 

Understanding:

룰 타일은 말 그대로 규칙이 있는 타일입니다. 이것이 무슨 말인가 하면 게임에서 뒷배경이 아닌 땅과 플랫폼 등을 만들 때 타일을 쓰는데, 일반적인 땅을 바닥으로 깐다고 할 때, 위쪽은 풀로 덮여있는 타일을 설치해야 하고, 아래쪽은 흙 또는 검은색 타일을 까는 것이 보통입니다. 여기서 그냥 타일을 깐다고 한다면 일일이 위쪽과 아래쪽 타일을 설치해야 하고, 추가할 일이 생기면 아래쪽 타일까지 바꿔주어야 하며, 대각선, 모서리, 위쪽 끝, 아래쪽 등등의 타일까지 계속 타일을 바꿔가며 설치해야 합니다. 이런 방식은 시간도 많이 소모하게 되고 귀찮기 때문에 유니티는 룰 타일을 만들어 '가장 위에 있는 타일은 타일 1', '중간에 있는 타일은 타일 2' 이런 식으로 설정하여 땅의 형태만 잡는다면 어떤 타일을 깔지는 자동으로 정해집니다. 아래의 사진은 제가 만든 룰타일의 일부분입니다.

  • Default Sprite : 어느 조건도 맞지 않을 때 선택되는 타일입니다.
  • Default GameObject : 타일이 배치될 때 그 위에 어떤 오브젝트가 배치될지 설정하는 필드입니다.
  • Default Collider : 콜라이더가 어떤 모양일지 설정합니다. Sprite는 스프라이트의 알파값을 기준으로 스프라이트의 모양대로 콜라이더가 생성되고, Grid는 사각형으로, None은 콜라이더가 생성되지 않습니다.
  • Number of Tiling Rule : 현재 정의된 룰 타일의 개수입니다.

Tiling Rules에도 여러 설정이 있는데, 사실상 이것이 메인입니다.

  • GameObject는 아까의 GameObject와 같이 위에 설치될 게임 오브젝트입니다.
  • Collider : 아까의 Sprite와 같습니다.
  • Output : Animation, Single, Random이 있습니다.
    • Animation : 스프라이트들을 순서대로 계속 바꿉니다. 폭포 등에서 물이 계속 흐르는 것처럼 스프라이트를 순서대 변경할 때 사용합니다. Animation에는 Min Speed, Max Speed, Size 등이 있는데,
      • Min과 Max 스피드는 스프라이드가 변경되는 속도로 1,1로 설정하면 1초마다 스프라이트가 바뀌고 1, 2로 설정하면 1초와 2초 사이의 시간에서 랜덤으로 스프라이트가 변경됩니다.
    • Single : 단순하게 조건에 맞는 스프라이트를 정하여 그것을 타일로 설치합니다.
    • Random : Random에는 Noise, Shuffle, Size가 있습니다.
      • Noise는 시드라고 보면 되는데, Noise에 따라 랜덤하게 배치되는 타일이 바뀌고, Noise가 같으면 무조건 같은 타일이 배치됩니다. Noise가 1 또는 0일 경우에 한 가지의 타일만 배치되기 때문에 0.5 정도로 하면 다양한 타일을 배치할 수 있습니다.
      • Shuffle에는 여러 설정이 있습니다.
        • Fixed : Noise를 기반으로 고정된 랜덤값을 사용해 타일이 배치됩니다.
        • Rotated : 타일을 0, 90, 180, 270 중 하나의 각도만큼 돌려서 배치합니다.
        • MirrorX/Y/XY : 축을 기준으로 타일을 랜덤하게 뒤집어 출력합니다.
        • Rotated Mirror : 회전과 뒤집기를 동시에 하여 다양하게 타일이 배치됩니다.
  • 화살표와 X 표시가 보이는 것이 타일의 조건을 설정하는 부분입니다.
    화살표는 그 방향에 타일이 꼭 있어야 한다는 뜻이고, X 표시는 그 방향에 타일이 없어야 한다는 뜻입니다.  그리고 아무 표시도 없으면 그 방향의 타일의 유무는 상관없다는 뜻입니다. (아래와 오른쪽이 이어져 있고, 위와 왼쪽은 끊어져 있는 가장 위의 예시 타일은 아래와 오른쪽은 꼭 있어야 하고 위와 왼쪽은 타일이 없어야 자연스럽기 때문에 그렇게 표시했습니다.)

 

Result: 룰 타일을 모르면 타일 맵을 만들기 정말 어렵고 귀찮아지기 때문에 잘 사용하여 자연스럽고 편하게 타일 맵을 만드시길 바랍니다.