C# 游戏对象和UI项之间的Unity3D矢量3.0行

C# 游戏对象和UI项之间的Unity3D矢量3.0行,c#,unity3d,unity3d-ui,C#,Unity3d,Unity3d Ui,我正在使用矢量在我的3DGameObject和UI元素之间画一条线。但是,我正在努力转换RectTransform位置数据,以便将其传递给drawline函数 我一直在尝试获取所需的UI元素的位置,并试图在它们之间划一条线。然而,这不起作用。当我更改代码以使用场景中的普通3D对象时,线条将按预期显示。这是我目前正在使用的代码: void Start () { // points[0] = image.rectTransform.transform.position; // po

我正在使用矢量在我的3D
GameObject
UI
元素之间画一条线。但是,我正在努力转换
RectTransform
位置数据,以便将其传递给drawline函数

我一直在尝试获取所需的
UI
元素的位置,并试图在它们之间划一条线。然而,这不起作用。当我更改代码以使用场景中的普通3D对象时,线条将按预期显示。这是我目前正在使用的代码:

  void Start ()
{

  //  points[0] = image.rectTransform.transform.position;
  //  points[1] = image2.rectTransform.transform.position;

    points[0] = obj1.transform.position;
    points[1] = obj2.transform.position;

    line = new VectorLine("Line", points, mat, 2.0f, LineType.Continuous);
    VectorLine.canvas.sortingOrder = 1;
    VectorLine.SetCanvasCamera(Camera.main);

}

// Update is called once per frame
void Update () {
    line.Draw();

}
第一个注释掉的行可以很好地获取我的2
UI
对象的位置,但屏幕上没有显示任何内容。未注释的输出行工作正常。我有什么地方做错了吗


以上所有操作都是在3D场景中完成的。我将让我的相机环绕3D对象旋转和缩放,并希望线条保持一致

更新了我的原始问题这样做真是让人头疼
RectTransformUtility
是你的朋友!这是一个很好的问题,@Sean-我从来没有一个弗里金的线索-从UI映射到正常游戏场景的最佳方式。很遗憾,在这个标签上有这么多杂乱的东西。希望你的问题得到足够的关注。一旦时间过去,我会增加一笔赏金。