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

Handles.RotationHandle

Объявление

public static Quaternion RotationHandle(Quaternion rotation, Vector3 position);

Параметры

rotation Ориентация ручки.
position Центр ручки в трехмерном пространстве.

Возвращает

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

Описание

Создаёт маркер поворота сцены.

Это будет вести себя как встроенный инструмент поворота в Unity. Если вы что-то присвоили Undo.SetSnapshotTarget, оно будет полностью работать с Undo. Примечание. Используйте HandleUtility.GetHandleSize, если вы хотите иметь дескрипторы постоянного размера экрана.

Поверните прикрепленный объект с помощью маркера вращения.
// Назовите этот скрипт "RotateAtPointEditor" using UnityEngine; using UnityEditor; [CustomEditor(typeof(RotateAtPoint))] [CanEditMultipleObjects] public class RotateAtPointEditor : Editor { public void OnSceneGUI() { RotateAtPoint t = (target as RotateAtPoint); EditorGUI.BeginChangeCheck(); Quaternion rot = Handles.RotationHandle(t.rot, Vector3.zero); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Rotated RotateAt Point"); t.rot = rot; t.Update(); } } }

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

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