关于Unity中RectTransform与transform的区别

 更新时间:2022年01月23日 17:10:32   作者:多见多闻  
这篇文章主要介绍了Unity中RectTransform与transform的区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

以前一直以为在Inspector面板上的是Transform,后来才发现原来2D是RectTransform,3D是Transform

3D面板上显示的是位置坐标组件Transform,2D面板上显示的是位置坐标组件RectTransform

RectTransform是Transform的子类

可以这样强制转换,反过来则不行

gameObject.GetComponent<RectTransform>().anchoredPosition3D = new Vector3(x,y,z);

”锚点“在”父物体“中的位置和样式,取值范围为0(父物体左下) - 1(父物体右上)。
当值的最大和最小不相同的时候表示一个区间,这时锚点会散开,锚点的一边在最小值上,锚点的一边在最大值上,都一样的时候就会如上图在一个点上
特性: 决定当父物体改变的时候子物体的位置和 大小

RectTransform是继承transform的,它是针对unity中ui的,具体在表现上可以这样看待,凡是在在canvas组件下或者具有canvas组件的2d对象,他都recttransform组件,那些在3d空间下没有不受canvas控制的对象都是transfrom组件。
关于recttransform的坐标设置,我们在设置ui对象的坐标的时候设置的都是recttransform的坐标,他是相对于自身锚点的,和父对象的中心点没有关系应该这样设置。

RectTransform组件还有一个anchoredPosition字段,它是忽略z坐标的,一般使用anchoredPosition3D 进行设置
我们通常也会这样设置ui的坐标

gameObject.transform.localPosition = new Vector3(x,y,z)

但其实这样是不准确的,它的位置是相对于父节点的中心点的,只有在特殊条件下才会正确,就是在父节点的中心点和子节点的锚点是重合的情况下才是正确的。

可以看到属性面板中anchors的min和max相等的时候,也就是锚点是一个点的时候属性面板中设置坐标是Posx posy, posz。如果锚点不是重合的情况下

此时,他的属性面板是这样的

变成了left,top,posZ,right,bottom
分别代表距离左上右下和z轴的距离。

是用来计算坐标的,即表示,自己点的哪个位置相对锚点的坐标
总结:

gameobject.transform.localposition =

这种方式是子节点的中心点piovt相对于父节点的中心点poivt的对标

Vector3 vector3 = gameObject.GetComponent<RectTransform>().anchoredPosition3D=

这钟是子节点的中心点相对自身的锚点的坐标和父节点没有关系

到此这篇关于Unity中RectTransform与transform的区别的文章就介绍到这了,更多相关Unity RectTransform与transform 区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • C#中enum和string的相互转换

    C#中enum和string的相互转换

    这篇文章主要介绍了C#中enum和string的相互转换的相关资料,需要的朋友可以参考下
    2017-09-09
  • C#使用EF连接PGSql数据库的完整步骤

    C#使用EF连接PGSql数据库的完整步骤

    这篇文章主要给大家介绍了关于C#使用EF连接PGSql数据库的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2019-01-01
  • C#+EmguCV使用摄像头读取、保存视频

    C#+EmguCV使用摄像头读取、保存视频

    这篇文章主要为大家详细介绍了C#+EmguCV使用摄像头读取、保存视频,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C# 微信支付回调验签处理的实现

    C# 微信支付回调验签处理的实现

    在微信支付中,当用户支付成功后,微信会把相关支付结果和用户信息发送给商户,本文就详细的介绍了C# 微信支付回调验签处理,具有一定的参考价值,感兴趣的可以了解一下
    2021-12-12
  • C#实现简易画图板的示例代码

    C#实现简易画图板的示例代码

    这篇文章主要介绍了C#实现简易画图板的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • C# 删除数组内的某个值、一组值方法详解

    C# 删除数组内的某个值、一组值方法详解

    在本篇文章里小编给大家整理的是关于C# 如何删除数组内的某个值、一组值的相关知识点,需要的朋友们学习下。
    2020-03-03
  • 带你一文了解C#中的LINQ

    带你一文了解C#中的LINQ

    c#提供的ling查询极大的遍历了集合的查询过程,且使用简单方便,非常的有用,下面这篇文章主要给大家介绍了关于C#中LINQ的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • 用C#做网络爬虫的步骤教学

    用C#做网络爬虫的步骤教学

    在本篇内容里小编给大家分享的是关于用C#做网络爬虫的步骤和方法,需要的朋友们可以参考下。
    2018-12-12
  • C#中BitConverter.ToUInt16()和BitConverter.ToString()的简单使用

    C#中BitConverter.ToUInt16()和BitConverter.ToString()的简单使用

    这篇文章主要介绍了C#中BitConverter.ToUInt16()和BitConverter.ToString()的简单使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • WPF实现树形表格控件的示例代码

    WPF实现树形表格控件的示例代码

    这篇文章主要介绍了如何利用WPF框架实现树形表格控件,该控件不仅能够有效地展示复杂的层级数据,还能够提供丰富的个性化定制选项,感兴趣的可以了解下
    2024-04-04

最新评论