首页 > 编程知识 正文

unity lookrotation,unity translate

时间:2023-05-04 07:36:58 阅读:116846 作者:1323

什么是Pivot? Anchor如何将Pivot和Anchor结合起来调整UI以了解RectTransform中其他属性的作用? 1、为了更好地了解Pivot属性的详细信息,我在Unity中创建了两个UI控件,一个Plane控件,一个父对象,一个Image控件,最子对象

两个演示文稿的UI空间

现在,选择红色框,查看其RectTransform组件的属性,如下图所示。

红色边框的RectTransform组件

虽然有很多数据,但是这些数据是如何最终确定UI在屏幕上的位置和大小的呢? 首先,让我们来看看第一个重要属性Pivot。 这是因为我们了解了名为RectTransform的UI布局方案的第一个重点

Pivot属性

Pivot首先可以称为中心轴。 (虽然这个翻译不准确,但是为了通俗易懂,我先这么叫。 )这是x,y值的范围是从0到1的点,该点的是Anchor )在计算位置时使用。 以下用图说明Pivot点的位置

Pivot图解

设定Pivot的坐标系如上图所示。 (0,0 )表示红框物体左下角的点,(1,1 )表示红框物体右上角的点

二、关于Anchor属性的详细情况,Anchor锚点可能认识过UI的朋友,在Unity中,Anchor称为锚箱更合理。 这是因为它是由两个锚点(Min,Max )构成的矩形,当然也可以构成一个点。

锚箱

为了便于调整锚定框,Unity在“编辑”视图中标记了锚定框。 请参考下图。

锚框显示(重叠情况) )

当然,上面的图是两个锚点重叠的情况,所以看起来像一个点。 让我们利用两个锚点不重叠的情况来说明:

锚框标记

三、Pivot和Anchor的组合在知道Pivot和Anchor分别是什么之后,我们来看看Unity如何使用这两种东西来控制UI的布局

第一种情况是两个锚点重叠。 首先,让我们看看两个锚点重叠的情况。 这种情况下,是我们最常用、最容易理解的方法

情况1

将Anchor锚点定位在黑色边框的中间,然后将Pivot中心轴定位在红色边框的中间。 接下来,更改红框如何变化,黑框的大小和位置。 请参考下图。

变化图标

从上图可以看出,无论我们拖动多少黑框,改变他的大小和位置,红框Pivot点到Anchor点的距离总是不变。 也就是说,红色边框的物体参照锚点,实时调整自己的位置,使自己的Pivot点到锚点的距离始终一致。 并且,值得注意的是,在这种情况下,红色框的物体的RectTransform组件的属性是

Paste_Image.png

总结第一种情况,子代的大小不因父母的大小而变化,但具有位置根据从Pivot点到Anchor点的距离一致的原则而变化的特征

第二,在两个锚点不重叠的情况下,即,在锚定盒的情况下,两个锚点(AnchorMin和AnchorMax )不重叠的情况下,在两个点处确定一个矩形。 这个矩形是我们的锚箱,下图的绿色框是我们的锚箱区域

锚框区域

此时,如果观察红框物体的RectTransform属性,则属性分别为Left、Top、Right、Bottom

左、顶、右、底

那么,这四个属性分别代表了什么呢? 请看下图

左边和底边的图解

从上图可以看出,Unity将锚定框的左下角作为坐标系的当场(0,0 ),红框的Left和Bottom这两个数决定红框左下角的点在坐标系中的位置,原点和红框的左下角的点决定距离(即上图的绿色

Right和Top图解

同样,如上图所示,Unity将锚点框的右上角作为原点[ 0,0 ],红框的Right和Top两个数量决定红框右上角在坐标系中的位置、位置和红框的右上角

角的点确定一段距离(即上图的绿色箭头),不管黑框如何边框,这段距离都保持不变

在黑框大小和位置变化的时候,Unity会保证红框的左下角到锚框的左下角距离不变,同时红框的右上角到锚框的右上角距离不变,来确定红框的相对位置和大小,看下图来感受一下变化:

变化图示

注意上图中红框左下角到黑框左下角的距离,以及红框右上角到黑框右上角的距离,他们都是不变的

三、anchoredPosition属性详解

anchoredPosition根据名字的含义,我们大概可以猜出他是根据anchor锚点得出来个一个位置属性,他本身是一个点,如果在AnchorMin和AnchorMax是重合的情况下,anchoredPosition就是表示锚点到Pivot的位置,如下图所示:

anchoredPosition图解一

但是如果AnchorMin和AnchorMax不重合的时候,anchoredPosition就比较复杂了,在这种情况下,Unity会根据Pivot、AnchorMin和AnchorMax计算出一个锚点,然后在通过Pivot和锚点来得出anchoredPosition的位置,关于如何计算规则,有兴趣的朋友可以自己逆推一下

四、offsetMin和offsetMax详解

offsetMin和offsetMax这两个属性比较好理解,其中offsetMin表示物体(本文中的红框)左下角相对AnchorMin的偏移,offsetMax表示物体右上角相对AnchorMax的偏移

anchor(0, 0)

anchorMin(0,0) anchorMax(1,1)

五、sizeDelta详解

sizeDelta就是offsetMax - offsetMin的值,即物体左下角到右上角的变量,如下图所示:

sizeDelta图解

Unity 基础-------------------------关于Anchor锚点的理解 - wwfy - 博客园

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。