Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

EditorGUI.CurveField

Объявление

public static AnimationCurve CurveField(Rect position, AnimationCurve value);

public static AnimationCurve CurveField(Rect position, string label, AnimationCurve value);

public static AnimationCurve CurveField(Rect position, GUIContent label, AnimationCurve value);

public static AnimationCurve CurveField(Rect position, AnimationCurve value, Color color, Rect ranges);

public static AnimationCurve CurveField(Rect position, string label, AnimationCurve value, Color color, Rect ranges);

public static AnimationCurve CurveField(Rect position, GUIContent label, AnimationCurve value, Color color, Rect ranges);

Параметры

position Прямоугольник на экране для использования в качестве поля.
label Необязательная метка для отображения перед полем.
value Кривая для редактирования.
color Цвет, которым будет показана кривая.
ranges Необязательный прямоугольник, внутри которого ограничивается кривая.

Возвращает

AnimationCurve Кривая, отредактированная пользователем.

Описание

Создает поле для редактирования AnimationCurve.

Поле кривой в окне редактора.
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class EditorGUICurveField : EditorWindow { AnimationCurve curveX = AnimationCurve.Linear(0, 0, 1, 0); AnimationCurve curveY = AnimationCurve.Linear(0, 0, 1, 1); AnimationCurve curveZ = AnimationCurve.Linear(0, 0, 1, 0); [MenuItem("Examples/Curve Field demo")] static void Init() { EditorWindow window = GetWindow(typeof(EditorGUICurveField)); window.position = new Rect(0, 0, 400, 199); window.Show(); } void OnGUI() { curveX = EditorGUI.CurveField( new Rect(3, 3, position.width - 6, 50), "Animation on X", curveX); curveY = EditorGUI.CurveField( new Rect(3, 56, position.width - 6, 50), "Animation on Y", curveY); curveZ = EditorGUI.CurveField( new Rect(3, 109, position.width - 6, 50), "Animation on Z", curveZ); if (GUI.Button(new Rect(3, 163, position.width - 6, 30), "Generate Curve")) AddCurveToSelectedGameObject(); } // A GameObject with the FollowAnimationCurve script must be selected void AddCurveToSelectedGameObject() { if (Selection.activeGameObject) { FollowAnimationCurve comp = Selection.activeGameObject.GetComponent(); comp.SetCurves(curveX, curveY, curveZ); } else { Debug.LogError("No Game Object selected for adding an animation curve"); } } }

Это скрипт времени выполнения, который анимирует присоединенный GameObject:

// Обратите внимание, что это должен быть FollowAnimationCurve.cs using UnityEngine; using System.Collections; public class FollowAnimationCurve : MonoBehaviour { public AnimationCurve curveX; public AnimationCurve curveY; public AnimationCurve curveZ; public void SetCurves(AnimationCurve xC, AnimationCurve yC, AnimationCurve zC) { curveX = xC; curveY = yC; curveZ = zC; } void Update() { transform.position = new Vector3( curveX.Evaluate(Time.time), curveY.Evaluate(Time.time), curveZ.Evaluate(Time.time)); } }

Объявление

public static void CurveField(Rect position, SerializedProperty property, Color color, Rect ranges);

public static void CurveField(Rect position, SerializedProperty property, Color color, Rect ranges, GUIContent label);

Параметры

position Прямоугольник на экране использовать для поля.
property Кривая для редактирования.
color Цвет, которым будет показана кривая.
ranges Необязательный прямоугольник, внутри которого ограничивается кривая.
label Необязательная метка для отображения перед полем. Передайте [[GUIContent.none], чтобы скрыть метку.

Описание

Создает поле для редактирования AnimationCurve.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3