我的目标是能够使用线条渲染器组件绘制各种线条,向该线条添加碰撞器和刚体。
我使用以下代码绘制线并设置该线的边缘对撞机点:
mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
mousePos.z = 0;
poinsOfLine.Add (mousePos);
line.positionCount = poinsOfLine.Count;
line.SetPosition (poinsOfLine.Count - 1, poinsOfLine [poinsOfLine.Count - 1]);
if (poinsOfLine.Count > 1)
{
collider.points = poinsOfLine.ToArray();
collider.enabled = true;
}
我不希望像第二个屏幕截图中那样填充线条,我希望对撞机遵循第一个屏幕截图中的线条形状,但是要使用多边形对撞机,而不是边缘对撞机,因为边缘对撞机不会与彼此。
我尝试这样设置多边形对撞机的点:
PolygonCollider2D polyColl = newDrawie.AddComponent<PolygonCollider2D>();
Vector2[] polyPoints = new Vector2[poinsOfLine.Count * 2];
int j = 1;
for (int i = 0; i < polyPoints.Length; i += 2)
{
//sumVector += collider.points[i / 2];
//numberOfPoints++;
polyPoints[i] = collider.points[i / 2];
polyPoints[j] = collider.points[i / 2] + Vector2.up * 0.1f;
j += 2;
}
polyColl.SetPath(0, polyPoints);
但这并不能给我我想要的结果。
如何使多边形对撞机遵循第一个屏幕截图中的线条形状?