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