使用线条渲染器制作目标轨迹

问题描述 投票:-1回答:1

轨迹线的基准

嘿,我是unity的新手,试图借助线条渲染器来创建一条轨迹线,但似乎并不奏效。我下面附上了我的运动脚本。如果有人能帮助我,那将是非常有帮助的。

public void Update()
{

    if (Input.GetMouseButtonDown(0)) //press
    {
        startPoint = cam.ScreenToWorldPoint(Input.mousePosition);
        startPoint.z = 15;
        direction = endPoint - startPoint;
        transform.right = direction;

        for (int i = 0; i < numberOfDots; i++)
        {
            trajectoryDots[i].transform.position = calculatePosition(i * 0.01f);
        }
    }

    if (Input.GetMouseButtonUp(0)) //release
    {
        endPoint = cam.ScreenToWorldPoint(Input.mousePosition);
        endPoint.z = 15;

        force = new Vector2(Mathf.Clamp(startPoint.x - endPoint.x, minPower.x, maxPower.x), Mathf.Clamp(startPoint.y - endPoint.y, minPower.y, maxPower.y));
        rb.AddForce(force * power, ForceMode2D.Impulse);
    }

}
c# unity3d game-development
1个回答
0
投票

我相信你不能使用'trajectoryDots[i].transform.position'来设置位置。LineRenderers有一个显式的.SetPosition()函数。

试着研究一下这个。https:/docs.unity3d.comScriptReferenceLineRenderer.SetPositions.html。

这也许能解决你的问题。


0
投票

线性渲染没有所有位置的变换,所以你不能设置变换的位置。

所以你不能设置变换的位置。 相反,可以使用lineRenderer.SetPosition函数来设置线中点的位置和索引。

© www.soinside.com 2019 - 2024. All rights reserved.