[Unity]如何在3D中绘制环线

时间:2017-07-13 14:14:44

标签: unity3d unity5 unityscript

我想绘制一个循环移动的物体的轨迹,但我不知道该怎么做。 你能告诉我一个好方法吗?

2 个答案:

答案 0 :(得分:1)

我没有围绕某些东西做轨道运动,但我使用Cos和Sin在物体周围生成静态物品。 如果使用TrailRenderer,则使用MathF cos和sin围绕对象旋转。

var y = amplitude * MathF.cos(Time.timeSinceLevelLoaded * speed) + currentPosY
var x = amplitude * MathF.sin(Time.timeSinceLevelLoaded * speed) + currentPosX

我没有看过它,但是"登上比特"在youtube上有一个关于此事的教程。 space orbiting for a planet playlist

希望这是你正确的方向。

答案 1 :(得分:0)

感谢您的回复。 我发现它适用于以下......

void drawLine()
{

    Vector3[] points = new Vector3[segments+1];
    for (int i = 0; i< segments; i++)
    {
        float angle = ((float)i / (float)segments) * 360 * Mathf.Deg2Rad;
        float x = Mathf.Sin(angle) * radius;
        float z = Mathf.Cos(angle) * radius;
        points[i] = new Vector3(x, 0f, z);
    }
    points[segments] = points[0];
    lr.positionCount = segments + 1;
    lr.SetPositions(points);
}