Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.
Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.
ЗакрытьПо определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.
Закрытьposition | @param position Позиция текущей точки. |
direction | @param direction Направление скольжения. |
size | @param size Размер маркера. |
drawFunc | @param drawFunc Функция, вызываемая для действующего отображения - по умолчанию, Handles.ArrowCap, могут использоваться функции с такой же сигнатурой. |
snap | @param snap Значение "захвата" (см. Handles.SnapValue). |
Vector3 @return Новую позицию. Если пользователь не выполнил операцию, будет возвращено то же значение, что вы передавали в позицию.
Делает 3D слайдер.
Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.
На экране будет отображен перетаскиваемый маркер. Маркер вынужден скользить на плоскости.
"Маркер слайдера в окне Scene".
// 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); }
}