世界坐标到UI坐标,反之亦然?

时间:2015-12-18 11:03:16

标签: c# user-interface unity3d

我在屏幕空间叠加渲染模式中有画布。所以我想要的是当用户触摸屏幕时,某些图像必须恰好出现在用户触摸屏幕的相同位置。我的图片应该在UI图层中。如果我的画布在屏幕空间相机渲染模式中,我会通过以下方式实现结果。

Image img = null // I assign it via the inspector

void Update()
{
    if(Input.GetMouseButtonDown(0))
    {
        Vector2 point;
        RectTransformUtility.ScreenPointToLocalPointInRectangle((RectTransform)img.rectTransform.parent,
                                                                 Input.mousePosition, canvasCamera, out point);
        img.rectTransform.anchorPosition = point;
   }
}

但是我希望在屏幕空间叠加渲染模式中获得相同的结果,因为我有很多不适合屏幕的UI组件。请帮助我。

1 个答案:

答案 0 :(得分:1)

[SerializeField] private Image image = null;
void Update()
{
    image.position = Input.mousePosition;
}

这将使图像跟随鼠标指针。枢轴点定义图像在鼠标指针下方的位置。