3

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

我一直在尝试获取所需UI元素的 RectTransform 位置并尝试在它们之间画一条线。但是,这不起作用。当我更改代码以使用场景中的普通 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();

}

第一个注释掉的行可以UI很好地确定我的 2 个对象的位置,但屏幕上什么也没有出现。未注释的行工作正常。我在这里做错了吗?

以上所有内容都是在 3D 场景中完成的。我将让我的相机围绕 3D 对象进行轨道、旋转和缩放,并希望线条保持一致

4

0 回答 0