본문 바로가기
개발/Unity

Unity코드) RectTransform 을 World 좌표로 계산 코드

by 테샤르 2024. 2. 15.

 

 RectTransform 을 World 좌표로 계산 코드

 

특정 RectTransform 의 위치에 대한 Position 값이 필요한 상황에서 유용하게 사용할수 있는 코드이다.

  private Vector3 GetWorldPosition(RectTransform rectTransform)
  {
      Vector3[] corners = new Vector3[4];
      rectTransform.GetWorldCorners(corners);// RectTransform의 꼭지점 좌표를 World 좌표로 가져옴
      
      Vector3 center = Vector3.zero;
      foreach (Vector3 corner in corners)
          center += corner;

      center /= 4f; // 네 꼭지점의 평균을 구해 RectTransform의 World 중심점을 계산
      return center;
  }

 

반응형

 

 WorldPosition으로 처리를 하면 실제 UI의 계산된 좌표들을 추가로 계산하지 않아도 되기 때문에

상위의 AutoLayout 이나 Anchor, Pivot, LocalPosition을 신경쓸 필요가 없다.

 

★☆☆☆☆

 

반응형

댓글