public static void DrawDashedLine(this RuntimeGizmoDrawer drawer, Vector3 a, Vector3 b, float segmentsPerMeter = 32f, float normalizedPhaseOffset = 0f) { var distance = (b - a).magnitude; var numSegments = distance * segmentsPerMeter; var segmentLength = distance / numSegments; var dir = (b - a) / distance; for (float i = normalizedPhaseOffset; i < numSegments; i += 2) { var start = a + dir * segmentLength * i; var end = a + dir * Mathf.Min(segmentLength * (i + 1), distance); drawer.DrawLine(start, end); } }
public static void DrawRay(this RuntimeGizmoDrawer drawer, Vector3 position, Vector3 direction) { drawer.DrawLine(position, position + direction); }