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. |
eventType | Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events. |
Draw a dot handle. Pass this into handle functions.
On EventType.Layout event, calculates handle distance to mouse and calls HandleUtility.AddControl accordingly.
On EventType.Repaint event, draws the handle shape.
Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
no example available in JavaScript
// Draw one dot on each axis of any GameObject // that has the "DummyScript.cs" script attached.
// DummyScriptEditor.cs (place in Editor folder) [CustomEditor(typeof(DummyScript))] public class DummyScriptEditor : Editor { float size = 1; void OnSceneGUI() { if(Event.current.type == EventType.Repaint) { Transform transform = (target as DummyScript).transform; Handles.color = Color.red; Handles.DotHandleCap(0, transform.position + new Vector3(5, 0, 0), transform.rotation * Quaternion.LookRotation(new Vector3(1, 0, 0)), size, EventType.Repaint); Handles.color = Color.green; Handles.DotHandleCap(0, transform.position + new Vector3(0, 5, 0), transform.rotation * Quaternion.LookRotation(new Vector3(0, 1, 0)), size, EventType.Repaint); Handles.color = Color.blue; Handles.DotHandleCap(0, transform.position + new Vector3(0, 0, 5), transform.rotation * Quaternion.LookRotation(new Vector3(0, 0, 1)), size, EventType.Repaint); } } }
// DummyScript.cs public class DummyScript : MonoBehaviour { }