개발/Unity

[Unity] 버튼 영역 모양 바꾸기 (세모, 사다리꼴, 그 어떤 모양도 가능)

센솔 2021. 1. 5. 13:41

유니티를 사용하다보면 모양이 있는 버튼을 만들어야 할 때가 생긴다.

 

 

위 사진의 경우 직사각형 모양으로 된 버튼들이 서로 겹쳐있어서 클릭이 되지 않는 경우가 발생한다.

 

버튼을 이미지 영역에 맞게 맞추는 방법에 대해 다루고자 한다.

 

1. 새로운 C# 스크립트를 만들고 아래 내용을 복붙한다.

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class AlphaBtn : MonoBehaviour
{
    public float AlphaThreshold = 0.1f;

    void Start()
    {
        this.GetComponent<Image>().alphaHitTestMinimumThreshold = AlphaThreshold;
    }

}

스크립트 이름은 AlphaBtn 으로 만들어준다. 다른 이름으로 만들고 싶다면 'public class (스크립트 이름) : MonoBehaviour' 형태로 바꿔준다.

2. 조각하려는 버튼에 위 스크립트를 적용시킨다.

3. 해당 원본 이미지의 Import Setting에서 Mesh Type을 Full Rect로 바꾸고, Read/Write Enable을 체크한다.

 

 

이제 버튼이 정확히 클릭되는 모습을 확인할 수 있을 것이다.