Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

EditorGUI.CurveField

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
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);

パラメーター

position 表示位置
label フィールドの前に表示するオプションのラベル
value 編集する曲線
color 曲線を表示する色
ranges テクスチャを描画するスクリーン上の Rect

戻り値

AnimationCurve ユーザーが編集する曲線

説明

AnimationCurve を編集するためのフィールドを作成します。


" Editor Window の Curve Field "

	// 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");
			}
		}
	}

このエディタースクリプトは以下のスクリプトで使用します。

	// 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);

パラメーター

position 表示位置
property 編集する曲線
color 曲線を表示する色
ranges テクスチャを描画するスクリーン上の Rect

説明

AnimationCurve を編集するためのフィールドを作成します。