Класс Gizmos и Handles позволяет рисовать линии и фигуры в СценеСцена содержит среду и меню вашего игра. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
Смотреть в режиме Словарь и режиме игры, а также интерактивные ручки и элементы управления. Вместе эти два класса предоставляют вам возможность расширять то, что показано в этих представлениях, и создавать интерактивные инструменты для редактирования вашего проекта любым удобным для вас способом. Например, вместо того, чтобы вводить числа в инспекторокно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, позволяя вам проверять и редактировать значения. Подробнее
Смотрите в Словарь, вы можете создать перетаскиваемый гизмо с радиусом окружности вокруг не- персонаж игрока в игре, представляющий область, в которой он может слышать или видеть игрока.
На этой странице представлен простой обзор классов Gizmos и Handles. Полную документацию и исчерпывающую справку по каждому члену классов Gizmos и Handles см. на справочных страницах скриптов для Gizmos Графическое наложение, связанное с игровым объектом в сцене и отображаемое в представлении "Сцена". Встроенные инструменты сцены, такие как инструмент перемещения, представляют собой гизмо, и вы можете создавать собственные гизмо, используя текстуры или сценарии. Некоторые гизмо отрисовываются только при выборе игрового объекта, в то время как другие гизмо отрисовываются редактором независимо от того, какие игровые объекты выбраны. Подробнее
См. в Словарь и Ручки.
Гизмо
Класс Gizmos позволяет рисовать линии, сферы, кубы, значки, текстуры и сетки в виде сценыинтерактивном загляните в мир, который вы создаете. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Дополнительная информация
См. в Словарь для использования в качестве средств отладки, настройки или инструментов во время разработка вашего проекта.
Например, чтобы нарисовать 10-элементный куб из желтой проволоки вокруг GameObjectосновного объекта в сценах Unity, который может представлять персонажи, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
Смотрите в Словарь, вы должны использовать этот код:
using UnityEngine;
public class GizmosExample : MonoBehaviour
{
void OnDrawGizmosSelected()
{
// Draw a yellow cube at the transform position
Gizmos.color = Color.yellow;
Gizmos.DrawWireCube(transform.position, new Vector3(10, 10, 10));
}
}
А вот как этот куб выглядит, если его поместить на игровой объект Directional Light.
Полную документацию по использованию Gizmos см. на справочной странице скриптов Gizmos.
Ручки
Ручки аналогичны Gizmos, но предоставляют больше функциональных возможностей с точки зрения интерактивности и манипулирования. 3D-элементы управления, которые сама Unity предоставляет для управления элементами в представлении «Сцена», представляют собой комбинацию Gizmos и Handles. Существует ряд встроенных графических интерфейсов Handle, таких как знакомые инструменты для позиционирования, масштабирования и поворота объекта с помощью компонента TransformКомпонент преобразования определяет положение, вращение и масштаб каждого объекта в сцене. Каждый GameObject имеет Transform. Подробнее
См. в Словарь. Однако вы можете определить свои собственные графические интерфейсы Handle для использования с редакторами пользовательских компонентов. Такие графические интерфейсы могут быть очень полезным способом редактирования процедурно сгенерированного содержимого сцены, «невидимых» элементов и групп связанных объектов, таких как путевые точки и маркеры местоположения.
Например, вот как можно создать область дуги с ручкой-стрелкой, что позволит вам изменить «защитную область» в представлении сцены:
using UnityEditor;
using UnityEngine;
using System.Collections;
//this class should exist somewhere in your project
public class WireArcExample : MonoBehaviour
{
public float shieldArea;
}
// Create a 180 degrees wire arc with a ScaleValueHandle attached to the disc
// that lets you modify the "shieldArea" value in the WireArcExample
[CustomEditor(typeof(WireArcExample))]
public class DrawWireArc : Editor
{
void OnSceneGUI()
{
Handles.color = Color.red;
WireArcExample myObj = (WireArcExample)target;
Handles.DrawWireArc(myObj.transform.position, myObj.transform.up, -myObj.transform.right, 180, myObj.shieldArea);
myObj.shieldArea = (float)Handles.ScaleValueHandle(myObj.shieldArea, myObj.transform.position + myObj.transform.forward * myObj.shieldArea, myObj.transform.rotation, 1, Handles.ConeHandleCap, 1);
}
}
Полную документацию по использованию Handles см. на справочной странице скриптов Handles.