[Editor]Unity Editor类常用方法

简介:



Editor文档资料

Unity教程之-Unity Attribute的使用总结:http://www.unity.5helpyou.com/3550.html

利用unity3d属性来设置Inspector面板的特殊行为: 

EditorApplication(主应用程序类)

这个类提供了许多变量的访问,同时提供了Save等方法。 比如,你可以新建一个编辑器脚本,在它的UPDATE函数里,进行记事,以做定时保存。从而避免不必要的损失。

这个类还提供了新建场景,打开项目等操作。

如果你是在界面下使用UNITY3D,可能这个类的意义不大。 但如果你是基于U3D的命令行来构建一个一键式多平台发布方案。那这个类的地位就举足轻重了。 说到命令行,这个改天有空再和大家细说。 U3D是一个强大的工具,完全可以取代自主研发的引擎。 不管是从自动化部署还是自定义工具上,都很强大。 关键看你打不打算花时间去这样用。

当然我们在制作自己的编辑器工具时也有使用到它来做一些初始化场景的工作。

BaseHierarchySort(对象排序)

在Hierarchy中,所有对象默认是按首字母排序。 如果我想根据创建日期,或者是根据地理位置,又或者根据对象类型来排序,如何做呢。 这就需要用到BaseHierarchySort,我们可以重写它的Compare方法,同时,我们添加几个菜单来做切换。就能使我们的工作很加便利了。

image

EditorUtility

一看明字就知道,这货肯定提供了不少全局函数,并且多半是静态的。比如,你想弹出一个打开文件的对话框,或者保存文件的对话框。或者你要查看场景树中的某个对象是enable与否,都可以通过它来访问。更好的是,他还提供了一个弹出对话框。 你想做一些让用户选择是否确定的,或者显示一个About,可以使它。

image

参见:

EditorWindow

当一个类继承自EditorWindow ,可以调用this.ShowNotification()  它会自动消失,如果想快速移出消息提示:this.RemoveNotification();

文档:http://docs.unity3d.com/ScriptReference/EditorWindow.ShowNotification.html

image

FileUtil(文件工具)

这个类提供了一些文件拷贝,移动位置等操作,在命令行模式进行自动布署的时候,使用居多。

image

Help

在你的编辑器中,如果你觉得你的文字不足以表达,或者需要用户查询相关文档,那你可以使用HELP,它提供了打开网页地址的功能。

image

ObjectPreview(创建自定义预览)

这个类提供了你当前选择的对象数据。 比如,在上面显示攻击和侦测范围的例子中,如果我们只是想让选中的单位才显示预览,那我们可以通过这个类的target来判定。

NGUI示例

可以查看NGUI的UISPriteInspector.cs文件,对Sprite做了预览处理

imageimageimage

Tools(工具类,好的自定义编辑器)

这个类提供了对象批量查找功能,比如,如果我们的工具,想对某一类对象进行打包。 那我们直接使用FindObjectsOfType,拿到所有的对象即可。 TOOL还提供了实例化对象的功能。

AssetDatabase(资源操作)

文档:https://docs.unity3d.com/ScriptReference/AssetDatabase.html

提供对Project视图中的资源进行操作,比如LoadAsset,MoveAsset,DeleteAsset等

注意:这个类的API的路径都是指Assets/下的,比如你要Load某个Font文件,写法如下:

?
1
var newFont = AssetDatabase.LoadAssetAtPath( "Assets/font.ttf" );

  


本文转自赵青青博客园博客,原文链接:http://www.cnblogs.com/zhaoqingqing/p/3944934.html,如需转载请自行联系原作者

相关文章
|
C# 前端开发
WPF中Style文件的引用——使用xaml代码或者C#代码动态加载
原文:WPF中Style文件的引用——使用xaml代码或者C#代码动态加载   WPF中控件拥有很多依赖属性(Dependency Property),我们可以通过编写自定义Style文件来控制控件的外观和行为,如同CSS代码一般。
4776 0
|
7月前
|
容器
基于element-ui的侧边栏及其使用方法
基于element-ui的侧边栏及其使用方法
177 0
Flutter控件之文本Text封装
文本Text比较简单,除了基类BaseWidget所提供的属性之外,又简单的扩展了部分属性,比如图文和富文本,都是系统原生的提供的,做了简单的封装。
124 0
|
开发工具 Android开发 iOS开发
如何使用 Draggable 和 DragTarget 在 Flutter 中创建拖放 UI 元素?
如何使用 Draggable 和 DragTarget 在 Flutter 中创建拖放 UI 元素?
502 0
|
存储 图形学 索引
Unity 编辑器开发实战【Custom Editor】- AudioDatabase Editor 音频库编辑器
Unity 编辑器开发实战【Custom Editor】- AudioDatabase Editor 音频库编辑器
255 1
Unity 编辑器开发实战【Custom Editor】- AudioDatabase Editor 音频库编辑器
|
图形学
Unity 编辑器开发实战【Custom Editor】- 为UI视图制作动画编辑器
Unity 编辑器开发实战【Custom Editor】- 为UI视图制作动画编辑器
262 1
Unity 编辑器开发实战【Custom Editor】- 为UI视图制作动画编辑器
|
图形学
Unity 编辑器开发实战【Editor Window】- Filter 物体筛选工具
Unity 编辑器开发实战【Editor Window】- Filter 物体筛选工具
337 0
Unity 编辑器开发实战【Editor Window】- Filter 物体筛选工具
|
存储 图形学 索引
Unity 编辑器开发实战【Custom Editor】- FSM Editor
Unity 编辑器开发实战【Custom Editor】- FSM Editor
349 0
Unity 编辑器开发实战【Custom Editor】- FSM Editor