Handles.DrawBezier 绘制贝塞尔曲线

static function DrawBezier (startPosition : Vector3, endPosition : Vector3, startTangent : Vector3, endTangent : Vector3, color : Color, texture : Texture2D, width : float) : void

Description描述

Draw textured bezier line through start and end points with the given tangents. To get an anti-aliased effect use a texture that is 1x2 pixels with one transparent white pixel and one opaque white pixel. The bezier curve will be swept using this texture.

绘制带纹理的贝塞尔曲线通过开始和结束点带有给定切线。为了得到一个消除锯齿效果,使用是一个透明的白色像素和一个不透明的白色像素的1X2像素的纹理。贝塞尔曲线将使用这个纹理。

Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.

注意:使用HandleUtility.GetHandleSize你可能希望有恒定屏幕大小的控制柄。

Handles.DrawBezier 绘制贝塞尔曲线

Bezier Line in the Scene View.
在场景视图的贝塞尔曲线。

// Draws a red bezier curve from (0,0,0) to the transform's position
//从0,0,0到边的位置,绘制一条红色贝塞尔曲线
@CustomEditor (BezierScript)
class DrawBezierHandle extends Editor {

	function OnSceneGUI() {
		var width : float = HandleUtility.GetHandleSize(Vector3.zero) * 0.1;
		Handles.DrawBezier(target.transform.position,
			Vector3.zero,
			Vector3.up,
			Vector3.down,
			Color.red,
			null,
			width);
	}
}

And the script attached to this Handle:

该脚本附加到这个控制柄物体:

//BezierScript.js

Debug.Log("I have a bezier curve handle attached!");
最后修改:2011年7月9日 Saturday 10:01

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。