世界坐标转为屏幕坐标(UI坐标)

    /// <summary>  将世界坐标转换为Ugui坐标 </summary> 
    /// <param name="position"> 需要转换的三维坐标点 </param>
    public void OpenWorldToScreen(Vector3 position)
    {
        Vector3 anchorPos = mainCamera1.WorldToScreenPoint(position);
    }

将转换好的坐标放置到UI中 

    [Header("对话框UI")]
    [SerializeField]
    private GameObject talk;    

    public void OpenWorldToUgui(Vector3 position)
    {
        Vector3 anchorPos = mainCamera1.WorldToScreenPoint(position);
        ///将输入的三维坐标转换为屏幕坐标
        talk.transform.position = anchorPos;
    }

官网API脚本

Camera.WorldToScreenPoint

public Vector3 WorldToScreenPoint (Vector3 position);

描述

将 position 从世界空间变换为屏幕空间。

屏幕空间以像素定义。屏幕的左下角为 (0,0),右上角 为 (pixelWidth,pixelHeight)。z 位置为与摄像机的距离,采用世界单位。

Unity API链接:

Camera-WorldToScreenPoint - Unity 脚本 API

Guess you like

Origin blog.csdn.net/m0_56804747/article/details/121942468