整理Unity 编辑器的相关知识
来源:互联网 发布:linux用yum安装rpm包 编辑:程序博客网 时间:2024/05/20 17:07
最近要做宣传动画,准备制作编辑器相关的东西,这里来把相关的API整理一下。
参考:http://blog.csdn.net/jjiss318/article/details/7435708
一 、Editor
继承这个类可一对一个类的视窗进行修改 ,比如:
using UnityEngine;using UnityEditor;using System.Collections;//分析它的结构 逐步寻找执行[CustomEditor(typeof(TriggerCellEx))]public class TriggerCellExInspector : Editor {public override void OnInspectorGUI (){if(GUILayout.Button("Open TriggerCellEditor",GUILayout.Height(100))){TriggerCellEditor.CreatTriggerCellEditor();}TriggerCellEditor.SetTriggerCell(target as TriggerCellEx);}}Editor 的常用类:
二 、GUILayout 、EditorGUILayout
三、ScriptableObject
一个常见的应用就是可以将脚本资源化, 一般不用窗口的编辑拓展,
四、ScriptableWizard
需要对拓展的参数进行设置,然后再进行功能触发的,可以从这个类派生。它已经定制好了四个消息相应函数,开发者对其进行填充即可。
(1) OnWizardUpdate
当扩展窗口打开时或用户对窗口的内容进行改动时,会调用此函数。一般会在这里面显示帮助文字和进行内容有效性验证;
(2)OnWizardCreate
这是用户点击窗口的Create按钮时进行的操作,从ScriptableWizard的名字可以看出,这是一种类似向导的窗口 ,而这种窗口我们在Visual Studio中经常会使用到,如下图:
只不过Unity3D中的ScriptableWizard窗口只能进行小于或等于两个按钮的定制,一个就是所谓的Create按钮,另外一个则笼统称之为Other按钮。ScriptableWizard.DisplayWizard这个静态函数用于对ScriptableWizard窗口标题和按钮名字的定制。
(3) OnDrawGizmos
在窗口可见时,每一帧都会调用这个函数。在其中进行Gizmos的绘制,也就是辅助编辑的线框体。Unity的Gizmos类提供了DrawRayDrawLine ,DrawWireSphere ,DrawSphere ,DrawWireCube ,DrawCubeDrawIcon ,DrawGUITexture 功能。这个功能在Unity3D 的3.4版本中测试了一下,发现没有任何Gizmos绘制出来
(4) OnWizardOtherButton
本文在(2) 中已经提及,ScriptableWizard窗口最多可以定制两个按钮,一个是Create,另外一个称之为Other,这个函数会在other按钮被点击时调用。
五、EditorWindow
较复杂的功能,需要多个灵活的控件,实现自由浮动和加入其他窗口的tab,可以从这个类派生,这种窗口的窗体功能和Scene,Hierarchy等窗口完全一致。下面这个例子实现了GameObject的空间对齐和拷贝(也就是将GameObject A作为基准,选中其他的GameObject进行对准或空间位置拷贝),对齐和拷贝提高了了开发者摆放物件的效率;另外还有随机和噪声,后两者用于摆放大量同类物件的时候可以使用,比如一大堆散落的瓶子。
大家对ScriptableObject, ScriptableWizard, EditorWindow和Editor应该都有应有了一定了解。其中EditorWindow和Editor都继承了ScriptableObject,而ScritableWizard则继承了EditorWindow派。在实际开发应用中,应该根据需求的特点,灵活使用这四个类进行编辑器扩展
- 整理Unity 编辑器的相关知识
- vi编辑器的相关知识
- 整理View的相关知识
- 进程相关知识的整理
- 整理一下Unity界面的知识
- Unity相关知识
- 编辑器设置知识整理
- [Unity编辑器]与编辑器相关的属性与类
- [Unity编辑器]与编辑器相关的属性与类
- 【黑马程序员】CSS的相关知识整理
- IP地址库的相关知识整理
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- JVM的相关知识整理和学习
- win7_oracle11g_64位连接32位PLSQL_Developer
- MyBatis报Parameter not found的Exception 处理
- 面向对象设计六大原则
- LeetCode : Reverse Integer [java]
- 着弹点
- 整理Unity 编辑器的相关知识
- 中国式社交
- HDU 2512 一卡通大冒险 (集合划分)
- @property的默认属性
- uva 11177 不明所以的凸多边形与圆的面积模板——二分
- Java复习笔记(三)——文档注释
- iOS - 功能模块 - 幻灯片切换
- HBase分布式安装指南
- c\c++中的形参与实参