공부/Unity

[Unity] png 투명 부분 클릭 안되게 하기 (버튼, 이미지 etc)

굴러다니다니 2023. 10. 30. 15:01
728x90

UI에 버튼, 이미지를 넣었는데 아무리 잘라줘도 이를 포함한 네모 전체를 클릭 이미지로 인식했다.

이를 해결하는 방법

 

1. 이미지가 들어간 오브젝트에 아래 식을 넣은 script를 넣어준다.

2. 이미지의 인스펙터창에 들어가서 설정을 바꾼다.

(Mesh Type > Full Rect로 실험해보니 따로 설정 안 해도 작동된다)

Advanced > Read/Write > True (체크로 설정)

 

+ Crunch Compression과 같이 사용할 수 없다

++ Sprite Atlas와 같이 사용할 수 없다

 

 

2번 설정을 안해주면 InvalidOperationException 에러가 뜨니 유의하기

using UnityEngine.UI; //맨 윗부분에 넣어두기

float alphaThreshold = 0.1f; 
private void Start()
{
    GetComponent<Image>().alphaHitTestMinimumThreshold = alphaThreshold;
}

728x90