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을 신경쓸 필요가 없다.
★☆☆☆☆
반응형
댓글