1.Inspector :写在继承自 MonoBehaviour 里 方便测试调用 ?? ?[ContextMenu ("方法名")] ?? ?public void XXX() ?? ?{ ?? ? ? ? //内容 ?? ?} 在Inspector 面板 脚本右上角 展开找到自定义方法 运行时调用
2.编辑器菜单栏 继承自 Editor 要放在Editor文件夹下? ?[MenuItem("Tools/SelectGameObjectsReplaceShader")] ?//菜单栏路径 方法必须静态 ? ? static void SelectGameObjects() ? ? { ? ? } (1)Selection.activeGameObject 场景Inspector 选中的物体 可以获取选中及子物体所有的组件 用于查找 替换 或者 Selection.objects (2)结合编辑器 窗口相关功能 打开窗口搞事情 可以参考 Unity3D编辑器的使用及扩展 https://www.cnblogs.com/zhonghu/p/11102775.html
3.Hierarchy面板上 选中物体 右键方法调用:参考雨松大大 的 Unity3D研究院编辑器之重写Hierarchy的右键菜单(二十二) https://www.xuanyusong.com/archives/3893 ?2016年02月02日 于 雨松MOMO程序研究院 发表 注意:(1) [InitializeOnLoadMethod] ?? ?static void StartInitializeOnLoadMethod() ?? ?{ ?? ??? ?//EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI;//注释的话 就不会被覆盖 ?? ?} (2)[MenuItem("GameObject/我的/Test/二级/Test2", priority = 0)] MenuItem 第一个路径 为“GameObject”就可以 选中物体 右键调用方法,在上边的菜单栏 GameObject也能找到
再 结合 Selection.activeGameObject/Selection.objects 就可以对其及子物体进行操作了
4.Project窗口 ?[MenuItem("Assets/Svn Commit")] MenuItem 第一个路径 为“Assets”。对于文件夹操作 API不用Selection.objects 而是要用 Selection.assetGUIDs 可以参考 在Unity Project面板右键菜单的拓展 : https://blog.csdn.net/gaobiejiyi/article/details/77481730 挺详细的
以上功能 基于 unity 测试版本:Unity 2019.4.12f1 (64-bit)
|