Unity 经典教程 Editor扩展之Selection的使用。主要介绍使用Selection对于选择的物体进行操作,本节简单通过使用Selection设计一个实现删除选中物体的案例,具体如下:
工具/原料
Unity
Unity Editor
一、基本概念
1、Selection:Access to the selection in the editor.
2、Selection.objects:The actual unfiltered selection from the Scene.
二、具体操作
1、打开Unity,并且新建一个空工程,创建之后Unity的界面如下图
2、在工程里新建一个文件夹,并且命名“Editor”,在“Editor”文件夹下新建一个脚本“SelectionTest”,然后选中脚本右键“Open C# Project”或者双击打开脚本,如下图
3、在脚本编辑区域,引入“UnityEditor”,使用“MenuItem”新建个删除禅旄褡瘦命令,并且完成对应的静态函数,其中使用“Selection.objects惯墀眚篪”来收集鼠标选中的物体,然后完成点单删除选中物体的Demo操作,如下图
4、编译正确之后,回到Unity界面,新建一个“Cube”用以删除,然后选中该“Cube”,再单击菜单栏“MyTools”下拉菜单“MyDelete”删除选中的“Cube”,具体如下图
5、使用“GameObject.DestroyImmediate()”函数的弊端就是删除后不能撤销回退上一操作,在“Edit”菜单下,我们看到的回退操作还是上一步骤的新建物体操作,如下图
6、回到脚本,新建一个删除函数,使用可以回退的“Undo.DestroyObjectImmediate()”函数进行删除动作,代码以及代码说明如下图
7、编译正确后,回到Unity界面,选中“Cube”,执行“MyTools”-“M鲻戟缒男yUndoDelete”进行删除操作,然后在“Edit”就可以回退上一遘抟斟喏步骤的删除动作,具体如下图
8、到此,Unity 经典教程 Editor扩展之Selection的使用讲解结束,更多资料可参见 Unity Manul 手册,谢谢