Version: 2020.3

Handles.MakeBezierPoints

切换到手册
public static Vector3[] MakeBezierPoints (Vector3 startPosition, Vector3 endPosition, Vector3 startTangent, Vector3 endTangent, int division);

描述

返回表示贝塞尔曲线的点数组。

division 参数提供用于绘制贝塞尔曲线的线条的数量。

另请参阅:Handles.DrawBezier

using UnityEngine;
using UnityEditor;

// Generates 20 points that define the bezier curve

[CustomEditor(typeof(DrawBezier))] public class DrawBezierExample : Editor { private Vector3[] points;

private void OnSceneGUI() { points = Handles.MakeBezierPoints( new Vector3(1.0f, 0.0f, 0.0f), new Vector3(-1.0f, 0.0f, 0.0f), new Vector3(-1.0f, 0.75f, 0.75f), new Vector3(1.0f, -0.75f, -0.75f), 20);

Handles.DrawAAPolyLine(points); } }

这是第二个脚本:

using UnityEngine;

// The class called by the DrawBezierExample

public class DrawBezier : MonoBehaviour { // no script needed, just the class }