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

Handles.FreeRotateHandle

Объявление

public static Quaternion FreeRotateHandle(int id, Quaternion rotation, Vector3 position, float size);

public static Quaternion FreeRotateHandle(Quaternion rotation, Vector3 position, float size);

Параметры

id Идентификатор управления дескриптора.
rotation Ориентация ручки.
position Центр ручки в трехмерном пространстве.
size Размер ручки. Примечание. Используйте HandleUtility.GetHandleSize, если вы хотите иметь дескрипторы постоянного размера экрана..

Возвращает

Quaternion Новое значение поворота, измененное взаимодействием пользователя с маркером. Если пользователь не перемещал дескриптор, он вернет то же значение, которое вы передали в функцию.

Описание

Создаёт дескриптор неограниченного поворота.

Ручка может свободно вращаться по всем осям. Гизмо вращения не имеет видимых осей и представляет собой просто круг в представлении «Сцена». Пользователи могут щелкнуть и перетащить внутри круга, чтобы обеспечить поворот входных данных для вашего сценария редактора.

Дескриптор FreeRotate виден в представлении сцены.
// Назовите этот скрипт "FreeRotateEditor" using UnityEngine; using UnityEditor; [CustomEditor(typeof(FreeRotate))] [CanEditMultipleObjects] public class FreeRotateEditor : Editor { public void OnSceneGUI() { FreeRotate t = (target as FreeRotate); EditorGUI.BeginChangeCheck(); Quaternion rot = Handles.FreeRotateHandle(t.rot, Vector3.zero, 2); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Free Rotate"); t.rot = rot; t.Update(); } } }

И скрипт, прикрепленный к этому дескриптору:

// Name this script "FreeRotate" using UnityEngine; [ExecuteInEditMode] public class FreeRotate : MonoBehaviour { public Quaternion rot = Quaternion.identity; public void Update() { transform.rotation = rot; } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3