贝塞尔曲线的原理以及具体实现方式在网上随处可见,这里不再赘述。实际上,在Unity的Editor模式下,系统已经提供了现成的接口,只需要简单的几行代码,便能实现可自由拖曳的贝塞尔曲线。
首先,创建一个Bezier.cs文件,具体代码如下:
//将代码添加至任意GameObject即可
using UnityEngine;
using System.Collections;
public class Bezier : MonoBehaviour
{
//起始于startPosition,走向于startTangent,并从endTangent来到终点endPosition
public Vector3 startPosition = Vector3.zero;
public Vector3 startTangent = Vector3.zero;
public Vector3 endPosition = Vector3.zero;
public Vector3 endTangent = Vector3.zero;
}
其次,创建一个BezierEditor.cs文件,具体代码如下:
using UnityEngine;
using UnityEditor;
//CustomEditor即将该编辑代码附加在Bezier.cs上
//当Bezier.cs绑定物体被选中时
//该代码会运行
[CustomEditor(typeof(Bezier))]
public class BezierEditor : Editor
{