Я хотел бы, чтобы все ручки в моем редакторе отображались даже тогда, когда данный игровой объект не был выбран, таким образом, что когда точка мыши наводится на определенный дескриптор, он становится выбираемым. Как я могу это сделать?
Как я могу держать ручки всегда видимыми в сцене, выделяя при выборе?
Ответ 1
См. здесь, как сделать пользовательские дескрипторы?
Рекомендуется JetBrains DotPeek.
Наиболее важными для понимания являются (A) использование HandleUtility.nearestControl и HandleUtility.hotControl для управления фокусом ввода, с идентификаторами, сгенерированными GUIUtility.GetControlID() и (B), как OnSceneGUI вызывается несколько раз для разных события, требующие очень различной обработки.
Используйте его как:
void OnSceneGui()
{
MyHandles.DragHandleResult dhResult;
Vector3 newPosition = MyHandles.DragHandle(position, size, Handles.SphereCap, Color.red, out dhResult);
switch (dhResult)
{
case MyHandles.DragHandleResult.LMBDoubleClick:
// do something
break;
}
}