在GameObject位置创建GUI UI

Create GUI UI at GameObject position

我想在GameObject的位置创建一个GUI UI,具体是这个例子菜单:

http://docs.unity3d.com/Manual/gui-Basics.html

我试过这个:

new Rect (playerPosX, playerPosY, 100, 90)

作为第一个参数使用 gameObject.transform.position.x 和 y 但 GUI 是基于左上角的。

我该怎么做?

WorldToScreenPoint 会成功的。
Unity Documentation

var pos = Camera.main.WorldToScreenPoint(GameObject.Find("NameOfObject").transform.position);
    Rect d = new Rect(Screen.width - pos.x, Screen.height - pos.y, 400, 400);

首先将世界坐标系(笛卡尔坐标系)中的玩家位置转换为屏幕坐标space,即你提到的基于左上角的使用

Vecto3 temp = Camera.main.WorldToScreenPoint(playerPosition);

然后您可以仅使用 temp 的 x 和 y 分量(因为左上角的位置)。

根据我的理解,您正在寻找的不是 GUI 它的 text mesh. GUI will stick with your (x,y) screen position but the text mesh 是您可以在游戏对象附近的场景中的任何位置显示的内容。