Handles.Button
Declaration
public static bool Button(Vector3 position, Quaternion direction, float size, float pickSize, Handles.CapFunction capFunction);Параметры
| Параметр | Описание |
|---|---|
| должность | Позиция для рисования кнопки в пространстве Handles.matrix. |
| направление | Вращение кнопки в пространстве Handles.matrix. |
| размер | Визуальный размер ручки. Используйте HandleUtility.GetHandleSize, если требуется постоянный размер экрана. |
| pickSize | Размер кнопки для целей обнаружения нажатия. Используйте HandleUtility.GetHandleSize, если требуется постоянный размер экрана. |
| capFunction | Стиль рисования кнопки. |
Возвращаемое значение
логическое True, когда пользователь нажимает кнопку.
Описание
Сделайте кнопку 3D.
Эта кнопка работает так же, как и кнопка, нарисованная с помощью GUI.Button, но она имеет позицию 3D и рисуется функцией handle.

Кнопка Handle как прямоугольник в представлении Scene.
Добавьте следующий скрипт в папку Assets как ButtonExample.cs и добавьте компонент ButtonExample к объекту в Scene.
using UnityEngine;
public class ButtonExample : MonoBehaviour {}
Добавьте следующий скрипт в Assets/Editor как ButtonExampleEditor.cs и выберите объект с компонентом ButtonExample.
using UnityEditor; using UnityEngine;
[CustomEditor(typeof(ButtonExample)), CanEditMultipleObjects] class ButtonExampleEditor : Editor { protected virtual void OnSceneGUI() { ButtonExample buttonExample = (ButtonExample)target;
Vector3 position = buttonExample.transform.position + Vector3.up * 2f; float size = 2f; float pickSize = size * 2f;
if (Handles.Button(position, Quaternion.identity, size, pickSize, Handles.RectangleHandleCap)) Debug.Log("The button was pressed!"); } }