当前位置: 首页 > news >正文

[Editor]Unity Editor类常用方法

[Editor]Unity Editor类常用方法

https://www.cnblogs.com/zhaoqingqing/p/3944718.html

[Editor]Unity Editor类常用方法

文章目录[点击展开](?) [+]

 

作者:@qingqing-zhao
本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/3944718.html

Editor文档资料

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

利用unity3d属性来设置Inspector面板的特殊行为: http://www.360doc.com/content/15/1205/14/25502502_518083734.shtml

--------------分隔线------------------

一些比较常用的Editor功能我在之前的博客中也有提到过所以就不详细写啦,今天浏览到 麒麟子(Alex) 的博客,写的很全面,转载部分内容过来大笑

EditorApplication(主应用程序类)

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

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

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

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

BaseHierarchySort(对象排序)

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

image

EditorUtility

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

image

参见:http://game.ceeger.com/Script/EditorUtility/EditorUtility.html

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<Font>("Assets/font.ttf");

 

 

 

 

相关文章:

  • Unity Editor基础篇
  • unity 获取场景所有物体
  • c# 通过反射获取私有方法
  • Java 得到泛型中得到T.class
  • Animation 或者 Fbx 动画事件
  • AndroidStudio连接MUMU模拟器
  • Java_Object_wait()、notify()、notifyAll()
  • java如何创建一个泛型数组
  • Java中创建泛型数组
  • java创建泛型数组
  • Android Studio 代码格式化自动换行问题(强迫症)
  • wwise eventid soundbank
  • 简便快捷:如何在Wwise中管理您的SoundBanks
  • Unity项目接入Wwise
  • 资源几点想法
  • 「面试题」如何实现一个圣杯布局?
  • 【面试系列】之二:关于js原型
  • CSS居中完全指南——构建CSS居中决策树
  • Fundebug计费标准解释:事件数是如何定义的?
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • JS 面试题总结
  • Phpstorm怎样批量删除空行?
  • python 学习笔记 - Queue Pipes,进程间通讯
  • SQLServer插入数据
  • 判断客户端类型,Android,iOS,PC
  • 扑朔迷离的属性和特性【彻底弄清】
  • 为什么要用IPython/Jupyter?
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ​queue --- 一个同步的队列类​
  • #{}和${}的区别?
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (5)STL算法之复制
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二十四)Flask之flask-session组件
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • 、写入Shellcode到注册表上线
  • .NetCore部署微服务(二)
  • ??在JSP中,java和JavaScript如何交互?
  • @property @synthesize @dynamic 及相关属性作用探究
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • []C/C++读取串口接收到的数据程序
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [2023年]-hadoop面试真题(一)
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [BZOJ] 3262: 陌上花开
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [IE9] IE9 Beta崩溃问题解决方案