Version: 5.5
public static Vector3 Slider (Vector3 position, Vector3 direction);
public static Vector3 Slider (Vector3 position, Vector3 direction, float size, Handles.DrawCapFunction drawFunc, float snap);

Parameters

position @param position Позиция текущей точки.
direction @param direction Направление скольжения.
size @param size Размер маркера.
drawFunc @param drawFunc Функция, вызываемая для действующего отображения - по умолчанию, Handles.ArrowCap, могут использоваться функции с такой же сигнатурой.
snap @param snap Значение "захвата" (см. Handles.SnapValue).

Returns

Vector3 @return Новую позицию. Если пользователь не выполнил операцию, будет возвращено то же значение, что вы передавали в позицию.

Description

Делает 3D слайдер.

This draws 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.

Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.

// Name this script "SliderHandleEditor"
using UnityEngine;
using System.Collections;
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() { SliderLook t = (target as SliderLook); EditorGUI.BeginChangeCheck(); Vector3 lookTarget = Handles.Slider(t.lookTarget, new Vector3(1, 0, 0), 2, Handles.ConeCap, 0.1f); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Slider Look Target"); t.lookTarget = lookTarget; t.Update(); } } }

И скрипт, прикрепленный к данному маркеру:

// Name this script "SliderHandle"
using UnityEngine;
using System.Collections;

[ExecuteInEditMode] public class SliderHandle : MonoBehaviour { public Vector3 lookTarget = new Vector3(0, 0, 0);

public void Update() { transform.LookAt(lookTarget); } }