我想绘制一个循环移动的物体的轨迹,但我不知道该怎么做。 你能告诉我一个好方法吗?
答案 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);
}