Legacy Documentation: Version 5.2
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Handles.Slider

Suggest a change

Success!

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.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public static function Slider(position: Vector3, direction: Vector3): Vector3;
public static Vector3 Slider(Vector3 position, Vector3 direction);
public static function Slider(position: Vector3, direction: Vector3, size: float, drawFunc: Handles.DrawCapFunction, snap: float): Vector3;
public static Vector3 Slider(Vector3 position, Vector3 direction, float size, Handles.DrawCapFunction drawFunc, float snap);

Parameters

position The position of the current point.
direction The direction of the sliding.
size 3D size the size of the handle.
drawFunc The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
snap The snap value (see Handles.SnapValue).

Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.

Description

Make a 3D slider.

This will draw a 3D-draggable handle on the screen. The handle is constrained to sliding along a direction vector in 3D space.


Slider handle in the Scene View.

	// Simple script that creates a Magenta Slide Handle that 
	// points to (0,0,0) nomatter where the target GameObject is located.
	
	@CustomEditor (Slide)
	class SliderHandleJS extends Editor {
		function OnSceneGUI () {
			Handles.color = Color.magenta;
	        target.vectorPoint = Handles.Slider (target.transform.position, 
	      						Vector3.zero - target.transform.position);
	        if (GUI.changed)
	            EditorUtility.SetDirty (target);
	    }
	}

And the script attached to this Handle:

	// Usage: Place this script on the Game Object you want to use the
	// editor-created slide handle.
	
	@script ExecuteInEditMode()
	
	var vectorPoint : Vector3 = Vector3(0,0,0);
	
	function Update() {
		Debug.Log("Looking at: " + vectorPoint);
	}
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961