因为要处理很多模型, 所以写了个脚本,
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(ModelInfo))] //这句的意思是, 这个编辑器是为Modelinfo的脚本而设置的. 物体挂了这个脚本之后, 就会有这个编辑界面显示
public class PlayerMaker : Editor {
public override void OnInspectorGUI ()
{
var maker= (ModelInfo)target; //获取这个物体的ModelInfo脚本
if (GUILayout.Button ("设置模型")) {
maker.MakeModel (); //绘制一个按钮点击之后执行, ModelInfo的一个方法.
}
}
}
注意的是, 在编辑器模式下, 一样是可以获取物体的tag, 修改tag, 一样可以获取脚本之类的, 可以删除脚本, 增加脚本, 都是可以的, 不过删除脚本用的是DestroyImmidiate() 这样才可以, 用GameObject.Destroy 是不可以的.
不过测试了一下发现在4.7.1 的时候, 编辑器下GameObject.DestroyImmediate(gameobject) 这样, 删掉之后, 编辑器会报错. 虽然确实是删除了