Unity/Tips

Unity UI 사이즈 조절 [ RectTransform - sizeDelta]

최애뎡 2022. 3. 10. 23:15
728x90
반응형

https://docs.unity3d.com/ScriptReference/RectTransform-sizeDelta.html

 

Unity - Scripting API: RectTransform.sizeDelta

If the anchors are together, sizeDelta is the same as size. If the anchors are in each of the four corners of the parent, the sizeDelta is how much bigger or smaller the rectangle is compared to its parent.

docs.unity3d.com

doc먼저 때린 뒤

 

첫 줄의 번역이 "앵커 사이의 거리에 상대적인 이 RectTransform의 크기입니다." 요렇다.

두 줄뿐이니... -> "앵커가 함께 있는 경우 sizeDelta는 크기와 동일합니다. 앵커가 부모의 네 모서리 각각에 있는 경우 sizeDelta는 직사각형이 부모와 비교하여 얼마나 크거나 작은가입니다."

요렇게가 끝

 

하얀 이미지를 부모 크기에 딱 맞게 펼치고 (doc의 두 번째 줄의 경우 예시)

양 옆을 100씩 줄여 봄 -> 그때의 sizeDelta가 -200

그 뒤 Anchor를 가운데로 맞춰 이미지의 size를 보면 Width가 880인 것을 확인

Canvas의 Width가 1080 

=> 1080 - 880 == 200 ==> 부모의 rectSize와 비교하여 크고 작음을 비교해줌 200만큼 더 작은 거니까 -200 나온 것

* 이와 반대로 

위처럼 Left, Right를 -100씩 한 뒤 Anchor를 가운데로 맞추게 되면 sizeDelta가 200인걸 볼 수 있음

 

Anchor를 stretch로 사용하지 않기만 하면 바로 크기를 볼 수도 있고 (doc의 첫 번째 줄의 예시)

* stretch를 사용하면 사용한 부분에 따라 Left, Right, Top, Bottom으로 분류됨

[ 물론 sizeDelta의 값은 그 상황에 맞게 나옴 ]

 

anchoredPosition때처럼 이상하게 적어 둬야 할 것 같아 이상하게..

반응형