unity Ugui 学习(Anchor与Pivot的联系)
unity RectTransform组件与Transform组件的区别:
Pivot属性:
我们将UI的位置信息放在XY坐标系中,每个plane(单个的UI控件)的坐标原点就是Pivot。使用RectTransform组件中的Pivot属性可以自定义坐标原点的位置,(0,0)为plane的左下角,(0.5,0.5)为plane的中心点,(1,1)为plane的右上角,以此类推。
pivot属性的作用在于:
确定本节点的坐标原点后,再根据父节点的Anchors属性,确定当父节点plane或canvas变化时,本节点的位置情况。(需要结合anchors属性解释)
anchors属性:
在unity中锚点又叫锚框,它是本物体的属性,表示的却是父物体的信息。
min,max属性:
min,max分别表示锚框的左下角和右上角的点,它们数值是以父物体左下角为坐标原点的XY坐标系来确定的,
有两种情况:
-
锚点:
- 当min点和max点重合,则为锚点。(RectTransform会变成下图所示)。PosX,PosY,PosZ分别表示本物体pivot点,在以父物体的anchor点为坐标原点的XY坐标系中的位置。Width,Height属性分别为本物体的宽,高。
- 如何判断pivot点和anchor点:通过上文中pivot属性和anchor的min,max属性可以确定(如图中min,max均为(0.5,0.5),所以anchor点为父物体的中心点;pivot为(0.5,0.5),所以pivot点为本物体的中心点。)
结语:
pivot和anchor主要使用在UI的自适应和动态加载UI时确定位置信息。