/// <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 位置为与摄像机的距离,采用世界单位。