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;
            }
        }
相关推荐
守护安静星空1 小时前
esp32开发笔记-工程搭建
笔记·单片机·嵌入式硬件·物联网·visual studio code
ljt27249606611 小时前
Compose笔记(七十七)--视频录制
笔记·android jetpack
周周不一样3 小时前
Andorid基础笔记2-jar&反射
笔记·pycharm·jar
智者知已应修善业3 小时前
【51单片机单按键切换广告屏】2023-5-17
c++·经验分享·笔记·算法·51单片机
凉、介4 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
雷工笔记7 小时前
MES / WMS / AGV 交互时序图及生产管理模块界面设计清单
人工智能·笔记
大邳草民7 小时前
Python 中 global 与 nonlocal 的语义与机制
开发语言·笔记·python
landuochong2007 小时前
claude-obsidian 再升级
人工智能·笔记·claudecode
CheerWWW8 小时前
C++学习笔记——线程、计时器、多维数组、排序
c++·笔记·学习
ljt27249606618 小时前
Compose笔记(七十六)--拍照预览
笔记·android jetpack