Select your preferred scripting language. All code snippets will be displayed in this language.
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
CloseLook up or set the Color of the handles.
Magenta slider that points to 0,0,0.
To use this example, save this script in your Assets/Editor folder:
#pragma strict @CustomEditor(SliderHandle) public class SliderHandleEditor extends Editor { // allows you to drag a 'look at' point along the X axis function OnSceneGUI() { var t: SliderHandle = target as SliderHandle; // Set the colour of the next handle to be drawn: Handles.color = Color.magenta; EditorGUI.BeginChangeCheck(); var lookTarget: Vector3 = Handles.Slider(t.lookTarget, new Vector3(1, 0, 0), 0.25f, Handles.ConeCap, 0.01f); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Slider Look Target"); t.lookTarget = lookTarget; t.Update(); } } }
using UnityEngine; 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( ) { SliderHandle t = target as SliderHandle;
// Set the colour of the next handle to be drawn: Handles.color = Color.magenta;
EditorGUI.BeginChangeCheck( ); Vector3 lookTarget = Handles.Slider(t.lookTarget, new Vector3(1, 0, 0), 0.25f, Handles.ConeCap, 0.01f);
if( EditorGUI.EndChangeCheck( ) ) { Undo.RecordObject( target, "Changed Slider Look Target" ); t.lookTarget = lookTarget; t.Update( ); } }
}
...and place this script on the GameObject you wish to place the Slider Handle on.
#pragma strict @ExecuteInEditMode public class SliderHandle extends MonoBehaviour { public var lookTarget: Vector3 = new Vector3(0, 2, 0); public function Update() { transform.LookAt(lookTarget); } }
using UnityEngine;
[ExecuteInEditMode] public class SliderHandle : MonoBehaviour { public Vector3 lookTarget = new Vector3( 0,2,0 );
public void Update( ) { transform.LookAt( lookTarget ); } }