Version: 5.3 (switch to 5.4b)
IdiomaEnglish
  • C#
  • JS

Idioma de script

Selecciona tu lenguaje de programación favorito. Todos los fragmentos de código serán mostrados en este lenguaje.

EditorGUI.CurveField

Sugiere un cambio

¡Éxito!

Gracias por ayudarnos a mejorar la calidad de la documentación de Unity. A pesar de que no podemos aceptar todas las sugerencias, leemos cada cambio propuesto por nuestros usuarios y actualizaremos los que sean aplicables.

Cerrar

No se puedo enviar

Por alguna razón su cambio sugerido no pudo ser enviado. Por favor <a>intente nuevamente</a> en unos minutos. Gracias por tomarse un tiempo para ayudarnos a mejorar la calidad de la documentación de Unity.

Cerrar

Cancelar

Cambiar al Manual
public static function CurveField(position: Rect, value: AnimationCurve): AnimationCurve;
public static AnimationCurve CurveField(Rect position, AnimationCurve value);
public static function CurveField(position: Rect, label: string, value: AnimationCurve): AnimationCurve;
public static AnimationCurve CurveField(Rect position, string label, AnimationCurve value);
public static function CurveField(position: Rect, label: GUIContent, value: AnimationCurve): AnimationCurve;
public static AnimationCurve CurveField(Rect position, GUIContent label, AnimationCurve value);
public static function CurveField(position: Rect, value: AnimationCurve, color: Color, ranges: Rect): AnimationCurve;
public static AnimationCurve CurveField(Rect position, AnimationCurve value, Color color, Rect ranges);
public static function CurveField(position: Rect, label: string, value: AnimationCurve, color: Color, ranges: Rect): AnimationCurve;
public static AnimationCurve CurveField(Rect position, string label, AnimationCurve value, Color color, Rect ranges);
public static function CurveField(position: Rect, label: GUIContent, value: AnimationCurve, color: Color, ranges: Rect): AnimationCurve;
public static AnimationCurve CurveField(Rect position, GUIContent label, AnimationCurve value, Color color, Rect ranges);

Parámetros

position Rectangle on the screen to use for the field.
label Optional label to display in front of the field.
value The curve to edit.
color The color to show the curve with.
ranges Optional rectangle that the curve is restrained within.

Valor de retorno

AnimationCurve The curve edited by the user.

Descripción

Make a field for editing an AnimationCurve.


Curve field in an Editor Window.

	// Makes the selected GameObject follow the animation curve.
	//
	// Usage: Generate the curves for X,Y and Z axis of your desired GameObject
	// Select an Object and click Generate Curve.
	// Press Play and see your object moving.
	
	
	class EditorGUICurveField extends EditorWindow {
	
		var curveX : AnimationCurve = AnimationCurve.Linear(0,0,10,10);
		var curveY : AnimationCurve = AnimationCurve.Linear(0,0,10,10);
		var curveZ : AnimationCurve = AnimationCurve.Linear(0,0,10,10);
	
		@MenuItem("Examples/Create Curve For Object")
		static function Init() {
			var window = GetWindow(EditorGUICurveField);
			window.position = Rect(0,0,200,100);
			window.Show();
		}
		
		function OnGUI() {
			curveX = EditorGUI.CurveField(
				Rect(3,3,position.width-6,15),
				"Animation on X", curveX);
			curveY = EditorGUI.CurveField(
				Rect(3,20,position.width-6,15),
				"Animation on Y", curveY);
			curveZ = EditorGUI.CurveField(
				Rect(3,45,position.width-6,15),
				"Animation on Z", curveZ);
			
			if(GUI.Button(Rect(3,60,position.width-6,30),"Generate Curve"))
				AddCurveToSelectedGameObject();
		}
		
		function AddCurveToSelectedGameObject() {
			if(Selection.activeGameObject) {
				var comp : FollowAnimationCurve = 
					Selection.activeGameObject.AddComponent.<FollowAnimationCurve>();
					comp.SetCurves(curveX, curveY, curveZ);
			} else {
				Debug.LogError("No Game Object selected for adding an animation curve");
			}
		}
	}

And the script attached to this editor script:

	// FollowAnimationCurve.js
	// This script has to go outside of the Editor Folder.
	
	var curveX : AnimationCurve;
	var curveY : AnimationCurve;
	var curveZ : AnimationCurve;
	
	function SetCurves(xC : AnimationCurve, yC : AnimationCurve, zC : AnimationCurve) {
		curveX = xC;
		curveY = yC;
		curveZ = zC;
	}
	function Update() {
		transform.position = Vector3(curveX.Evaluate(Time.time),
									curveY.Evaluate(Time.time),
									curveZ.Evaluate(Time.time));
	}

public static function CurveField(position: Rect, value: SerializedProperty, color: Color, ranges: Rect): void;
public static void CurveField(Rect position, SerializedProperty value, Color color, Rect ranges);

Parámetros

position Rectangle on the screen to use for the field.
property The curve to edit.
color The color to show the curve with.
ranges Optional rectangle that the curve is restrained within.

Descripción

Make a field for editing an AnimationCurve.