position | 現在のポイントの位置 |
direction | スライドする方向 |
size | ハンドルの 3D サイズ |
drawFunc | デフォルトで実際に描画するために呼び出される関数 Handles.ArrowCap 。ですが、同じシグネチャを持つ任意の関数を使用できます。 |
snap | スナップ値 (SnapValue を参照してください) |
Vector3 ユーザーのハンドル操作によって更新された値。ユーザーがハンドルを操作しない場合は、関数に渡した値と同じ値が返されます。
3D スライダーを作成します。
This draws a 3D draggable handle on the screen. The handle is constrained to sliding along a direction vector in 3D space.
Slider handle in the Scene view.
注意: 画面サイズに対して固定サイズのハンドルを持ちたい場合、HandleUtility.GetHandleSize を使用します。
// 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); } }