转换屏幕坐标_Unity游戏开发——3D坐标转换UGUI坐标

本文介绍如何在Unity游戏开发中进行3D坐标到2D UI坐标的转换,涉及3D到屏幕坐标,再到UGUI坐标的步骤。以血条跟随角色移动为例,提供了核心代码示例。
摘要由CSDN通过智能技术生成

bd55ba7ae992686506da6c40d397c931.png

0.前言

实际开发中,我们经常会遇到需要3D与2D坐标转换的问题,比如血条同步跟随人物移动、伤害数字在人物头上出现、从2D背包中拖动一个UI到3D物体上等情况,这些其实本质上都是3D坐标与UI坐标转换的问题。

1.核心思想

3D坐标转成UI坐标其实就是先转成屏幕坐标,再由屏幕坐标转换成UI坐标。

所以坐标转换分为三个部分

  • 3D坐标

  • 屏幕坐标

  • UI坐标

其中Unity的屏幕坐标系规定,左下角是原点,X轴向右是正方向,Y轴向上是正方向。

作为额外补充的一个知识点,GUI的坐标系规定左上角是原点,X轴向右为正方向,Y轴向下为正方向,跟屏幕坐标是不一样的,但是此篇我们用不到这个知识点。

这里UI坐标指的是UGUI的坐标,所以我们在计算的时候就需要用的Canvas相关的参数

2.代码示例

在此以血条跟随人物移动为需求,完成坐标转换的核心代码

using UnityEngine;public class HPFollow : MonoBehaviour{
        // 人物头顶    public Transfo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值