相对于图像位置和比例绘制线条

时间:2021-05-31 15:20:52

标签: unity3d

我正在 Unity 中制作游戏,我将 Canvas 设置为 Screen Space - Overlay,它的背景为绿色,如您从图像中看到的那样。我还有一个背景为蓝色的 RawImage 作为 Canvas 的孩子,玩家将不得不在 RawImage 内绘制一个像汽车或房子这样的对象。现在,即使我在屏幕上的随机位置实例化该线给它协调的 (0, 0)。 我需要帮助的是找到一种转换坐标的方法,因此我只使用 RawImage 的内部坐标。例如,我将传递给线的 (0, 0) 坐标必须转换为 RawImage 的左下角。并且最大宽度或高度也应该取决于 RawImage 的宽度和高度。 enter image description here

这是我现在拥有的 CreateLine 函数:

public void CreateLine(int x, int y)
{
    currentLine = Instantiate(linePrefab, Vector3.zero, Quaternion.identity);
    currentLine.transform.parent = GameObject.Find("GameMenu(Clone)").transform; //Make the line a child of the Canvas named GameMenu
    lineRenderer = currentLine.GetComponent<LineRenderer>();
    lineRenderer.SetPosition(0, new Vector3(x, y, 99));
    lineRenderer.SetPosition(1, new Vector3(x, y, 99));
}

任何数量的帮助将不胜感激。祝您有美好的一天!

0 个答案:

没有答案
相关问题