controlID | ハンドルのコントロール ID |
position | 球体の 3D 位置 |
rotation | 関連するオブジェクトの周囲の球体の回転 |
size | 球体のサイズ |
スフィア(球体)を描き、これをハンドル関数に渡します。
Note: Use HandleUtility.GetHandleSize where you might want to
have constant screen-sized handles.
Sphere Cap on the Scene View.
この例を使用するには、以下のスクリプトを Assets/Editor フォルダーに保存します。
using UnityEngine; using UnityEditor;
[CustomEditor(typeof(DummySphereCap))] public class SphereCapEditor : Editor { void OnSceneGUI() { DummySphereCap t = target as DummySphereCap;
Handles.color = Color.red; Handles.SphereCap(0, t.transform.position + new Vector3(5, 0, 0), t.transform.rotation, t.sphereSize);
Handles.color = Color.green; Handles.SphereCap(0, t.transform.position + new Vector3(0, 5, 0), t.transform.rotation, t.sphereSize);
Handles.color = Color.blue; Handles.SphereCap(0, t.transform.position + new Vector3(0, 0, 5), t.transform.rotation, t.sphereSize); } }
このスクリプトを球体 (SphereCap) のハンドルを表示したいオブジェクトにアタッチします。
using UnityEngine;
[ExecuteInEditMode] public class DummySphereCap : MonoBehaviour { public float sphereSize = 1;
public void Start() { Debug.Log("I have SphereCap Handles attached to this transform!"); } }