スフィア(球体)を描き、これをハンドル関数に渡します。
注意: 画面サイズに対して固定サイズのハンドルを持ちたい場合、 HandleUtility.GetHandleSize を使用します。
" シーンビューの Sphere Cap "
この例を使用するには、以下のスクリプトを 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!" ); } }