unity(血条-》UI跟随的做法)

博客介绍了在Unity游戏引擎中实现血条UI跟随的方法。涉及屏幕坐标、世界坐标和视口坐标的概念,通过获取UI相对位置,先将血条世界坐标转换为视口坐标,再转换为屏幕坐标,最终实现血条UI跟随。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现血条 即UI跟随。

1.屏幕坐标 ,世界坐标, 视口坐标 

屏幕坐标 屏幕像素大小决定

视口坐标 有点像屏幕坐标  但是跟随相机移动大小是0到1;

   获取到UI的相对位置

  Vector2 viewpos = Camera.main.WorldToViewportPoint(transform.position);

transform 是你这个血条的世界坐标位置  , 这句话的意思是先得到 你这个物体的视口坐标。

Vector2 worldobjectScreen = new Vector2((viewpos.x * canvasrect.sizeDelta.x) - (canvasrect.sizeDelta.x * 0.5f) + xoffset, (viewpos.y * canvasrect.sizeDelta.y) - (canvasrect.sizeDelta.y * 0.5f) + yoffset);

然后 再得到 这个物体在你的屏幕坐标位置,因为视口坐标都是 0到1 相当于一个比例 用它×UI的长或宽

  ui_element.anchoredPosition = worldobjectScreen;

                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小户爱

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值