Version: 5.5
public static float ScaleSlider (float scale, Vector3 position, Vector3 direction, Quaternion rotation, float size, float snap);

Parameters

scale @param scale Значение, которое пользователь может изменять.
position @param position Позиция маркера.
direction @param direction Направление маркера.
rotation @param rotation Вращение целого объекта.
size @param size Размер маркера.
snap @param snap Новое значение, после того как пользователь изменил его.

Returns

float The value modified by the user's interaction with the handle.

Description

Делает направленно масштабируемый ползунок.


Scale slider handle in the Scene View.

Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.

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