Unity3D对编辑器的扩展提高了开发的效率,一般我们使用的是对Inspector面板和Scene视图的扩展,其实对于它们的扩展有一定的局限性。那今天就和大家讨论一下对选中对象的操作处理(Selection类)即用鼠标选中对象,就可以对其进行一些操作比如获取位置信息或者添加子物体等。其极大的增加了编辑器扩展的灵活性,对于开发人员来说是提高开发效率的利器。下面就直接上干货啦!!!
今天我们就用两个例子来讨论Selection类。
1、 第一个例子是把选中的游戏对象的位置信息保存下来,这个是我们在开发中经常用到的。如图创建了10个Cube,分别修改它们的Postion坐标。
下面就到了写代码的时间啦,代码片段如下:
**注意事项:
(1)、引用UnityEditor;
(2)、脚本继承Editor ;
(3)、将脚本放到Editor文件下,如果没有那就创建一个Editor文件夹;**
using UnityEngine;
using System.Collections.Generic;
using UnityEditor;
public class SelectionTest : Editor {
//添加菜单
[MenuItem(@"Selction/GetTransforms")]
public static void GetTransforms()
{
Dictionary dic = new Dictionary();