points | List of points describing the convex polygon. |
Рисует сглаженную линию, указанную массивом точек и шириной.
// Draws an arrow between start and end gameobjects.
@CustomEditor (DrawArrow) class DrawArrowHandle extends Editor {
function OnSceneGUI () { var arrowHead = new Vector3[3]; var arrowLine = new Vector3[2];
Transform start = ((foobar)target).start; Transform end = ((foobar)target).end; if (!start || !end) return;
var forward = (end.position - start.position).normalized; var right = Vector3.Cross(Vector3.up, forward).normalized; var size = HandleUtility.GetHandleSize(end.position); var width = size * 0.1f; var height = size * 0.3f;
arrowHead[0] = end.position; arrowHead[1] = end.position - forward * height + right*width; arrowHead[2] = end.position - forward * height - right*width;
arrowLine[0] = start.position; arrowLine[1] = end.position - forward * height;
Handles.color = Color.red; Handles.DrawAAPolyLine(arrowLine); Handles.DrawAAConvexPolygon(arrowHead); } }