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

파라미터

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.

반환

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

설명

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