티스토리 뷰

유니티의 UI 중 Text 와 Image 오브젝트에 관련된 글이다.

 

UI > Image 오브젝트는 사용자와 상호작용 하지 않는 이미지들(장식용, 아이콘 등등)을 그릴 때 사용할 수 있다.

그리고 UI > Text 오브젝트또한 사용자와 상호작용 하지 않는 텍스트를 표시할 떄 사용할 수 있다.

 

이 두 오브젝트는 각각 image 와 text 라는 검포넌트를 가졌는데

이 컴포넌트는 Raycast Target이라는 bool 값 속성을 가지고 있다. 

  

 

이는 raycast 의 대상이 되도록 할 것인지 아닌지(모니터 상에 있는 마우스가 가리키는 한 점에서 

뷰포트의 Z축방향으로 광선(Ray)을 쏠때 이 광선이 닿는 대상이 되게 할 것인지 아닌지) 에 대한 속성이다.

-유니티 설명-    

Raycast Target Should this be considered a target for raycasting?

 

 

아래는 겹쳐져 있는 모니터 세장 위에 마우스를 올려놓은 상황을 이미지로 나타낸 것이다.

가장 왼쪽은 실제 모습이고 오른쪽의 두 장은 왼쪽 모니터의 UI들이 겹쳐져 있는 모습을

옆에서 보고 있다고 가정했을 떄의 모습이다.

가운데 이미지에서처럼 첫 번쨰 이미지가 레이캐스트의 대상이라면 첫 번쨰 이미지가 선택이 될 것이고

첫번째와 두 번쨰 이미지가 레이캐스트 타겟이 아니면서 마지막 이미지가 레이캐스트 타겟이라면

마지막 이미지가 선택이 될 것이다.

 

버튼의 어떤 영역을 텍스트 또는 이미지가 가리고 있는 등의 상황이 발생 했을 때 

"이 영역을 사용자가 컨트롤 할 수 있게 할 것인가 아닌가? " 에 대한 부분을 개발자가 임의로 정할 수 있도록 한 것이다.

 

아래는 유니티에서의 실제 모습이다.

겹쳐진 두 UI 오브젝트가 있는 상황에서 Text 또는 Image에 Raycast Target의 선택 여부에 따른 결과를 보여준다.

 

버튼 두개가 겹쳐져 있을 때

 

 

아래에 있는 Button_test 버튼에서 버튼이미지와 텍스트 둘 중 하나라도 Raycast Target 속성이 켜져있는 상황에서

1.이미지와 버튼이 겹쳐져 있을 때

2.텍스트와 버튼이 겹쳐져 있을 때

 

버튼 한개에 버튼 자신의 이미지와 텍스트, 그리고 자식으로 또 다른 이미지를 가지고 있을 때

자식으로 들어간 이미지 한 장만 Raycast Target 속성이 true 라면 다음과 같이 이미지만 버튼기능을 할 수 있다.

 

 

 

댓글