欢迎光临散文网 会员登陆 & 注册

【编辑器扩展篇】二、扩展Hierarchy视图

2023-07-17 00:42 作者:nodwl  | 我要投稿

    Hierarchy视图中出现的都是游戏对象,这些对象之间同样具有一定的关联关系。我们可以用树状结构来表示游戏对象之间复杂的父子关系。Hierarchy视图中的游戏对象会通过摄像机最终投影在发布的游戏中。


1、拓展菜单

    在Hierarchy视图中,也可以对Create菜单项进行扩展。

拓展菜单
效果图


2、拓展布局

    在Hierarchy视图中,同样可以对布局进行拓展。

拓展布局
效果图

3、重写菜单

    Hierarchy视图中的菜单可以在原有基础上拓展,如果想彻底抛弃它的菜单项,就需要我们重写菜单,先用鼠标选择一个游戏对象,点击右键即可弹出我们的重写菜单,这个菜单项已经和Unity自带的完全不一样了,它的工作原理就是监听点击事件,打开一个新的菜单窗口。

重写菜单1
效果图

    在上述代码中,使用Event.current来获取当前的事件。当监听到鼠标抬起的事件后,并且满足游戏对象的选中状态,开始执行自定义事件。其中,EditorUtility.DisplayPopupMenu用于弹出自定义菜单,Event.current.Use()的含义是不再之星原有的操作,所以就实现了重写菜单。

    此外,Hierarchy视图还可以重写系统自带的菜单行为。

重写菜单2

   

效果图

 因为系统自带的菜单创建Image时会自动勾选RaycastTarger,但我们重写了Image组件的菜单,就避免了图片不需要处理点击事件时带来的而外开销,但需要通过脚本自行创建Image对象和组件。接着,获取到Image组件对象,直接设置它的raycastTarget属性即可。


【编辑器扩展篇】二、扩展Hierarchy视图的评论 (共 条)

分享到微博请遵守国家法律