最近学习了Unity自定义编辑器窗口,下面简单总结,方便用到时回顾. 新建一个脚本: using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 自定义的编辑器窗口 /// </summary> public class MyWindow : EditorWindow { string myString = "Hello World !"; // 文本内容 b
在使用unity3d的过程中,时常会需要从场景中寻找或者调用一个对象,而Unity就提供了一个贴心的功能——拖拽.用鼠标拖一下中比写堆代码直观的多吧!但是Unity提供的远远不止这一丢丢,下面我们来简单了解下UnityEditor部分的内容. 编辑器最最基本的用法呢就是编辑Inspector. 而Inspector中最最基本的就是把字段显示出来.给几个例子: [code]csharpcode: using UnityEngine; using System.Collections; // 这里没
效果图: using System.IO; using System.Text; using UnityEditor; using UnityEngine; using UnityEngine.UI; /// <summary> /// 将目标文件夹下所有Prefab的丢失.默认字体的位置输出,并替换成目标字体 /// </summary> public class BatchModifyFontWindow : EditorWindow { Font toFont = new F
http://www.cnblogs.com/zhaoqingqing/p/3812368.html 1.Apply to Prefab [把改动应用到Prefab] if (GUILayout.Button("Apply Collider To Prefab")) { PrefabUtility.ReplacePrefab(simActor.Preview, PrefabUtility.GetPrefabParent(simActor.Preview), ReplacePrefabO
1. BeginFadeGroup(float value) 这是EditorGUILayout中的一个函数,用来隐藏/显示在它包含的组中的内容.value则是显示内容的量,范围是0-1 . 比较下未使用/使用BeginFadeGroup的窗口: [code]csharpcode: using UnityEngine; using System.Collections; using UnityEditor; // 编辑器命名空间的引用 public class Editor2 : EditorW
1. BeginToggleGroup() BeginToggleGroup函数是定义了一个控制范围,可以控制该范围中的GUI是否启用,看下演示代码: [code]csharpcode: using UnityEngine; using System.Collections; using UnityEditor; // 编辑器命名空间的引用 public class Editor2 : EditorWindow // 编辑器类 { bool _toggle; Color _color; stri
1. CurveField创建的是一个类型为AnimationCurve的曲线变量,看代码: [code]csharpcode: using UnityEngine; using System.Collections; using UnityEditor; // 编辑器命名空间的引用 public class Editor2 : EditorWindow // 编辑器类 { private AnimationCurve _animationCurve = new AnimationCurve()
1. Foldout.HelpBox 折叠菜单,大家都知道,不具体解释了,直接代码.因为折叠菜单中必然是有内容才能看到效果,所以顺带把HelpBox(提示框)也说了. [code]csharpcode: using UnityEngine; using System.Collections; using UnityEditor; // 编辑器命名空间的引用 public class Editor2 : EditorWindow // 编辑器类 { private bool foldout; //
BatchModifyTexture.cs using UnityEngine; using System.Collections; using UnityEditor; using System.IO; public class BatchModifyTexture { [MenuItem("Assets/BatchModifyTexture")] static void Init() { //获取Project视图中的选中目录下的所有图片 Object[] objects = Se
using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using System.IO; public class PostProcessBuild { [PostProcessBuildAttribute(1)] public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject) { if (target == Bu
入坑最后发现就几句话,真是气死人了.发现自己掉坑里,脑子就变笨了,把代码贴给你们,保持大脑清醒. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; public class MI : EditorWindow { bool iert; List<string> aa = new List<string>(); [MenuItem(&quo
编辑器控制特效播放 Unity的动画编辑器不能预览粒子系统的播放,为了方便预览特效,设想制作一个预览特效的工具,通常一个特效有三种组件: - Animation - Animator - ParticleSystem 其中Unity编辑器在编辑器模式下会控制粒子的播放,所以这里控制特效播放的功能只能在播放模式下使用. 代码 using UnityEngine; using UnityEditor; using System; public class EffctPlayBackWin : Edi