代码: using UnityEditor;using UnityEngine; public class ChangeValue : ScriptableWizard {                              public int health = 10;    public int speed = 23;       [MenuItem("Tools/CreateWizard")]    static void CreateWizard()    {      …
unity 编辑器扩展简单入门 通过使用编辑器扩展,我们可以对一些机械的操作实现自动化,而不用使用额外的环境,将工具与开发环境融为一体:并且,编辑器扩展也提供GUI库,来实现可视化操作:编辑器扩展甚至也可以"补充"IDE缺失的一些内容,让IDE更加人性化. 主要内容 MenuItem无界面操作 窗口 优化内置操作 简单工具窗口 Gizmos改造场景显示 一.MenuItem无界面操作 在 assets文件夹下创建Editor文件夹,创建一个新的c#脚本: using System.Co…
Unity编辑器扩展chapter1 unity通过提供EditorScript API 的方式为我们提供了方便强大的编辑器扩展途径.学好这一部分可以使我们学会编写一些工具来提高效率,甚至可以自制一些小的插件应用的项目工程中去,达到复用的目的.今天首先创建一个新场景生成的菜单项,生成的场景已经绑定好需要的游戏对象及脚本. Tips:1.官方API 2.编辑器扩展脚本都需放在Editor文件夹下,Editor的层级和数目没有要求 EditorUtil.cs :编辑器扩展类,向外部提供编辑器扩展方法…
Unity编辑器扩展 Chapter7--使用ScriptableObject持久化存储数据 unity unity Editor ScirptableObject  Unity编辑器扩展 Chapter7--使用ScriptableObject持久化存储数据 OverView API ScriptableObject是unity中的一种特别的类型,它不需要挂在场景中的对象上.它可以视作asset资源一样,存储在项目文件中.在一些特殊的情况下要比JSON,XML及TXT方式来存储持久化数据要受益…
扩展编辑器实际上就是在unity菜单栏中添加一些按钮,可以一键执行一些重复性的工作. 一.添加按钮 1.简单使用MenuItem特性 using UnityEngine; using UnityEditor; public class Tools { [MenuItem("Tools/test")] static void Test() { Debug.Log("test"); } } 2.路径设置 在方法上添加MenuItem特性,在MenuItem的括号中传入路…
二. 使用Gizoms绘制网格及矩阵转换使用 1. 创建Leve类,作为场景控制类: using UnityEngine; //使用namespace方便脚本管理 namespace RunAndJump { //使用部分类partial将类依据不同的功能分布到各个文件中,便于功能区分个管理 public partial class Level : MonoBehaviour { [SerializeField] ; [SerializeField] ; [SerializeField] pri…
自定义检视面板的使用: 先是定义一个脚本文件,我们来修饰它的检视面板: [HelpURL("http://www.baidu.com")] public class Atr : MonoBehaviour { public int id; public string Name; [Multiline()] public string BackStory; public float health; public float damage; public float weaponDamag…
学习NGUI插件的时候,突然间有一个问题为什么它这些属性可以通过弹出窗口来选中呢? 而我自己写的组件只能使用手动拖放的方式=.=. Unity开发了组件Inspector视图扩展API,如果我们要写插件方便别人来使用,使用编辑器扩展API让我们的组件显示的更华丽,使用方便 Texture弹出选择框选中图片赋值: 1个组件对应1个Edit扩展器,继承Editor必须让入Editor文件夹下 MyComponent: using UnityEngine; using System.Collectio…
http://blog.csdn.net/akof1314/article/details/38129031 假设有一个敌人生成器类,其中有个属性range用来表示敌人生成的范围区域大小,那么可以用OnDrawGizmos函数来绘制它在场景视图所代表的区域大小,便于开发调试.这个敌人生成器类,类似如下: 12345678910111213141516171819   using UnityEngine;using System.Collections; public class EnemySpa…
代码: [MenuItem("Tools/Test",false,1)]    static void Test()    {        Debug.Log("test");      } 注意:MenuItem中第一个参数:需要创建选项在工具栏中的路径,此路径的父目录可以是Unity中已存在的,也可以自己直接同子目录一起创建,例如创建“MyApp/FPS”路径. MenuItem中第二个参数:用于菜单项是否启用,后面会详细介绍. MenuItem中第三个参数:…