Unity 屏幕坐标转UI坐标

1:屏幕坐标转UI坐标

首先我们来明确下三个坐标概念:

世界坐标:指的是Transform组件的position字段

UI坐标:指的是RectTransform组件的anchoredPosition字段

 

屏幕坐标:指的是屏幕空间的坐标 (也可以说是相机空间的坐标)。反正关于屏幕坐标,大家只要知道以下2点即可

  1. 我们在Unity中获取的鼠标的坐标,就是屏幕坐标!
  2. 屏幕坐标和世界坐标不是一个东西,屏幕坐标和UI坐标不是一个东西!

Unity官方提供了一个方法,让我们可以很简单的把屏幕坐标 转换成UI坐标!

这个方法就是:

RectTransformUtility.ScreenPointToLocalPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector2 localPoint); 

 

但是,我一直没太搞懂这个方法,网上又查找不到相关的资料。

官方文档感觉根本没描述清楚,只有自己慢慢尝试。

以下是自己对官方文档的翻译,以及自己尝试之后对官方文档的一些理解。

理解之后,这个方法还是非常好用哒!

(很可能有错误的地方,希望大家指出呢!

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EvanXZ

各位大佬 多多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值