controlID | The control ID for the handle. |
position | The world-space position of the handle's start point. |
rotation | The rotation of the handle. |
size | The size of the handle in world-space units. |
Draw a Cylinder. Pass this into handle functions.
Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
Cylinder Cap in the Scene View.
To use this example, save this script in the Assets/Editor folder:
And the script attached to this Handle:
using UnityEngine; using UnityEditor;
[CustomEditor( typeof( DummyCylinderCap ) )] public class CylinderCapEditor : Editor { public float cylinderSize = 1;
void OnSceneGUI( ) { DummyCylinderCap t = target as DummyCylinderCap;
Handles.color = Color.red; Handles.CylinderCap( 0, t.transform.position + new Vector3( 5, 0, 0 ), t.transform.rotation, cylinderSize );
Handles.color = Color.green; Handles.CylinderCap( 0, t.transform.position + new Vector3( 0, 5, 0 ), t.transform.rotation, cylinderSize );
Handles.color = Color.blue; Handles.CylinderCap( 0, t.transform.position + new Vector3( 0, 0, 5 ), t.transform.rotation, cylinderSize ); } }
...and attach this script to the object you wish to attach cylinder cap handles to:
using UnityEngine;
[ExecuteInEditMode] public class DummyCylinderCap : MonoBehaviour { public void Start( ) { Debug.Log( "I have CylinderCap Handles attached to this transform!" ); } }