»ç°¢Çü ¸ð¾çÀÇ ¹öÆ° ÀÌ¿ÜÀÇ ´Ù¾çÇÑ ¸ð¾çÀÇ ¹öÆ°À» ¸¸µé¾î º¸ÀÚ. Mask ÄÄÆ÷³ÍÆ®¸¦ »ç¿ëÇÏ¸é ¾ËÆÄ À̹ÌÁö¸¦ ¸¶½ºÅ· ÇÒ¼ö ÀÖ´Ù. ¸¶½ºÅ· À̹ÌÁö¸¦ »ç¿ëÇؼ ´ÙÀ½°ú °°Àº ¹öÆ°À» ¸¸µé¼ö ÀÖ´Ù. ´Ü°èº°·Î ¾Ë¾Æº¸ÀÚ. 1. °èÃþ ±¸Á¶¸¦ ´ÙÀ½°ú °°ÀÌ ¸¸µç´Ù. Image : UI-Image Ãß°¡ ¸¶½ºÅ·ÇÒ À̹ÌÁö¸¦ ¼³Á¤ÇÒ ¿ÀºêÁ§Æ® Button: UI-Button Ãß°¡ Image ÀÚ½ÄÀ¸·Î Ãß°¡µÈ ¿ÀºêÁ§Æ®´Â ¸¶½ºÅ· À̹ÌÁö¿¡ ÀÇÇؼ À̹ÌÁö°¡ ¸¶½ºÅ· µÈ´Ù. ¸¶½ºÅ·Àº À̹ÌÁöÀÇ ¾ËÆÄ°ª¿¡ ÀÇÇØ ¼³Á¤ µÈ´Ù. 2. ¸¶½ºÅ· À̹ÌÁö¸¦ Image ¿ÀºêÁ§Æ®¿¡ Ãß°¡ÇÑ´Ù. 3. Mask ÄÄÆ÷³ÍÆ®¸¦ Image ¿ÀºêÁ§Æ®¿¡ Ãß°¡ÇÑ´Ù. 4. ¹öÆ° À̹ÌÁö¸¦ ¹öÆ°¿¡ Ãß°¡ÇÑ´Ù. 5. ¹öÆ° Click À̺¥Æ®¿¡ ÇÔ¼ö¸¦ Ãß°¡ÇÑ´Ù. ¹öÆ°ÀÌ Å¬¸¯ µÇ¾úÀ»¶§ ·Î±×¸¦ Ãß°¡ÇÑ´Ù. using System.Collections;
using System.Collections.Generic; using UnityEngine; public class ButtonTest : MonoBehaviour { public void OnButtonEvent() { Debug.Log("Button Clicked!!!"); } } ½ÇÇà) ¿©±â±îÁö ÀÛ¾÷ ÈÄ ½ÇÇà ÇÏ¸é º¸ÀÌÁö ¾Ê´Â ¿µ¿ª¿¡¼ ¸¶¿ì½º Ŭ¸¯Çصµ "Button Clicked!!! À̺¥Æ®°¡ ¹ß»ý µÈ´Ù. À̹ÌÁö¸¸ ¸¶½ºÅ· µÇ¾úÁö, À̺¥Æ®°¡ ¸¶½ºÅ· µÈ°Ç ¾Æ´Ï´Ù. ´Ù¸¥ °³¹ßÀÚ°¡ ÀÛ¾÷ÇÑ Äڵ尡 ÀÌ¹Ì Á¸ÀçÇϱ⠶§¹®¿¡ ´Ù¿î·Î¸¦ ¹Þ¾Æ¼ Ãß°¡ÇÏ¸é µÈ´Ù. 6. RaycastMask ÄÄÆ÷³ÍÆ® Ãß°¡ Çϱ⠴ٿî·Îµå ¹ÞÀº RaycastMask ÄÄÆ÷³ÍÆ®¸¦ Mask ÄÄÆ÷³ÍÆ®°¡ ÀÖ´Â ¿ÀºêÁ§Æ®¿¡ °°ÀÌ Ãß°¡ÇÑ´Ù. RaycastMask.cs´Â senritsu´ÔÀÌ ¸¸µç ÄÚµåÀÌ´Ù. ÀÌ ÄÚµå´Â UnityUIExtensions¿¡µµ µé¾î°¡ ÀÖ´Ù. ¿©±â¿¡´Â ¿ö´×ÀÌ Á¦°ÅµÈ ÄÚµåÀÌ´Ù. UnityUIExtensions¿¡¼ ´Ù¿î·Îµå ¹Þ¾Æ¼ Ãß°¡ÇÑ´Ù. ´Ù¿î·Îµå: https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/src/master/Scripts/Effects/RaycastMask.cs ½ÇÇà ) ¿©±â±îÁö ÀÛ¾÷ ÈÄ ½ÇÇà ÈÄ, ¸¶¿ì½º·Î ¹öÆ°À» Ŭ¸¯ÇÏ¸é ´ÙÀ½ ¸Þ¼¼Áö°¡ ¶á´Ù. Mask texture not readable, set your sprite to Texture Type 'Advanced' and check 'Read/Write Enabled' ¸¶½ºÅ· À̹ÌÁö¸¦ Read/Write ÇÒ¼ö ÀÖµµ·Ï ¼öÁ¤ÇØ¾ß ÇÑ´Ù. 7. ¸¶½ºÅ· À̹ÌÁö¸¦ Read/Write ¿É¼ÇÀ¸·Î ¹Ù²Û´Ù. https://github.com/senritsu/unitility/blob/master/Assets/Unitility/GUI/RaycastMask.cs https://github.com/sarbian/KSPUIHelper/blob/master/unity-ui-extensions/Effects/RaycastMask.cs |