关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)

时间:2024-04-08 16:02:13

有关Unity3D中UGUI的知识,做下笔记

参考博客:https://blog.csdn.net/zhongdong00/article/details/55057107

一、Anchors(锚点) :

我们用官网一组图片可以很形象的描述锚点的作用:

                               关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)

                                                                锚点全在中间的情况

                               关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)

                                                             锚点全在右下角的情况

                              关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)

                                                                   锚点在两个角的情况

                             关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)

                                                                     锚点分开的情况

总结:由此可以看到,不管什么情况,button的四个顶点到相应锚点的相对位置是不变的,并且,当四个锚点在一起和

不在一起时RectTransform可调整的属性会有变化,当4个锚点都在一起的时候,RectTransform会显示Pos X,Pos Y,Width,Height四个属性可供修改。

二、Pivot(UI的中心点,称为轴点):

UI元素的旋转和缩放是围绕pivot进行的。轴点是Rect的实际中心点,是属于Rect自身的,和Rect尺寸中心点不同。尺寸中心点是以宽,高取1/2得到。而轴点是可以任意指定的,如果将Rect旋转,可以看到Rect是围绕轴点旋转,而不是中心点。Pivot的范围也是[0,1]的比例值。Pivot默认值为(0.5, 0.5),即物体的几何中心。

关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)轴点为(0.5,0.5)时,关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)轴点为(1,1)

anchoredPosition:

可以理解为Pivot点相对于Anchor reference点的位置。Anchor reference点,可以这样理解:当四个anchors点在一起的时候,这个点就是anchor reference点;否则这四个点的中心点就是anchor reference点。

关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)

在以上两张图中,可以看到“确定”按钮的Anchor reference点即为图片中心的锚点,由此我们可以明白锚点其实就是一个RectTransform相对于其父节点的4个参考点,并且可以合为一个参考点,锚点在从属结构上,是属于子RectTransform对象,是其中的一种属性,但是其取值范围是位于父节点的,也就是说,整个父节点的Rect的范围,都是锚点的取值范围。我们可以看到按钮的PosX和PosY的值分别为236和-112,这是按钮的Pivot(0.5,0.5)相对于Anchor reference点的位置,也就是相对于锚点的位置。

下面我们改变一下Pivot点的位置为(1,1),即为按钮自身的右上角,可以发现PosX和PosY的值也会相应发生变化:

关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)关于U3D中的 Anchors(锚点) 和 Pivot(UI的中心点)