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

Parámetros

scale The value the user can modify.
position The position of the handle.
direction The direction of the handle.
rotation The rotation of whole object.
size The size of the handle.
snap The new value after the user has modified it.

Valor de retorno

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

Descripción

Make a directional scale slider.


Scale slider handle in the Scene View.

Note: Use HandleUtility.GetHandleSize if you want the handle to always remain the same size on the screen.

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

And attach this script to the GameObject:

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