Unity5.3 的一项新功能就是Json的序列化,支持嵌套使用,可以把json字符串转成对象,把对象转成json字符串. using UnityEngine; using UnityEditor; using System.Collections; using System; public class NewBehaviourScript : MonoBehaviour { void Start () { MyObject myObject = new MyObject(); myObject…
比如编辑模式下对场景或者特定文件夹有一些操作可以在这个面板里来完成.. 代码如下. using UnityEngine; using System.Collections; using UnityEditor; [CustomEditor(typeof(UnityEditor.DefaultAsset))] public class CustomInspector : Editor { public override void OnInspectorGUI () { string path =…
OnGUI是Unity上一个时代的UI系统,而现在运行时的UI系统已经被UGUI取代,但是Editor的UI还是在用老的这一套GUI系统.比如unity编辑器里的所有窗口,布局,按钮,拖动条.滚动等等都是用GUI来写的.GUI提供了一套Event事件系统,虽然不能模拟它的事件(其实是可以发的 EditorWindow.SendEvent ),但是确可以进行拦截. 比如说: 1.限制Hierarchy视图的树状结构.(让某些对象不可随意移动层次结构) 2.限制Project里的资源不能任意拖动(限…
Unity版本5.3.2 如下图所示,ToolBar就是Unity顶部的那一横条.这里的所有按钮一般情况下都得我们手动的用鼠标去点击.这篇文章我们说说如果自动操作它们 1.自动点击左边四个按钮 (拖动.坐标.旋转.缩放.矩形)     1 2 3 4 5 6 7 8 9 10 11 12 13 14 [MenuItem("ToolBar/Tools")] static void ToolsMethod() { if(Tools.current  == Tool.View) Tools.…
Unity版本5.3.2 如下图所示,ToolBar就是Unity顶部的那一横条.这里的所有按钮一般情况下都得我们手动的用鼠标去点击.这篇文章我们说说如果自动操作它们 1.自动点击左边四个按钮 (拖动.坐标.旋转.缩放.矩形) [MenuItem("ToolBar/Tools")] static void ToolsMethod() { if(Tools.current == Tool.View) Tools.current = Tool.Move; else if(Tools.cur…
本文转自: http://www.xuanyusong.com/archives/3680雨松MOMO Unity提供了强大的Editor功能, 我们可以很轻易的在EditorGUI中绘制任意的属性.比如我之前写的文章 http://www.xuanyusong.com/archives/2202 那么问题就来了,如果我有多属性想共用同一段自定义控件,那么这种方法我就需要在多份代码里绘制控件了OnInspectorGUI 这一节中我们需要用到两个全新的自定义属性PropertyAttribute…
http://www.xuanyusong.com/archives/3727 感谢楼下的牛逼回复更正一下,我表示我也是才知道.. 其实不需要实例化也能查找,你依然直接用GetComponentsInChildren<>(true),对传true即可...这样搞还很麻烦...唯一关注是能否把Missing的脚本序列化找出来?? 使用 GetComponentsInChildren<>(true) 可以直接把Project视图里的子对象找出来!!!! return; 代码是这样的  …
今天无意间发现了一篇好文章,也让我解决了一个很久都没解决的难题.问题是这样的,假如我想去拓展Unity自带的inspector但是并不想影响原有布局. 比如下面这段代码:     1 2 3 4 5 6 7 8 9 10 11 12 13 [CustomEditor(typeof(RectTransform))] public class MyTest : Editor { public override void OnInspectorGUI () { base.OnInspectorGUI…
内存 使用Profiler可以查看某个资源的内存占用情况,但是必须启动游戏,并且待查看的资源已经载入游戏中.我希望的是不启动游戏,也能看到它的内存好做统计. 硬盘 由于unity中的资源压缩格式记录在meta中所以,在文件夹中看到的资源大小是不正确的.打开unity需要选择一个资源,比如Texture.然后在右侧Inspector面板最下面可以看见它真实的硬盘占用.这个数据我也希望那个可以脚本取到,这样我好做统计工具. 在Project视图中先选择一个Texture  然后点击menuitem…
Hierarchy视图中选择一个游戏对象以后通过右键可以打开一个unity默认菜单,一般情况下都可以满足我们,但是我想真对某些特殊的游戏对象而展开特殊的菜单.如下图所示,比如这样: 代码: using UnityEngine; using UnityEditor; using System.Collections; public class MyHierarchyMenu { [MenuItem("Window/Test/yusong")] static void Test() { }…