게임을 만들면서 이미지를 넣은 버튼을 여럿 만들 것이다.
그러나 이미지가 사각형 범위로 입력을 판단하기 때문에 이미지 상 눌려야 할 버튼이 눌리지 않는 경우가 발생한다!
오늘은 이 문제를 해결할 간단한 솔루션을 살펴보자.
유니티 상에서 확인하면 역시나 다음과 같이 넓은 투명범위가 뒤의 캐릭터를 가리고 있는걸 확인할 수 있다.
해결 방법
이미지의 alphaHitTestMinimumThreshold를 작은 값으로 맞춰주면 된다!
우선, 우리는 코드에서 이미지 설정을 만질 것이기 때문에 이미지를 Advanced에 있는 Read/Write Enabled를 true로 바꾸어준다. 그리고 아래의 코드를 작성하여 버튼에 넣어준다.
using UnityEngine;
using UnityEngine.UI;
[RequireComponent(typeof(Image))] //이미지가 없는 오브젝트에 붙일 경우 방지
public class CustomButton : MonoBehaviour
{
private void Start()
{
GetComponent<Image>().alphaHitTestMinimumThreshold = 0.1f;
}
}
그러면 단 한 줄의 코딩으로 이 문제를 해결할 수 있다!
작은 차이 같아보이지만, 이런 자잘한 디테일이 모여 완성도 있는 게임을 만든다.
'Unity' 카테고리의 다른 글
Unity Addressable을 활용하여 이미지 로드하기 (0) | 2023.01.11 |
---|---|
Unity Json으로 저장, 로드하는 법 (0) | 2023.01.04 |
댓글