Custom Editors 加速游戏制作过程的关键是为哪些频繁使用的组件创建自定义的编辑器,为了举例,我们将会使用下面这个极其简单的脚本进行讲解,它的作用是始终保持一个对象注视某一点. public class LookAtPoint : MonoBehaviour { public Vector3 lookAtPoint = Vector3.zero; void Update () { transform.LookAt (lookAtPoint); } } 这个脚本会让一个对象保持面向世界空…
Extending the Editor Unity允许你使用自己定制的inspectors和Editor Windows扩展编辑器,并且你可以使用定制的Property Drawers定义属性集在inspector中如何展示,这一块讲述如何使用这些特性. Editor Windows 你可以在你的app中创建任意数量的定制窗口.它们的表现就像Inspector,Scene或者其它内置的窗口.这是给你的游戏添加一个子系统用户接口的绝佳方式.[比如地图编辑器] 做一个自定义的Editor Wind…
扩展Inspector界面 继承自Editor,添加CustomEditorAttribute,传入定制的类型 定制显示的类型要求: 类型中所有的public 字段都会自动暴露给Inspector编辑器 类型中非public 字段,可通过使用SerializeFieldAttribute来暴露给Inspector 使用HideInspectorAttribute可隐藏字段 Unity消息接口: private void OnEnable(); private void OnDisable();…
public static List<T> GetAssetsWithScript<T>(string path) where T:MonoBehaviour { T tmp; string assetPath; GameObject asset; List<T> assetList = new List<T> (); string[] guids = AssetDatabase.FindAssets ("t:Prefab", new s…
将Test1脚本挂在摄像机上 ​ 如图展示 ​ 下面我们需要在代码中动态的编辑它,请在你的Project视图中创建一个Editor文件夹,把MyEditor放进Editor文件夹中 ​ 在OnInspectorGUI中绘制控件 EditorGUI和EditorGUILayout可创建编辑器控件 注意:在编辑器中修改mRectValue和texture的内容,运行项目和关闭unity重新打开,不会保存 需要将Test1依附的对象拖成预制体,每次修改需要Apply一下预制体 ​…
扩展系统自带组件Inspector ​ 可以在系统摄像机组建上添加一个按钮,这样就可以单独处理逻辑了 ​…
Inspector视图中的get/set使用 get  set使用起来很方便,但编辑时,在Inspector视图中问题就来了,因为get/set的属性即使是public了,但是在Inspector视图中依然不显示 我偏偏就像在编辑器应set的操作怎么办?我想做的是在set里面加一个自己写的方法 MyEditor4放在Editor目录下 ​ Test4挂在任意游戏对象上 ​ 如图所示,在编辑器模式下用鼠标修改width的值,log输出说明了get set已经响应了 ​…
Scene视图是编辑游戏模型的地方,其实它还可以进行编辑,如下图所示,我给Scene视图做了简单的编辑 Scene视图的扩展是基于对象的,意思是你必须在Hierarchy视图中选择一个对象才行,Hierarchy视图中选择不同的对象可以有不同的Scene视图.图中我么创建了一个立方体对象,接着给它绑定了一个Test3的脚本 Test3 在Project视图中创建一个Editor文件夹,把MyEditor放进去 最后再说一下,在OnSceneGUI()中只能通过Handles绘制新视图,如果你想引…
Unity支持自行创建窗口,也支持自定义窗口布局,在Project视图中创建一个Editor文件夹,在文件夹中创建一条脚本 自定义窗口需要让脚本继承EditorWindow在设置MenuItem,此时在Unity导航菜单栏中GameObject-window就可创建一个自定义窗口​ EditorWindow.GetWindowRect()和EditorWindow.GetWindow()都可以创建一个窗口,前者可以规定窗口的区域,后者通过鼠标动态的延伸窗口.参数1表示窗口的对象,参数2表示窗口的…
编辑器 Special Folders Hidden Folder(start with .) Standard Assets:第一批加载的文件 Editor:只在编辑下才能使用, Plugins Resources:原生资源 Editor Default Resources Gizmos:Gizmos资源 StreamingAssets:自定义资源 编辑器功能扩展-EditorWindow 自定义一个编辑器窗口界面 Unity的编辑器的UI操作都很难用,继承EditorWindow 在OnGU…