Unity RectTransform.API

  1. 锚点(Anchor Point):锚点是用于控制 UI 元素在屏幕上的位置和大小的点。在 Unity 中,锚点通常用于控制 UI 元素的布局和缩放。锚点的位置相对于父物体或者画布来确定,可以通过修改锚点的属性来改变 UI 元素的位置和大小。

  2. 轴心点(Pivot Point):轴心点是用于控制物体旋转和缩放的点。在 Unity 中,轴心点通常用于控制 3D 模型的旋转和缩放。轴心点的位置相对于物体的局部坐标系来确定,可以通过修改轴心点的属性来改变物体的旋转和缩放。

Anchor和Pivot与位置的关系?

使用锚点来计算位置:RectTransform 的位置属性可以由其左下角的锚点(Anchor Min)和右上角的锚点(Anchor Max)来计算。这两个锚点定义了 UI 元素相对于其父物体或者画布的位置和大小。因此,可以通过计算锚点的位置和大小,以及相对于锚点的偏移量来确定 UI 元素的位置。具体计算公式如下:

position = parent_position + 
(anchor_min + anchor_max) * 0.5f * parent_size + pivot * size + offset

其中,parent_position 表示父物体的位置,parent_size 表示父物体的大小,pivot 表示轴心点的位置,size 表示 UI 元素的大小,offset 表示相对于锚点的偏移量。

使用轴心点来计算位置:RectTransform 的位置属性也可以由其轴心点(Pivot)和相对于轴心点的偏移量来计算。轴心点定义了物体的旋转和缩放中心,因此可以通过计算轴心点的位置和相对于轴心点的偏移量来确定物体的位置。具体计算公式如下:

position = parent_position + pivot * parent_size + offset

其中,parent_position 表示父物体的位置,parent_size 表示父物体的大小,pivot 表示轴心点的位置,offset 表示相对于轴心点的偏移量。

如果一个 RectTransform 的锚点和轴心点都设置为默认值(即锚点和轴心点都为左下角),那么它的 RectTransform.position 属性就等于它的 Transform.position 属性。因此,可以将上面的公式中的 position 替换为 transform.position,得到如下的计算公式:

transform.position = parent_position + 
(anchor_min + anchor_max) * 0.5f * parent_size + pivot * size + offset

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值