Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Handles.ScaleSlider

マニュアルに切り替える
public static float ScaleSlider(float scale, Vector3 position, Vector3 direction, Quaternion rotation, float size, float snap);

パラメーター

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

戻り値

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

説明

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

注意: 画面サイズに対して固定サイズのハンドルを持ちたい場合、 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);
    }
}