scale | @param scale Значение, которое пользователь может изменять. |
position | @param position Позиция маркера. |
direction | @param direction Направление маркера. |
rotation | @param rotation Вращение целого объекта. |
size | @param size Размер маркера. |
snap | @param snap Новое значение, после того как пользователь изменил его. |
float The value modified by the user's interaction with the handle.
Делает направленно масштабируемый ползунок.
Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.
"Маркер слайдера в окне Scene".
// Name this script "ScaleSliderEditor" using UnityEngine; using UnityEditor;
[CustomEditor(typeof(ScaleSlider))] [CanEditMultipleObjects] public class ScaleSliderEditor : Editor { public void OnSceneGUI() { ScaleSlider t = (target as ScaleSlider);
EditorGUI.BeginChangeCheck(); float scale = Handles.ScaleSlider(t.scale, Vector3.zero, Vector3.right, Quaternion.identity,3,0.5f); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Scale Slider"); t.scale = scale; t.Update(); } } }
И скрипт, прикрепленный к данному маркеру:
// Name this script "ScaleSlider" using UnityEngine; [ExecuteInEditMode] public class ScaleSlider : MonoBehaviour { public float scale = 1; public void Update() { transform.localScale = new Vector3(scale,1,1); } }