대마법사의 개발 블로그랄까?

UI 본문

Unity 한테 정복당하기

UI

대마법사(진) 2025. 3. 17. 20:57

UI Position

Tooltip

World Space

 public void OnPointerEnter(PointerEventData eventData)
 {
     Debug.Log("IPointer Enter");

     Vector2 localPoint;
     RectTransformUtility.ScreenPointToLocalPointInRectangle(rt, Input.mousePosition, eventData.pressEventCamera, out localPoint);
     rt.position = eventData.pointerCurrentRaycast.worldPosition;

     if (activeAnimation)
         Animation();
     else
         activeObject.SetActive(true);
 }

localPosition이란
![[Pasted image 20250218142350.png]]

RectTransform Property Canvas Description Canvas Value Panel Description Panel Value
.position (WorldSpace) WorldSpace 상의 피벗 위치 (3, 2) WorldSpace 상의 피벗 위치 (5, 4)
.position (ScreenSpace) ScreenSpace 상의 피벗 위치
cf. 해상도 1920x1080 가정
(960, 540) ScreenSpace 상의 피벗 위치
cf. 해상도 1920x1080 가정
(1600, 1080)
.rect.position 피벗으로부터 왼쪽 하단 모서리까지의 거리
(0,0) - 피벗 위치
(-3, -2) 피벗으로부터 왼쪽 하단 모서리 까지의 거리
(2,2) - 피벗 위치
(-3, -2)
.anchoredPosition 앵커 없음
피벗 위치
인스펙터 상의 posX, posY
(3, 2) 앵커로부터 떨어진 거리
피벗 위치 - 앵커 위치
인스펙터 상의 posX, posY
(2, 0)
.localPosition 상위 개체 없음
피벗 위치
(3, 2) 상위개체로부터 떨어진 거리
피벗 위치 - 상위개체의 피벗 위치
(2, 2)
.rect.width 가로축 좌표를 구성하는 수 6 가로축 좌표를 구성하는 수 6
.rect.height 세로축 좌표를 구성하는 수 4 세로축 좌표를 구성하는 수 4

Animation Curve와 Lerp

AnimationCurve

지원가능한 프로퍼티

  • float
  • Color
  • Vector2
  • Vector3
  • Vector4
  • 쿼터니언
  • Boolean (0은 False, 이외는 True)
    evaluate

Menu/SubMenu

  1. MainMenu
    1. IPointerEnter, IPointerExit
    2. Animation Coroutine
  2. SubMenu
    1. IPointerExit

UI Render Order

UI Render순서는 기본적으로 계층구조에 따른다.
추가적인 방법으로는 특정오브젝트Canvas 컴포넌트를 추가로 할당한다.

  • (Canvas만 할당하면 Event가 작동하지 않을 수 있다. Graphic Raycaster까지 추가로 할당해야하 정상적으로 Event가 발생한다.)
  • (Order In Layer는 UI가 아닌 Sprite에 적용된다.)