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