修改meta文件的内容:
AssetImporter ai = AssetImporter.GetAtPath("Assets/XP");//获取
ai.userData = "XP";//修改
ai.SaveAndReimport();//保存
关闭Unity回调函数,在关闭unity时加个提示
EditorApplication.wantsToQuit
可以选择放在带有[InitializeOnLoad]特性的静态构造中添加
在Scene中绘图
Handles类
放在OnDrawGizmos()周期函数中
Handles.Label:显示文字
Handles.Slider:显示一个箭头
特性 [InitializeOnLoadMethod]
,放在方法前,当unity编辑器加载时,会自动调用该静态方法
[RuntimeInitializeOnLoadMethod]
Play之前调用
设置unity的选择模式,
Tools.current
自动点击和监听回调Play,Pause,Step
点击:EditorApplication.ExecuteMenuItem(“Editor/Play(Pause、Step)”);
回调:EditorApplication.playmodeStateChanged
双击Assets的文件回调[OnOpenAssetAttribute]
用于在Unity中打开资源的回调特性(例如,在项目浏览器中双击资源触发回调)
将这个特性放在静态方法前,该方法在Unity即将打开资源时被调用。方法具有以下签名之一:
static bool OnOpenAsset(int instanceID,int line)
static bool OnOpenAsset(int instanceID,int line,int column)
如果你打开了资源,返回true,如果是外部工具打开的,返回false
例:
[OnOpenAssetAttribute(1)]
public static bool step1(int instanceID, int line) {
string name = EditorUtility.InstanceIDToObject(instanceID).name;
Debug.Log(“打开资源步骤1 (” + name + “)”);
return false; // we did not handle the open
}
//Step2有一个索引为2的属性,因此将在step1之后调用
[OnOpenAssetAttribute(2)]
public static bool step2(int instanceID, int line) {
Debug.Log(“打开资源步骤2(” + instanceID + “)”);
return false; // we did not handle the open
}
OnOpenAssetAttribute 有一个选项可以在回调中提供一个顺序索引,从 0 开始。如果您有多个 OnOpenAssetAttribute 回调,并且您希望它们以特定顺序被调用,这将非常有用。回调按顺序调用,从零开始。
给创建的类创建自定义编辑器[CustomEditor(tpyeof(class))]
在Unity中创建脚本时,默认情况下,此脚本继承MonoBehaviour,因此可作为附加到游戏对象的组件。将一个组件放在游戏对象上时,Inspector会显示一个默认界面。通过CustomEditor特性可以自定义Inspector面板,
创建一个类,该类必须继承自 Editor。CustomEditor 特性告知 Unity 应该作为哪个组件的编辑器。CanEditMultipleObjects 特性告诉 Unity 您可以使用此编辑器来选择多个对象并同时更改所有对象。
重写OnInspectorGUI方法,在里面自定义GUI。GUI相关类和方法进行布局Inspector面板
在OnScene方法中可以自定义Scene GUI
获取要绘制的类型对象:父类Editor中target
给文件资源的Inspector面板自定义GUI
也是通过 CustomEditor 进行自定义
声音文件:AudioClip
脚本:MonoScript
场景文件:SceneAsset
文件夹:DefaultAsset
如何查看这个文件对应的类