2017-12-01 2 views
3

Unity 2017에서 나는 UnityEngine.UI.Graphic을 상속받은 고유 한 UI 비헤이비어를 만들어 벡터 그래픽을 그려 냈습니다. 하지만 내 코드는 문서에서 SimpleImage example을 사용하여이 문제를 볼 수 있기 때문에 관련성이 없습니다. 문제는 그래픽에서 파생 된 이러한 사용자 지정 UI 동작은 모든 기본 UI 요소가있을 수 있지만 Mask component으로 마스크 처리 할 수 ​​없다는 것입니다. Graphic.OnPopulateMesh 설명서에 따르면 Text, ImageRawImage은 모두이 동일한 방법을 사용하므로 매우 이상합니다. Unity에서 사용자 정의 UI 그래픽을 마스킹하려면 어떻게해야합니까?

재현하려면
  1. 은 UI 캔버스를 작성합니다.
  2. UI Canvas의 하위 항목으로 Mask라는 UI 이미지를 만듭니다.
  3. Mask 게임 개체에 Mask 구성 요소를 추가합니다.
  4. 이미지 및 SimpleImage를 마스크의 하위 항목으로 추가하십시오.
  5. SimpleImage가 숨겨져있는 동안 Image가 마스크 처리됩니다.

스크롤 뷰에서 맞춤 그래픽을 사용해야하기 때문에 문제가됩니다. 유니티의 그래픽과 마스킹 가능한 그래픽을 만들려면 어떻게해야합니까?

답변

3

입력을 마쳤을 때 이것을 올바르게 파악했습니다. 그것은 엄청나게 쉽습니다. 단지 Graphic 대신 MaskableGraphic에서 상속하면됩니다.

+1

그건 의미가 있습니다. 나는 당신의 질문을 보았을 때 어제 문서에서 조금 찌르면서 그것을 알아낼 수 없었다. 그래픽이 특정 유형 (예 : MaskableGraphic)이어야한다는 Mask 클래스는 없습니다! – Draco18s

+0

코멘트 주셔서 감사합니다. 이 사실을 더 빨리 깨닫지 못해서 벙어리가 아프다. –