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

パラメーター

scale ユーザーが変更できる値
position ハンドルの位置
direction ハンドルの方向
rotation オブジェクト全体の回転
size ハンドルのサイズ
snap ユーザーが変更した後の新しい値

戻り値

float ユーザーのハンドル操作によって変更された値

説明

ディレクショナルスケールスライダーを作成します。


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