Объявление
public static void Label(Vector3 position, string text);public static void Label(Vector3 position, Texture image);
public static void Label(Vector3 position, GUIContent content);
public static void Label(Vector3 position, string text, GUIStyle style);
public static void Label(Vector3 position, GUIContent content, GUIStyle style);
Параметры
position | Позиция в 3D-пространстве, если смотреть с текущей камеры-манипулятора. |
text | Текст для отображения на этикетке. |
image | Текстура для отображения на этикетке. |
content | Текст, изображение и всплывающая подсказка для этого ярлыка. |
style | Используемый стиль. Если его не указать, используется стиль label из текущего GUISkin.
Примечание. Используйте HandleUtility.GetHandleSize, если вы хотите иметь дескрипторы постоянного размера экрана. |
Описание
Создаёт текстовую метку в трехмерном пространстве.
Ярлыки не взаимодействуют с пользователем, не фиксируют щелчки мыши и всегда отображаются в обычном стиле.

//Этот скрипт не является скриптом редактора
//Прикрепите этот скрипт к GameObject в вашей Scene
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[ExecuteInEditMode]
public class HandleExample : MonoBehaviour
{
public float shieldArea = 5.0f;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
//Создайте папку и назовите ее "Editor", если она еще не существует. Поместите в него этот скрипт.
using UnityEngine;
using System.Collections;
using UnityEditor;
// Создаем 180-градусную проволочную дугу с прикрепленным к диску ScaleValueHandle
// позволяет визуализировать некоторую информацию о преобразовании
[CustomEditor(typeof(HandleExample))]
class LabelHandle : Editor
{
void OnSceneGUI()
{
HandleExample handleExample = (HandleExample)target;
if (handleExample == null)
{
return;
}
Handles.color = Color.blue;
Handles.Label(handleExample.transform.position + Vector3.up * 2,
handleExample.transform.position.ToString() + "\nShieldArea: " +
handleExample.shieldArea.ToString());
Handles.BeginGUI();
if (GUILayout.Button("Reset Area", GUILayout.Width(100)))
{
handleExample.shieldArea = 5;
}
Handles.EndGUI();
Handles.DrawWireArc(handleExample.transform.position,
handleExample.transform.up,
-handleExample.transform.right,
180,
handleExample.shieldArea);
handleExample.shieldArea =
Handles.ScaleValueHandle(handleExample.shieldArea,
handleExample.transform.position + handleExample.transform.forward * handleExample.shieldArea,
handleExample.transform.rotation,
1,
Handles.ConeHandleCap,
1);
}
}