在选择时突出显示时,如何在场景中始终显示句柄?

时间:2018-01-12 09:26:31

标签: unity3d unity3d-editor

我想让编辑器中的所有句柄显示,即使没有选择给定的游戏对象,这样当鼠标点悬停在给定的句柄上时,它变得可以选择。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

  

请参阅here,如何制作自定义句柄?

     

建议使用JetBrains DotPeek

     

最重要的事情要理解的是(A)使用HandleUtility.nearestControl和HandleUtility.hotControl来管理输入焦点,使用GUI生成的ID由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;
   }
}