[Unity]如何绘制3D环形线
[Unity]How to draw a Ring Line in 3D
想画一个物体做圆周运动的轨迹,但是不知道怎么画。
能告诉我一个好方法吗?
我还没有绕过某物,但我正在使用 Cos 和 Sin 在物体周围生成静态项目。
如果您使用 TrailRenderer 并使用 MathF cos 和 sin 围绕对象旋转。
var y = amplitude * MathF.cos(Time.timeSinceLevelLoaded * speed) + currentPosY
var x = amplitude * MathF.sin(Time.timeSinceLevelLoaded * speed) + currentPosX
我没看过,但是 "Board to bits" 在 youtube 上有这方面的教程。 space orbiting for a planet playlist.
希望这是适合您的方向。
非常感谢您的回复。
我发现它适用于以下...
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);
}
想画一个物体做圆周运动的轨迹,但是不知道怎么画。 能告诉我一个好方法吗?
我还没有绕过某物,但我正在使用 Cos 和 Sin 在物体周围生成静态项目。 如果您使用 TrailRenderer 并使用 MathF cos 和 sin 围绕对象旋转。
var y = amplitude * MathF.cos(Time.timeSinceLevelLoaded * speed) + currentPosY
var x = amplitude * MathF.sin(Time.timeSinceLevelLoaded * speed) + currentPosX
我没看过,但是 "Board to bits" 在 youtube 上有这方面的教程。 space orbiting for a planet playlist.
希望这是适合您的方向。
非常感谢您的回复。 我发现它适用于以下...
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);
}