13

即使未选择给定的游戏对象,我也想让编辑器中的所有手柄都显示出来,这样当鼠标点悬停在给定的手柄上时,它就可以选择。我怎样才能做到这一点?

4

1 回答 1

1

这里,如何制作自定义手柄?

有推荐的JetBrains DotPeek

要理解的最重要的事情是 (A) 使用 HandleUtility.nearestControl 和 HandleUtility.hotControl 来管理输入焦点,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;
   }
}
于 2018-01-22T12:06:55.420 回答