Unity Editor Inspector编辑模板】的更多相关文章

效果图: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; [CustomEditor(typeof(test))] public class Edit_test : Editor { test test_scripts; //脚本本体 SerializedObject serObj;//用来获取各脚本变量 SerializedProperty int…
报错信息:Spine.Unity.Editor.AnimationReferenceAssetEditor.OnInspectorGUI () (at Assets/Extention/Spine/Editor/spine-unity/Editor/AnimationReferenceAssetEdito 在Spine使用TimeLine 时 右键--> create --> Spine 创建AnimationReferenceAsset 时出现的这样一个错误 解决方案:找到Sine的Skel…
自定义Inspector面板的步骤: Unity内创建自定义的Inspector需要在Asset的任意文件夹下创建一个名字是Editor的文件夹,随后这个文件夹内的cs文件就会被放在vstu生成的Editor程序集里. 自定义Inspector需要创建一个继承自UnityEditor.Editor的类,并且提供一个[CustomEditor(typeof(Behavior))]类特性标记,其中Behaviour就是要自定义观察器的目标组件类型. 然后在Editor派生类里实现OnInspecto…
预览 在Project视图中,扩展右键菜单,右键 – Create - Text File 创建一个Text文件,或者Lua文件. 关键点 获取当前选择的路径,以Assets路径开头 var selectPath = AssetDatabase.GetAssetPath(Selection.activeObject); C# API 创建一个文件,并指定文件编码格式 File.WriteAllText("D:\Code\xxx\xxx.lua", "-- test"…
在更换系统之后,可能会出现打开刚安装好的Unity,显示Unity Editor已停止工作,这时候我们考虑是系统win7的问题.可以在原系统上升级,也可以重新安装,升级.文中所涉及到的软件,可在右侧加群后询问下载. 1,安装系统:打开系统光盘 2.安装驱动 3.选择工具,选择升级为红框标注的SP1系统 4升级完成后,选择激活系统 5.安装Unity,即可正常启动…
Editor文档资料 Unity教程之-Unity Attribute的使用总结:http://www.unity.5helpyou.com/3550.html 利用unity3d属性来设置Inspector面板的特殊行为: http://www.360doc.com/content/15/1205/14/25502502_518083734.shtml --------------分隔线------------------ 一些比较常用的Editor功能我在之前的博客中也有提到过所以就不详细写…
Editor Style Viewer 在开发过程中,我喜欢编写一些辅助的Editor插件,方便在游戏开发过程进行调试. 下面是摘自Asset Store的一个查看Unity 默认GUI样式的小工具 插件链接:Editor Style Viewer https://www.assetstore.unity3d.com/en/#!/content/3282 预览 Editor Style Viewer源码 原理:遍历所有的GUI.skin,并显示其样式 using UnityEngine; usi…
需求 为Unity的Editor窗口添加右键菜单 实现代码 // This example shows how to create a context menu inside a custom EditorWindow. class MyGenericMenu extends EditorWindow { @MenuItem("Game/Open Window") static function Init () { var window = GetWindow (MyGenericMe…
1.首先定义一个需要控制数值的类,类中定义若干个变量 using UnityEngine;using System.Collections; using UnityEngine; using System.Collections; // This is not an editor script. public class MyPlayer : MonoBehaviour { public int Jump; void Update () { // Update logic here... } }…
今天在优化红点组件,笔者打算将红点id由10进制改为16进制处理,就打算将红点id字段由uint类型改成string类型,用于填写16进制的字符(因为在Inspector面板里,uint/int类型字段不能直接填写16进制表示的数字),且希望限制该字段的输入限制,仅限于填写0-9A-Fa-f等16进制字符串,但unity并没有提供任何PropertyAttribute类来限制字符输入,达到类似于as3 text组件的restrict效果.因此笔者自定义了一个RestrictAttribute类,…
在unity写了一个编辑类,基于iTweenpath插件,为了更方便的操作iTweenpath,顺便练习UnityEditor的操作,写了一个CreateiTweenPath,放在Editor文件夹中. using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEditor; public class CreateiTweenPath :EditorWindow { [Men…
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…
[InitializeOnLoad] 加上这个特性,并且在静态构造函数里写上内容.即可在Unity启动的时候自启动这个Editor脚本…
链接 http://blog.csdn.net/akof1314/article/details/53232981 http://forum.china.unity3d.com/thread-26890-1-1.html 原因 以 C# 源码形式放在 Unity 工程中,那么打印日志的时候,双击 Console 窗口里面的日志行信息,就会自动定位到 Visual Studio 所在的文件和行数. 但是,以 DLL 形式放在 Unity 工程的话,就无法快速定位打开所在的文件和行数. 解决 借助第…
SerializedObject SerializedObject.Update()更新所有序列化对象的值:SerializedObject.ApplyModifiedProperties()应用序列化对象的修改: 在继承自UnityEditor.Editor的类中,target属性和serializedObject属性经常别用到. 可以通过serializedObject属性访问target属性中的可序列化属性. 例如:serializedObject.FindProperty() Gizmo…
在我们做项目的过程中 经常会有预设中出现空的脚本 例如: 导致的原因是因为 脚本的丢失 现在我们来做一个检查工程中有空脚本的预设工具 老规矩直接上代码 放到工程就能用 using UnityEngine; using UnityEditor; using System.IO; using System.Collections.Generic; public class PrefabTool : EditorWindow { [MenuItem("Prefab Tool/Check Missing…
官方文档:https://unity3d.com/cn/learn/tutorials/topics/interface-essentials/unity-editor-extensions-menu-items 1.菜单栏菜单 [MenuItem("菜单名称")] public static void Method(){}// 需要执行的调用方法 2.可以在资源窗口右键显示 MenuItem("Assets/菜单名称", false, 61)] 3.可以在Proj…
使用Unity提供的工具类 UnityEditor.Selection public static GameObject activeGameObject public static UnityEngine.Object activeObject…
在日常的工作和研究中,当给我们的场景摆放过多的物件的时候,Hierarchy面板就会变得杂乱不堪.比如这样:    过多的层次结构充斥在里面,根层的物件毫无序列可言,整个层次面板显示非常的杂乱不堪,如果还有使用代码添加的物件,那就更加的惨不忍睹.里面的物件没有任何的规律可言(当然如果你们的美术有强迫症的话,也许会把物件分类,按规律排列的整齐,如果不是就惨了).如果费时费力的排列好里面的结构,过一段时间就又会变乱.    而如果要在杂乱的层次结构中找到我们想要的物体就需要费些体力和眼神了,就如同在…
http://www.cnblogs.com/zhaoqingqing/p/3944718.html 一些比较常用的Editor功能我在之前的博客中也有提到过所以就不详细写啦,今天参考了一下 麒麟子(Alex) 的博客,写的很全面,转载部分内容过来 EditorApplication 主应用程序类 这个类提供了许多变量的访问,同时提供了Save等方法. 比如,你可以新建一个编辑器脚本,在它的UPDATE函数里,进行记事,以做定时保存.从而避免不必要的损失. 这个类还提供了新建场景,打开项目等操作…
最近入门学习shader,语法倒没什么,有一个奇怪的问题,如果把编译平台从pc转换为android模式的话,如果你的shader 带 Normal Mapping 的 话,效果和android上的真机不一样. 上图: google 了一下,找到了解决方案: http://forum.unity3d.com/threads/solved-unity-editor-not-displaying-android-textures-properly.261607/ 在pc 转 android 模式的时候…
public class Test : UnityEditor.AssetModificationProcessor { private static void OnWillCreateAsset(string path){ //方法必须为static Debug.Log (path); } }…
//CopyComponent ublic static T CopyComponent<T>(T original, GameObject destination) where T : Component { Type type = original.GetType(); Component copy = destination.AddComponent(type); System.Reflection.FieldInfo[] fields = type.GetFields(); forea…
http://blog.csdn.net/husheng0/article/details/52568027…
写个脚本,把它挂在一个游戏对象上: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test_01 : MonoBehaviour { void Start() { } void Awake() { } void Update() { } void OnDisable() { } void Reset() { } } 此时,脚本前面是有激活对勾的,如图: 把脚本…
https://blog.csdn.net/e295166319/article/details/52370575 需要两个类:树节点类和界面实现类 1:树节点类(TreeNode) using UnityEngine; using System.Collections; using System.Collections.Generic; public class TreeNode { public enum TreeNodeType { Item, Switch } public string…
string path = EditorUtility.OpenFolderPanel("Load png Textures", "", ""); //打开文件夹 string[] files = Directory.GetFiles(path); //获取所有文件路径 Object[] os = new Object[] { AssetDatabase.LoadAssetAtPath(f2, typeof(UnityEngine.Sprite)…
Unity Editor下,可以在不改变原有布局的情况下扩展Inspect的界面. 在继承了Editor的类中,有两种实现方式: using UnityEditor; [CustomEditor(typeof(CustomClass))] public class CustomClassEditor : Editor { public override void OnInspectorGUI() { // 自定义代码 base.OnInspectorGUI(); // 自定义代码 } } 和 u…
Unity has some quirks about their inspector, so as a preface they are listed here: If you add a [Serializable] attribute to a class, Unity's Inspector will attempt to show all public fields inside that class. Any class extending Monobehaviour automat…
本文为孤月蓝风编写,转载请注明出处:http://fengyu.name/?cat=game&id=296 DiaQ是plyGame旗下的一款对话及任务系统.拥有可视化的对话及任务编辑器,能够很方便的处理对话及任务.但是官方文档却不给力,经过一般研究,终于会使用简单的对话系统了,分享给大家. 首先,你需要安装DiaQ插件,DiaQ有单独的,同时也被包含于plyGame中,至于哪里有的“卖”,请使用伟大的搜索引擎. 在安装DiaQ插件后,菜单栏的Windows中会出现DiaQ的菜单,Tools中会…