Unity 아이소메트릭 충돌체

강성원·2023년 12월 18일
0

Unity

목록 보기
7/11

아이소메트릭 타일의 맵에서 캐릭터가 돌아다닐 때 돌아다닐 수 있는 구역을 제한하기 위해서는 충돌체가 필요하다.

1. 재료 준비

충돌체가 어디에 깔리는지 보기 위해서 빨간 테두리 형태의 png 파일을 준비한다. 크기는 32*16
나는 알파값도 좀 조절해서 반투명하게 만들었다.


2. 충돌체를 붙일 타일맵 오브젝트 생성

충돌체를 붙일 타일맵은 따로 만들어준다.

  • 충돌체용 타일맵을 생성해준다. 빨간색이 새로 생성한 충돌용 타일맵.

  • 생성한 충돌체용 타일맵의 [Tilemap Renderer]의 [Mode]는 [Individual]로

  • 나머지 충돌체와 강체도 추가하고 설정해준다.


3. 충돌체 타일

  • 아까 만든 png파일의 옵션을 조정해준다.
    중간에 [Sprite Editor]를 눌러 피봇을 설정해준다.
  • 그리고 전에 만든 팔레트를 열어서 충돌체용 타일 png를 드래그 앤 드랍한다.

  • 충돌체를 넣고자 하는 부분을 그려준다.

4. 오브젝트 움직여서 확인

  • 간단하게 캡슐을 하나 넣어서 테스트 해보았다.
    충돌 타일 맵을 깔아놓은 구간만 이동하지 못하고 막히는 것을 확인할 수 있다.

5. 충돌 타일맵 안보이게 하기

  • 2번에서 생성한 충돌 타일맵에 아래의 스크립트를 먹여준다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;

public class CollisionTilemap : MonoBehaviour
{
    private TilemapRenderer spriteRenderer;

    public bool isInvisible = false;

    // Start is called before the first frame update
    void Start()
    {
        spriteRenderer = GetComponent<TilemapRenderer>();   
        spriteRenderer.enabled = isInvisible;
    }

    // Update is called once per frame
    void Update()
    {
        spriteRenderer.enabled = isInvisible;
    }
}
  • 렌더러의 [endabled]변수 값만 변경하면 원할 때 충돌체를 볼 수 있다.

공부한 영상 : https://youtu.be/hwTxYmnfpIk?si=FaHfA28onZrJoxFI

profile
개발은삼순이발

0개의 댓글