static public void DrawCircle(Vector3 position, float rotation, float angle, float size) { Vector3 center = position; int step = 10; int start = -(int)(angle / 2); int end = (int)(angle / 2); for (int i = start; i < end; i += step) { float rot = i + 90 + rotation; float rotA = rot * Mathf.Deg2Rad; float rotB = (rot + step) * Mathf.Deg2Rad; Vector3 pointA = LightingPosition.GetPosition3D(new Vector2(Mathf.Cos(rotA) * size, Mathf.Sin(rotA) * size), center); Vector3 pointB = LightingPosition.GetPosition3D(new Vector2(Mathf.Cos(rotB) * size, Mathf.Sin(rotB) * size), center); Gizmos.DrawLine(pointA, pointB); if (angle < 360 && angle > 0) { if (i == start) { Gizmos.DrawLine(pointA, center); } if (i + step > end) { Gizmos.DrawLine(pointB, center); } } } }