position | 現在のポイントの位置 |
direction | スライドする方向 |
size | ハンドルの 3D サイズ |
drawFunc | デフォルトで実際に描画するために呼び出される関数 Handles.ArrowCap 。ですが、同じシグネチャを持つ任意の関数を使用できます。 |
snap | スナップ値 (Handles.SnapValue を参照してください) |
Vector3 ユーザーのハンドル操作によって更新された値。ユーザーがハンドルを操作しない場合は、関数に渡した値と同じ値が返されます。
3D スライダーを作成します。
注意: 画面サイズに対して固定サイズのハンドルを持ちたい場合、 HandleUtility.GetHandleSize を使用します。
画面上でドラッグ可能な 3D ハンドルを描画します。ハンドルのスライドの移動は 3D 空間で方向ベクトルに沿った制約が行われます。
シーンビューのスライダーハンドル
// Name this script "SliderHandleEditor" using UnityEngine; using System.Collections; using UnityEditor;
[CustomEditor(typeof(SliderHandle))] public class SliderHandleEditor : Editor {
// Simple script that creates a Slide Handle that // allows you to drag a 'look at' point along the X axis
void OnSceneGUI() {
SliderLook t = (target as SliderLook); EditorGUI.BeginChangeCheck(); Vector3 lookTarget = Handles.Slider(t.lookTarget, new Vector3(1, 0, 0), 2, Handles.ConeCap, 0.1f); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Slider Look Target"); t.lookTarget = lookTarget; t.Update(); } }
}
このハンドルにアタッチしているスクリプト
// Name this script "SliderHandle" using UnityEngine; using System.Collections;
[ExecuteInEditMode] public class SliderHandle : MonoBehaviour { public Vector3 lookTarget = new Vector3(0,0,0); public void Update() { transform.LookAt(lookTarget); }
}