七彩极 发表于 2023-1-12 18:27

Unity Rect Transform的Anchors和Pivot研究

先上翻译


image.png


image.png

即,anchor为锚点,是这个东西
image.png

这个东西靠这个控制:

image.png

这个东西有4个数据,不能从左往右看,而是自上而下看,即

图中x的范围是0~1的区间, y的范围是0.5~0.5=一个点
这个数就是该RectTransform继承父类的百分比,如下图所示(这个图可能会产生误解,特此说明:原点(0,0)应该是在左下角,(1,1)是右上角)


image.png

在该例子中,x是区间,y是点,那么RectTransform的属性中,Rect会铺满x区间,x轴的定位会变为距离瞄点的间隔(如下图左侧Left和Right所示),而y轴上由于是点,不存在铺满,故定位变为距离该点的相对位置,和在y方向上的长度(如下图右侧的posY和Height所示)


image.png

此外在编辑时,UnityEditor还提供了2个模式


image.png

右侧按钮是Raw Edit Mode,开启后,矩形区域会自适应你的锚点;关闭后,Unity会确保矩形区域不变化
左侧按钮是Blueprint Mode,这个帖子讲的很清除 Unity中UGUI中蓝图模式和原始编辑模式 - 简书 (jianshu.com) 在此不做赘述。如果关闭的话,当rotate或者scale的时候,白框和黄框会黏在一起,不方便操作。
我个人觉得都打开比较方便

pivot就是图形的中心位置,以矩形区域为(0,0)~(1,1)的坐标系,用在scale和rotate上。注意
image.png

这玩意不是pivot,就是编辑模式下来骗你的

实际案例:


选为Pivot

这个选为Pivot。这样子物体的Handles手柄就显示在物体的pivot上了。

该物体显示为
image.png

第一关是TMP的3D网格字体(没有用UI Canvas)
这个TMP的Rect Transform是这样的,看他的Pivot是(0.5,-0.68)

image.png

也就是说


image.png

注意pivot继承的父物体的位置
页: [1]
查看完整版本: Unity Rect Transform的Anchors和Pivot研究