UGUI笔记——3D坐标转换成UGUI坐标

UGUI笔记------3D坐标转换成UGUI坐标

Canvas的模式为ScreenSpace-Camera

javascript 复制代码
private void SetUIPosition(Vector3 worldPosition) 
{
      Vector3 screenPosition = RectTransformUtility.WorldToScreenPoint(mainCamera, worldPosition);
      Vector2 localPoint;
            if(RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform.transform.parent.GetComponent<RectTransform>(),screenPosition,uiCamera,out localPoint)) 
            {
                rectTransform.anchoredPosition = localPoint;
            }
}

Canvas的模式为ScreenSpace-Overlay

javascript 复制代码
    private void SetUIPosition(Vector3 worldPosition) 
        {
            Vector3 screenPosition = RectTransformUtility.WorldToScreenPoint(GlobalDefine.mainCamera, worldPosition);
            Vector2 localPosition;
            if (RectTransformUtility.ScreenPointToLocalPointInRectangle(mRectTransform.transform.parent.GetComponent<RectTransform>(), screenPosition, null, out localPosition))
            {
                mRectTransform.anchoredPosition = localPosition;
            }
        }
相关推荐
妄汐霜7 分钟前
小白学习笔记(spring框架ioc)
笔记·学习
Kapibalapikapi18 分钟前
操作笔记 | Ubuntu Server VMware虚拟机的文件传输
笔记·操作文档
shangjian00721 分钟前
OpenClaw学习笔记-01-架构篇
笔记·学习·架构
551只玄猫39 分钟前
【基于python的金融分析和风险管理 学习笔记】中阶篇 第6章 分析利率和汇率
笔记·python·学习·金融·学习笔记·汇率·利率
yeflx40 分钟前
激光雷达点云处理项目:从零搭建 3D 视觉检测系统
人工智能·3d·视觉检测
出门吃三碗饭42 分钟前
3DGS如何提升面向仿真的三维高斯重建质量
3d·机器人
ljt27249606611 小时前
Flutter笔记--加水印
笔记·flutter
show2141 小时前
Memos 开源笔记的使用
笔记
悠哉悠哉愿意1 小时前
【单片机学习笔记】第十二届国赛经验复盘
笔记·单片机·嵌入式硬件·学习
-许平安-1 小时前
MCP项目笔记四(Transport)
开发语言·c++·笔记·ai·mcp