Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Важные классы - Gizmos & Handles

Класс 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.

Легкий GameObject с дополнительным скриптом, который рисует гизмо куба вокруг своего положения.
Легкий GameObject с дополнительным скриптом, который рисует гизмо куба вокруг своего положения.

Полную документацию по использованию 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.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3