유니티를 사용하다보면 모양이 있는 버튼을 만들어야 할 때가 생긴다.
위 사진의 경우 직사각형 모양으로 된 버튼들이 서로 겹쳐있어서 클릭이 되지 않는 경우가 발생한다.
버튼을 이미지 영역에 맞게 맞추는 방법에 대해 다루고자 한다.
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을 체크한다.
이제 버튼이 정확히 클릭되는 모습을 확인할 수 있을 것이다.
'개발 > Unity' 카테고리의 다른 글
Unity Tilemap 타일끼리 겹치는 레이어 문제 해결 (2) | 2023.05.23 |
---|---|
[Unity] 클래스에서 get, set 접근자를 사용해 enum형 변수를 가져오기 (0) | 2020.08.31 |
[Unity] 유니티 프로젝트 중간에 2D, 3D 전환하기 (0) | 2020.07.21 |
[Unity] 아이소메트릭 타일맵 공부 - (2) 레이어 따라 배치하기 (2) | 2020.07.20 |
[Unity] 아이소메트릭 타일맵 공부 - (1) 타일 팔레트 설정하기 (1) | 2020.07.13 |